文档视界 最新最全的文档下载
当前位置:文档视界 › 基于嵌入式linux计算器的实现

基于嵌入式linux计算器的实现

基于嵌入式linux计算器的实现
基于嵌入式linux计算器的实现

课程设计报告

课程设计名称:嵌入式系统综合课程设计

课程设计题目:基于嵌入式linux计算器的实现

院(系):

专业:

班级:

学号:

姓名:

指导教师:

完成日期:

目录

第1章系统分析 (1)

1.1需求分析 (1)

1.2硬件分析 (1)

1.2.1 实验环境 (1)

1.3软件分析 (2)

1.3.1 操作系统简介 (2)

1.3.2 开发技术简介 (2)

第2章系统设计 (4)

2.1操作系统移植 (4)

2.2系统模块设计 (4)

2.3函数设计 (4)

2.4关键流程 (5)

2.4.1 系统主流程 (5)

2.4.2 功能按键流程图 (5)

第3章QT程序移植 (7)

3.1建立交叉编译环境 (7)

3.2Q T源文件的编译 (8)

3.3Q T应用的移植 (8)

第4章系统调试及运行 (9)

4.1调试分析 (9)

4.2结果分析 (10)

参考文献 (11)

附录 (12)

第1章系统分析

1.1 需求分析

课程设计内容和要求:

设计一个简单的计算器,能够进行加、减、乘、除等数学操作。

(1)利用嵌入式linux和Qt,在ARM9上实现。

(2)界面尽可能友好、美观。

这是一个简单的计算器软件,功能为加、减、乘、除等,在嵌入式设备上实现,使用方便,性能可靠,基于ARM内核的微处理器在市场上绝对处于领导地位,因此该类项目拥有庞大的市场。

1.2 硬件分析

将编写好的程序Makefile后,通过Vivi烧入到博创UP-Star2410开发板上,开机运行即可。

1.2.1 实验环境

实验环境是:win7下安装虚拟机,在虚拟机上安装linux(ubuntu11.10)开发板是:博创UP-Star6410,开发板。

软件资源:

(1)内核版本linux 2.6.21

(2)BootLoader:U-boot

(3)文件系统:Cramfs+Yaffs2

硬件资源:

(1)基于ARM1176JZF-S内核的SAMSUNG S3C6410处理器

(2)系统工作频率为533/667MHz

(3)256MB Nand Flash、8MB NorFlash

(4)256MB Mobile DDR RAM

(5)可外接3.5寸液晶屏或7寸液晶屏、可外接触摸屏

(6)1个主USB口、一个USB OTG口

(7)100M以太网口、一个USB串口接口

(8)JTAG接口

(9)总线和可复用资源扩展接口、多媒体支持AUDIO CODEC

(10)JOYSTICK按键,1个中断键,5个LED灯

1.3 软件分析

这次课设我们用的是Linux下的Ubuntu系统。Linux是一样自由和开放源代码的类Unix操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年1月5日首次发布。严格来说,术语Linux只表示操作系统内核本身,但通常采用Linux内核来表达该意思。Linux则常用来指基于Linux内核的完整操作系统。包括GUI组件和许多其他的工具。

Qt是一个跨平台的C++应用程序开发框架。广泛采用于开发GUI程序,这种情况下又称为部件工具箱。也可用于开发非GUI程序,比如控制台工具和服务器。

1.3.1 操作系统简介

Ubuntu是一个以桌面应用为主的GUN/Linux操作系统,其名来自非洲南部祖鲁语或科萨语,意思是人性。

Ubuntu是基于Debian发布版和GNOME桌面环境,与Debian的不同在于它每6个月会发布一个新版本,每2年发布一个LTS长期支持版本。普通的桌面版可以获得发布后18个月内的支持,标为LTS(长期支持)的桌面版可以获得更长时间的支持。

Ubuntu的目标在于为一般用户提供一个最新的同时又相当稳定的主要由自由软件构建而成的操作系统。

1.3.2 开发技术简介

Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开

发框架。它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器,具有下列一些优点:

1)优良的跨平台特性。

2)面向对象。

3)支持2D/3D图形渲染,支持OpenGL。

4)大量的开发文档。

5)XML支持。

Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,易于扩展,允许组件编程。2008年,奇趣科技被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言工具。2012年,Qt 被Digia收购。

基本上Qt同X-Window上的Motif、Openwin、GTK等图形界面库和Windows 平台上的MFC、OWL、VCL、ATL是同类型的。

第2章系统设计

2.1 操作系统移植

在电脑上安装Vmware Workstation虚拟机,下载Ubuntu11.04的安装镜像,通过镜像文件将Ubuntu11.04安装在Vmware Workstation工作平台下。进行安装就可以运行Ubuntu系统了。

2.2 系统模块设计

该软件主要分为四个大的功能模块:

(1)图形整合模块:将写成的文本框、按键整齐排列。

(2)数字输入模块:将输入的数字显示在文本框上。

(3)功能按键模块:将文本框上已经输出的数字进行处理,包括数字运算、屏幕清零等操作。

(4)临时存储模块:将文本框上的数字存入一个寄存器,可进行调用或者清零。

2.3 函数设计

该程序的设计主要函数有以下三个:

1)数字按键函数:构造按键类,对按键的点击可将数字传入文本框,供用户

进行操作。

2)功能按键函数:构造按键类,可以使不同的按钮拥有不同的功能,通过信

号槽对所有对象进行处理,包括数字存储和操作,给予点击信号量,使其

调用该函数。

3)按键整合函数:将文本框、数字按键、功能按键整齐排列、分区。

2.4 关键流程

这个软件里有几个模块比较关键,分别是对文本框的写入和读出、调用数据完成操作,通过槽函数的连接将按钮和文本框连接,调用各模块的函数对文本框内容进行操作,文本框可存储显示int 型和double 型的数据。

2.4.1 系统主流程

进入软件后,软件将显示经函数整理的计算器界面,点击数字按键,将会在文本框上显示相应数字,点击功能按键,会对数字进行运算或存储。系统主流程图如图2.1所示。 开始

操作数据

显示在文本框输入完成

将数据显示在

文本框上

输入数据

结束

图2.1 系统主流程图

2.4.2 功能按键流程图

单击任意功能按键均能对文本框内的数据进行操作,模式相同,但键位过多,所以以概括形式的流程图展示其工作过程。功能按键流程图如图2.2、图2.3所示。

开始

从文本框中

读取数据

对数据进行操作

将操作结果显

示在文本框中

结束

图2.2 功能按键流程图(一)

开始

从文本框中读

取第一段数据

清零文本框

在文本框中输

入第二段内容

并读取

对两段数据进

行操作

将操作结果显

示在文本框中

结束

图2.3 功能按键流程图(二)

第3章Qt程序移植

3.1建立交叉编译环境

在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码,而这种工具就是交叉编译器(cross compiler)。

(1)实验环境

交叉编译工具:arm-linux- 4.2.2

编译平台:ubuntu10.10

开发板类型:UP-Star6410

(2)搭建步骤

1)在/usr/local/下建立交叉编译器的安装目录arm:

sudo mkdir /usr/local/arm

2)将下载的交叉编译器包解压到/usr/local/arm目录下:

sudo tar jxvf cross-4.2.2-eabi.tar.bz2 -C /usr/local/arm/

3)解压成功后,修改PATH环境变量: sudo vim /etc/profile

在文件为加入交叉编译器arm-linux-所在的路径:

export PATH=$PATH:/usr/local/arm/4.2.2-eabi/usr/bin

然后退出vim。

4)更新一下配置文件/etc/profile:source /etc/profile

5)检测是否安装成功

现在就可以使用交叉编译器了,写一个测试程序helloworld,交叉编译下,看是否能在开发板上运行。

i. 交叉编译测试程序

arm-linux-gcc helloworld.c -o helloworld

ii.把生成的可执行文件helloworld复制到NFS的挂载目录下:

sudo cp ./helloworld /nfsboot

注意:本实验中开发板使用NFS挂载rootfs,nfsboot是NFS的挂载目录。

iii.在超级终端上运行:./helloworld,执行结果如图3.1。

图3.1 编译环境测试结果

3.2 Qt源文件的编译

进入源文件所在目录,输入qmake命令,再输入make调用已经生成的Makefile 文件,即可生成可以在开发板上执行的可执行二进制文件。

3.3 Qt应用的移植

1)安装UP-Star6410的USB驱动,将开发板的串口与电脑串口相连,打开

超级终端,创建连接名称为UP-Star6410,选择COM1,波特率设置为

115200,数据控制流为无,点击确定。

2)将开发板调为Nor Flash,打开电源,打开DNW软件。

3)格式化Nand Flash,然后对开发板进行Uboot、内核、开机画面和文件系

统的烧写。

4)进行Qt库的移植,用网络线将PC与开发板相连,在Ubuntu下搭建nfs

服务,输入将Ubuntu的ip设置成与开发板一个网段,再将开发板挂载到

Ubuntu上,把Qt文件下的lib下的所有文件拷贝到开发板上,并配置环

境变量。

5)关闭电源,将开发板调为Nand Flash,打开电源后进入开发板的Linux系

统,在命令行输入rz,右键点击超级终端,选择需要发送的Qt应用程序,点击发送。

6)在命令行输入./程序名称,即可打开该Qt程序。

卡西欧计算器用法

卡西欧财务计算器用法 1、开机ON 2、关机SHIFT+AC=OFF 3、设置与记忆(存储)清除 SHIFT+9=CLR Clear?清除吗? SETUP :EXE 清除设置请按EXE Memory :EXE 清除记忆(存储)请按EXE All :EXE 清除所有请按EXE Reset All?重新设置所有吗? [EXE]:Yes 选择“是的”,请按EXE [ESC]:Cancel 选择“取消”,请按ESC Clear Setup?清除设置吗? [EXE]:Yes 选择“是的”,请按EXE [ESC]:Cancel 选择“取消”,请按ESC Clear Memory?清除记忆(存储)吗? [EXE]:Yes 选择“是的”,请按EXE [ESC]:Cancel 选择“取消”,请按ESC Complete!更改工作完成! Press[AC]Key 请按AC 键 4、Replay 是计算器指令状态移动方向键上下左右均可移动,按左箭头指令光标跑到最右边,按右箭头指令光标跑到最左边。 5、Solve 不能按EXE 键执行的,都是按这个键来求解。 6、EXE 四则运算的执行、输入的确认 7、ESC 取消返回上一个界面当计算器没反应时都是按这个键 8、DEL 删除刚刚输入的一个数字 9、AC 清除刚刚输入的一行数字 10、∧乘方例如5乘5次方,输入5∧5即可 11、开x 次方 开方shift+∧= () 23x = 12、开机出现的就是加减乘除四则运算的模式COMP ,中间用其他模式后,如果需要用该模式计算,请直接按COMP 键调用这个模式。 13、计算器的屏幕小,提供的功能多,因此,往往一个键提供两个功能,一个功能直接按,另一个功能要按SHIFT 后再按该键才行。如55的计算,直接输入5,再按∧,再输入5,然后按EXE 即运算出结果。又如324的计算,按SHIFT ,然后按∧, 调出,向左移动方向键使光标到达x 的前面,输入3,右移光标到达根号里面,输入24,再按EXE 即运算出结果。乘几次方的后面如果不再连续做加减乘除运算,后面的反括号可以不加,反之一定要加,否则,55×6,就变成了55×6。

基于STC89C52的简易计算器设计..

福建电力职业技术学院课程设计课程名称:《智能仪器》 题目:基于STC89C52的简易计算器设计 专业班次: 姓名: 学号: 指导教师: 学期:2011-2012学年第2学期 日期:2012.2

目录 目录 1.引言 (1) 1.1 设计意义 (1) 1.2 设计任务和主要内容 (1) 2. 硬件设计 (2) 2.1 系统框图 (2) 2.2 最小系统 (2) 2.3 矩阵键盘 (3) 2.4 LCD1602 (4) 3. 软件设计 (5) 3.1矩阵键盘扫描原理 (5) 3.2 LCD1602的软件设计 (6) 3.3 主程序设计 (8) 3.4 源程序 (9) 3.5 调试结果 (9) 4. 设计小结 (9) 参考文献 (10) 附录 (10)

1.引言 随着社会的发展,人们生活水平的提高,单片机的应用越来越贴近生活了,人们常用单片机来实现一些简单的电子设计。计算器在人们的日常生活中是不可或缺的电子产品之一,目前市场上的计算器基本可以满足我们的日常需求,但它还在发展之中,我们要继续研究出更加强大的计算器。基于这样的理念,本设计采用单片机来设计简易计算器。本设计是以STC89C52为单片机,LCD为显示器设计的简易计算器,所设计的计算器将完成两位数的加、减、乘、除等功能。1.1 设计意义 通过本次课程设计,进一步掌握单片机知识,知道AT89S52单片机的原理、编程和各种功能的应用,了解简易计算器的工作原理,初步掌握计算器的硬软件设计、编写、调试和仿真,充分提高动手能力和排除故障的能力,同时通过课程设计加深我们对单片机的认识和兴趣,发挥我们的创新能力和动手能力。 1.2 设计任务和主要内容 本设计要制作的就是单片机于生活中最为常见的一种应用——简易计算器,以STC89C52单片机作为核心来进行的数字计算器模拟系统设计,可以完成计算器的键盘输入,进行加、减、乘、除两位数范围内的基本四则运算,并在LCD 上显示相应的结果。设计电路采用AT89C51单片机为主要控制电路,显示采用LCD静态显示,软件方面使用C语言编程,并用PROTUES仿真。 ①查阅相关文献资料,了解简易计算器程序的原理,能够运用C 语言进行简易计算器的设计与制作。 ②设计基于C 语言的计算器的控制系统硬件部分,画出控制系统硬件框图,设计简易计算器的控制系统的软件部分,首先根据简易计算器所需的具体功能设计好程序流程图,包括控制流程图、控制时序图、梯形图程序设计;根据设计的程序流程图写出代码,并进行代码编译的调试。 ③把设计好的软件代码烧入硬件中,然后进行总体调试,直至原先预定要实现的功能完全实现为止。 ④设计出系统方框图、单元图、原理总图;画出控制程序流程图,以及编写完整的程序

嵌入式计算机与通用计算机的区别与联系

1、 嵌入式计算机与通用计算机的区别与联系。 通用计算机具有一般计算机的基本标准形态,通过装配不同的应用软件,以基本雷同的的面目应用在社会的各种领域,其典型产品为PC 机;而嵌入式计算机,则是非通用计算机形态的计算机应用,它以潜入系统核心部件的形式隐藏在各种装置、设备、产品和系统中。因此,嵌入式计算机是一种计算机的存在形式,是从计算机技术的发展中分离出来的。 2、 嵌入式系统的定义。 以应用为中心,以计算机技术为基础,软/硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 3、 嵌入式系统的特点。 (1)“专用”计算机系统(2)运行环境差异很大(3)比通用PC 系统资源少(4)功耗低、体积小、集成度高、成本低(5)具有完整的系统测试和可靠性评估体系(6)具有较长的生命周期(7)需要专用开发工具和方法进行设计(8)包含专用调试电路(9)多科学知识集成系统 4、 嵌入式系统的组成结构(硬件系统和软件系统)。 软件层次:1.应用层 2.OS 层 3.BSP ; 硬件层次:1.电源管理 2.存储器 3.看门狗及复位电路 4.输入/输出接口及专用设备 5.人机交互设备、LCD 、触摸屏、键盘、鼠标。 5、 嵌入式系统的基本开发流程。 1.系统定义与需求分析阶段 2.方案设计阶段 3.详细设计阶段 4.软硬件集成测试阶段 5.系统功能性测试及可靠性测试阶段6、嵌入式系统的分类。 商用型和免费型(Linux 和μC/OS-Ⅱ) 6、 交叉开发环境。 交叉开发是指在一台通用计算机上进行软件的编辑编译,然后下载到嵌入式设备中运行调试的开发方法,他通常采用宿主机/目标主机模式。 交叉开发环境一般由运行于宿主机上的交叉开发软件、宿主机到目标机的调用通道组成。 7、 嵌入式系统的应用范围。 汽车、工业控制、通信设备、消费电子、商业终端、航空航天、军事需求。 8、 嵌入式操作系统有哪些状态,它们的关系 。 运行状态,就绪状态,等待状态 结束 9、 (1)uC/OS-II 嵌入式操作系统。它是一个结构简单、功能完备和实时性很强的嵌入式操作系统内核。(2)Windows CE 操作系统。内核较小,具有便携性、提供对微处理器的选择以及非强行的电源管理功能。(3)VxWorks 嵌入式实时操作系统。它内建了符合POSIX 规范的内存管理,以及多处理器控制程序,并且具有简明易懂的用户接口。(4)Linux 操作系统。它针对无MMU 的处理器而设计,可以利用功能强大的Linux 资源。 10、缩写 FLASH —闪存 RTOS —实时操作系统real time operating system

计算器的使用方法 计算器小知识

计算器的使用方法计算器小知识 普通的计算器如得力计算器与晨光计算器的一些普通功能相信大家都会用,大家经常用来加减乘除,快速计算结果。有些小小的功能键能事半功倍,而这些功能可能有很多人从未使用过,石家庄办公用品批发网小编找了些资料,又根据自己实际经验,把那些个功能键的作用及使用方法给整理了一下。 M+:把目前显示的值放在存储器中,是计算结果并加上已经储存的数,(如屏幕无"M"标志即存储器中无数据,则直接将显示值存入存储器)。 M-:从存储器内容中减去当前显示值,是计算结果并用已储存的数字减去目前的结果,如存贮器中没有数字,按M-则存入负的显示屏数字。 MS:将显示的内容存储到存储器,存储器中原有的数据被冲走。 MR:按下此键将调用存储器内容,表示把存储器中的数值读出到屏幕,作为当前数值参与运算。 MC:按下时清除存储器内容(屏幕"M"标志消除)。 MRC:第一次按下此键将调用存储器内容,第二次按下时清除存储器内容。 GT:GT=Grand Total 意思是总数之和,即按了等号后得到的数字全部被累计相加后传送到GT存储寄存器。按GT后显示累计数,再按一次清空。 MU(Mark-up and Mark-down键):按下该键完成利率和税率计算,详见例3; CE:清除输入键,在数字输入期间按下此键将清除输入寄存器中的值并显示"0",可重新输入; AC:是清除全部数据结果和运算符。 ON/C:上电/全清键,按下该键表示上电,或清除所有寄存器中的数值。 使用举例: 例1. 先按32×21,得数是672。然后按下“M+”,这样就可以把这个答案保存下来,然后我们按“8765-”,再按“MR”就可以把刚才的672调出来了,最后我们就可以得到答案8093。 例2. 在计算时使用记忆键能够使操作简便,例如计算5.45×2+4.7×3可以这样做:按5、.、4、5、×、2、=,会显示出10.9,按M+(记忆10.9),按4、.、7、×、3、=,会显示出14.1,按M+(记忆14.1),按MR 会显示出25(呼出记忆的两个数相加后的结果)。 例3、 MU(Mark-up and Mark-down键):按下该键完成利率和税率计算. 关于"MU"的加减乘除四项功能用法如下: 乘法A×B MU 相当于A+(A+B%) 用途1、知道本年数额与增长率,求预计明年数额。如今年销售收入100,预计增长率为2.5%,求明年数。按100 X 2.5 MU 即出结果为102.5 用途2、计算增值税,由不含税价计算含税价。如不含税销售收入3500元,计算含税销售收入,假定税率为17%,按3500 X 17 MU 即出结果4095 减法A-B MU 相当于(A-B)/B 的百分比 用途知道当年收入与去年收入求增长率。如今年3000,去年2800,计算增长率,按3000-2800 MU 即出结果7.142857 当然结果是百分比 除法A÷B MU 相当于A/(1-B%) 用途1、求成本为120,销售利润率为25%,求销售收入,按120÷25 MU 即出结果160 (看清了,不是成本利润率,成本利润率公式是A x(1+B%)) 用途2、计算消费税组成计税价格,由不含税计算含税价,如不含税1200,适用税率30%,计算含税,按

简易计算器系统设计

(此文档为word格式,下载后您可任意编辑修改!) 湖南文理学院芙蓉学院嵌入式系统课程设计报告 题目简易计算器系统设计 学生姓名刘胜凯 专业班级计算机科学与技术 指导老师娄小平 组员李阳、杨帆、曾家俊

目录 一、摘要 (3) 二、原理与总体方案 (3) 三、硬件设计 (6) 四、调试 (10) 五、测试与分析 (12) 六、心得体会 (14) 七、参考文献 (15) 八、附录 (15) 一、摘要 计算器一般是指“电子计算器”,是能进行数学运算的手持机器,拥有集成电路芯片。对于嵌入式系统,以其占用资源少、专用性强,在汽车电子、航空和工控领域得到了广泛地应用。本设计就是先通过C语言进行相应程序的编写然后在ADS中进行运行最后导入PROTUES进行仿真。最后利用ARM中的LPC2106芯片来控制液晶显示器和4X4矩阵式键盘,从而实现简单的加、减、乘、除等四则运算功能。 二、原理与总体方案 主程序在初始化后调用键盘程序,再判断返回的值。若为数字0—9,则根

据按键的次数进行保存和显示处理。若为功能键,则先判断上次的功能键,根据代号执行不同功能,并将按键次数清零。 程序中键盘部分使用行列式扫描原理,若无键按下则调用动态显示程序,并继续检测键盘;若有键按下则得其键值,并通过查表转换为数字0—9和功能键与清零键的代号。最后将计算结果拆分成个、十、百位,再返回主程序继续检测键盘并显示;若为清零键,则返回主程序的最开始。 电路设计与原理:通过LPC2106芯片进行相应的设置来控制LCD显示器。而通过对键盘上的值进行扫描,把相应的键值通过MM74C922芯片进行运算从而让ARM芯片接收。 2.1 系统整体流程图 2.2 程序运行流程图

嵌入式实验cortex-M3计算器

《嵌入式系统及应用》 实验报告 (2014— 2015学年第一学期) 题目:简易科学计算器 班级:电子科学与技术(1)班 姓名: 学号: 指导教师: 2015 年 1 月10 日

目录 1.设计内容 (3) 2重点要解决的问题及创新性; (3) 3.概要设计 3.1中断控制部分 (3) 3.2显示函数编写 (4) 3.3运算符函数编写 (6) 4.详细设计 (9) 4.1驱动程序头文件 (9) 4.2显示界面编写调试 (10) 4.3控件程序 (21) 4.3.1数字按钮对应函数 (21) 4.3.2运算符号对应函数 (26) 5.实验、调试及测试结果与分析。………………………………………31. 6.用户使用说明 (31) 7.结论 (32) 8.参考文献 (32)

一、设计内容: 本次设计主要以LM3S9B92开发板作为主要的开发平台,首先在这里对开发板的结构,和最重要的Cortex-M3微处理器,以及搭载的触摸屏液晶显示模块。设计一个简易计算器,能够实现以触摸界面的形式给出简易计算器的操作界面,能实现简单的加、减、乘、除操作,并且将运算步骤都呈现在显示屏上。 二、重点要解决的问题及创新性: 重点:1.设计计算器界面,将计算机控件布局到开发板上。 2.添加计算器控件的相应代码,使得计算器能够实现加减乘除基本功能。 3. 创新性:1.界面的创新 2.计算器实现的运算过程显示在结果输入框内,使得能够记录运算过程。 三、概要设计(说明设计系统的组成及主要实现方法,并采用流程图等图形方式形象化说 明); 软件设计基本包括了以下三个部分的内容:中断控制部分、显示部分和运算部分 3.1中断控制部分 中断控制功能的实现是在驱动程序当中,因为是与硬件功能连接十分紧密的一个能实现。但在实际应用中又与操作紧密相关,是软件设计中十分重要的部分。 其根本编程原理是由Cortex-M3提供了一套中断控制器所提供的API。中断控制器API 提供了一组函数,用来处理嵌套向量中断控制器(NVIC)。这些函数执行以下功能:使能和禁止中断、注册中断处理程序和设置中断的优先级。 同时在驱动文件中,重写了一些关于中断控制的函数。在操作中,对触屏操作时,会产生一个软件中断,然后对所进行操作后,例如触摸屏的触点X,Y值进行锁存。然后对锁存的数据进行读取,通过LCD显示相关的API函数,将得到的数值进行转化成对应函数操作,或显示,或运算等等。最后将相关操作的结果,反映到LCD显示屏。其流程图如图4.1所示。

(完整word版)计算机三级嵌入式知识点(2),推荐文档

计算机三级嵌入式考试知识点整理 (计算机三级嵌入式考试只考选择题和填空题) 1.嵌入式系统的设计的三个阶段之一:1. 设计 2.实现 3.测试 2.RISC架构的ARM微处理器的一般特点:1. 体积小、低功耗 2.大量使用寄 存器3. 寻址方式灵活简 3.通常所讲的交叉编译就是在X86架构的宿主机上生成适用于ARM架构的格式 (elf)的可执行代码 4.Boot Loader阶段1所完成的步骤的是:1. 硬件设备初始化 2. 拷贝 Boot Loader的阶段2到RAM空间中3. 设置堆栈 5.ARM的7种运行状态之一:1. 快中断状态2. 中断状态3. 无定义状态4.管 理状态5.快速中断状态6.系统状态7.用户状态 6.命令可以把server的/tmp mount到client的/mnt/tmp并且是: mount-o ro server:/tmp/mnt/tmp 7.哪个GUI是由中国人主持的一个自由软件项目:MinuGUI 8.嵌入式图形用户接口(GUI)的主要特点:1. 运行时占用的系统资源少 2.模 块化结构,便于移植和定制3.可靠性高 9.RISC指令系统特点的是:1. 指令长度固定,指令种类少2.设置大量通用 寄存,访问存储器指令简单3. 选取使用频率较高的一些简单指令 10.通常所说的32位微处理器是指CPU字长为32位 11.在嵌入式软件交叉调试过程中,宿主机与目标机之间的连接与通信方式有:1. 串口2.并口3.网络4.JTAG 12.ADD R0,R1,[R2]属于寄存器间接寻址 13.ADD R0,R0,#1属于立即寻址 14.数据字越长则精度越高 15.典型的计算机系统结构是冯诺依曼体系结构 16.将传统的计算机系统芯片化,是嵌入式系统诞生后的∑发展模式发展模式 17.RISC指令系统特点的是:1. 大量使用寄存器2.采用固定长度指令格式3. 使用单周期指令4.寻址方式多 18.与通用操作系统相比嵌入式操作系统还必须具有的特点是:1. 强稳定性, 弱交互性2. 较强实时性 19.嵌入式系统产品:1. PDA 2.ATM机 3. 机顶盒 20.开源的嵌入式操作系统的是嵌入式linux 21.虚拟文件系统的是vfs 22.嵌入式系统通常执行特定功能 23.在嵌入式产品需求分析阶段完成的任务是操作系统和硬件选型 24.ARM处理器异常工作模式的是1. 快速中断模式2. 未定义模式 3. 数据访问 终止模式 25..嵌入式软件开发与通用软件开发增加了代码固化环节 26.嵌入式系统调试方式中不占用系统资源的调试方式是ICE在线仿真器 27.ARM汇编程序中实现程序跳转的方式使用跳转指令 28.ADD R0,R1,[R2]中的第二操作数属于寄存器间接寻址方式 29.烧写到FLASH里的是.bin格式的文件 二、填空题 1.ARM内核有(T)(D)(M)(I)四个功能模块。

嵌入式--计算器--实验报告

计算器设计实验报告 一、实验设计主要分工 04009320 文斌:算法设计,LCD显示。 04** 张希:界面(按钮控件)设计,文件内容读取。 共同调试、完善设计。 二、程序设计实现功能效果 (1)支持整数、小数基本加减乘除运算; (2)有优先级的判别计算。优先级由高到低一次为括号运算、乘除运算、加减运算。(3)支持键盘输入和触摸屏输入; (4)能读取指定目录下文本内容(内容为计算表达式)并计算得出结果,将内容和结果显示在LCD上。 程序任务开始后,等待键盘或触摸屏的输入。输入键有0~9数字键、+-*/()运算符、del退格键、clear清屏键、read读指定目录文本内容并计算键、enter'='键、‘.’小数点键。 每当有字符输入时,触摸屏相应键显示“AAA”,100ms后恢复原相应按键符号,同时LCD 屏幕上显示相应字符。当输入'del'键时,屏幕显示去掉最后一位字符。当输入'='号后,得出计算结果,结果显示于表达式的下一行。若是除零错误,则结果显示为“/0ERROR!”。若有非法字符(触摸点不能识别为设计按键符则视为非法字符),则结果输出为“Syntax Error!!”。若表达式有运算符连续输入,则忽略前面的运算符,只取最后一位运算符计算,正常显示数字结果。当输入'clear'键时,情况显示区域。当输入'read'键时,从指定目录文本文件中读取表达式并计算。将表达式内容和计算结果显示在LCD上。 三、程序算法实现 1、计算算法 首先将输入的0~9数字、+-*/()运算符的内容存储于一个全局变量cal[number]中, 表达为中缀表达式。用void str2repol()函数,将输入字符串cal[number]转换成逆波 兰表达式并存于全局数组char repol[maxs]中。str2repol()函数中缀表达式转成逆波兰 后缀表达式算法如下: (1)首先构造一个运算符栈stack[maxs],此运算符在栈内遵循越往栈顶优先级越高的 原则。

嵌入式系统之基于QT的简单计算器

嵌入式系统之基于Q T的 简单计算器 The pony was revised in January 2021

嵌入式系统课程设计报告 题目:基于QT的简单计算器 专业:计算机科学与技术 班级: 姓名: 学号: 指导老师: 日期:2012-12-26 第一章前言 设计背景 计算器(calculator;counter)一般是指“电子计算器”,计算器是能进行数学运算的手持机器,拥有集成电路芯片,其结构简单,比现代电脑结构简单得多,可以说是第一代的电子计算机(电脑)。计算器这一小小的程序机器实际上是从计算机中割裂出来的衍生品,虽然功能较单一,但因其操作模式的方便快捷和价格的低廉,携带方便等特点,已经被广泛应用于工程、学习、商业贸易等日常生活中,极大的方便了人们对于数字的整合运算,成为人们生活和办公中的必备品之一,深得使用者的青睐。

设计目的 本程序是基于linux下的嵌入式开发,所用软件为QT Creator,程序虽然简单,但是通过本程序的设计,可以进一步了解嵌入式系统开发工具以及熟悉linux环境下的常用命令,为以后进入嵌入式领域打下一定的基础。 通过该计算器程序软件的设计,培养独立思考、综合运用所学有关相应知识的能力,更好地巩固《C++程序语言设计》和《高级程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,体验理论与实践相结合的过程。 第二章功能需求分析 功能描述 本次设计的计算器在功能上大致与Windows系统自带的计算器程序相似,对于所设计的科学计算器,其功能大致为可以进行加(+)、减(-)、乘(*)、除(/)、简单算术计算。由于接触QT时间还不太久,所以目前只能简单地实现这些功能,相信随着以后逐步的了解,本程序将实现更多的功能。 第三章开发工具简介 QT简介 由于本次设计的小程序是用QT Creator所设计的,所以我觉得有必要先介绍下QT 开发工具的背景。

嵌入式计算机与通用计算机的区别与联系

1、。 通用计算机具有一般计算机的基本标准形态,通过装配不同的应用软件,以基本雷同的的面目应用在社会的各种领域,其典型产品为PC机;而嵌入式计算机,则是非通用计算机形态的计算机应用,它以潜入系统核心部件的形式隐藏在各种装置、设备、产品和系统中。 因此,嵌入式计算机是一种计算机的存在形式,是从计算机技术的发展中分离出来的。 2、嵌入式系统的定义。 以应用为中心,以计算机技术为基础,软/硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 3、嵌入式系统的特点。 (1)“专用”计算机系统 (2)运行环境差异很大 (3)比通用PC系统资源少 (4)功耗低、体积小、集成度高、成本低 (5)具有完整的系统测试和可靠性评估体系 (6)具有较长的生命周期 (7)需要专用开发工具和方法进行设计 (8)包含专用调试电路 (9)多科学知识集成系统 4、嵌入式系统的组成结构(硬件系统和软件系统)。 软件层次:1.应用层2.OS层3.BSP;

硬件层次:1.电源管理2.存储器3.看门狗及复位电路4.输入/输出接口及专用设备5.人机交互设备、L CD、触摸屏、键盘、鼠标。 5、嵌入式系统的基本开发流程。 1.系统定义与需求分析阶段 2.方案设计阶段 3.详细设计阶段 4.软硬件集成测试阶段 5.系统功能性测试及可靠性测试阶段 6、嵌入式系统的分类。 商用型和免费型(Linux和μC/OS-Ⅱ) 6、交叉开发环境。 交叉开发是指在一台通用计算机上进行软件的编辑编译,然后下载到嵌入式设备中运行调试的开发方法,他通常采用宿主机/目标主机模式。 交叉开发环境一般由运行于宿主机上的交叉开发软件、宿主机到目标机的调用通道组成。 7、嵌入式系统的应用范围。 汽车、工业控制、通信设备、消费电子、商业终端、航空航天、军事需求。 8、嵌入式操作系统有哪些状态,它们的关系。 运行状态,就绪状态,等待状态 运行 结束 9、常用的嵌入式操作系统。等待就绪新进程 (1)uC/OS-II嵌入式操作系统。它是一个结构简单、功能完备和实时性很强的嵌入式操作系统内核。

计算器隐藏功能

所有隐藏模式调出前请先进入异常模式: 注:【】代表注释 ( )代表第二功能键 首先打开计算器电源(ON) 1. shift 2. + (Pol) 3. 1 4. shift 5. ")" ( , ) 6. 0 7. ) 【前7步最后显示为"Pol(0,1)"】 8. = 9. 狂按分数线,直到按到顶不动为止【似乎是7到8个】 10. 按= (显示Syntax ERROR 不要管它), AC,左 11. 1 12. 幂【在方向键下面,就是X上面有个小白框的键】 13. = 14. AC 15. 向上键 16. AC 17. 向左键三次 18. DEL【删掉1,出现“r=1,φ=0”】 19. 【光标在最前面】按一下分数线 20. 分数线上面输入1,下面也输入1 【其实不需要一定要是1,只要分子分母一样就可以了】 21. = 22. AC 此时,已是异常模式,所有隐藏模式的前提 进入异常模式后就可以实行升级了(异常模式的界面和初始模式一模一样,如何鉴定?——随便输入一个运算,如“1+2”按 = ,如果没有显示结果,那你就成功进入异常模式啦,当然要想看到结果的话就按“S<=>D”。。。) CMPLX模式(复数计算模式): 接下刚刚进的异常模式: 注:【】代表注释 1. Ans、Ans、Ans、Ans、Ans、Ans、Ans、Ans、sin(、sin(、sin(、…… 【就是按8下“Ans”键,然后无数下“sin(”键直到出现 Syntax ERROR 不要管它】 2. 按“AC” 【如果屏幕变暗为正常现象,请手动调节亮度】 3. 按SHIFT+9(CLR)+1(Setup)+=(Yes) 按AC 然后按 SHIFT+9(CLR)+2(Memory)+ =(Yes) 按AC 4. 打出“r”,具体方法就是按“根号” + “根号” + “根号” + “根号” + “根

嵌入式系统之基于QT的简单计算器

嵌入式系统课程设计报告 题目:基于QT的简单计算器 专业:计算机科学与技术 班级: 姓名: 学号: 指导老师: 日期:2012-12-26 第一章前言 设计背景 计算器(calculator;counter)一般是指“电子计算器”,计算器是能进行数学运算的手持机器,拥有集成电路芯片,其结构简单,比现代电脑结构简单得多,可以说是第一代的电子计算机(电脑)。计算器这一小小的程序机器实际上是从计算机中割裂出来的衍生品,虽然功能较单一,但因其操作模式的方便快捷和价格的低廉,携带方便等特点,已经被广泛应用于工程、学习、商业贸易等日常生活中,极大的方便了人们对于数字的整合运算,成为人们生活和办公中的必备品之一,深得使用者的青睐。 设计目的 本程序是基于linux下的嵌入式开发,所用软件为QT Creator,程序虽然简单,但是通过本程序的设计,可以进一步了解嵌入式系统开发工具以及熟悉linux环境下的常用命令,为以后进入嵌入式领域打下一定的基础。 通过该计算器程序软件的设计,培养独立思考、综合运用所学有关相应知识的能力,更好地巩固《C++程序语言设计》和《高级程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,体验理论与实践相结合的过程。

第二章功能需求分析 功能描述 本次设计的计算器在功能上大致与Windows系统自带的计算器程序相似,对于所设计的科学计算器,其功能大致为可以进行加(+)、减(-)、乘(*)、除(/)、简单算术计算。由于接触QT时间还不太久,所以目前只能简单地实现这些功能,相信随着以后逐步的了解,本程序将实现更多的功能。 第三章开发工具简介 QT简介 由于本次设计的小程序是用QT Creator所设计的,所以我觉得有必要先介绍下QT开发工具的背景。 Qt是一个1991年由奇趣科技开发的跨平台C++图形界面应用程序开发框架。它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。Qt是面向对象语言,易于扩展,并且允许组件编程。 QT所具有的优势是:优良的跨平台特性,Qt支持下列操作系统: Microsoft Windows 95/98,Microsoft Windows NT,Linux,Solaris,SunOS,HP-UX,Digital UNIX (OSF/1,Tru64),Irix,FreeBSD,BSD/OS,SCO,AIX,OS390,QNX 等等。 面向对象:Qt 的良好封装机制使得Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt 提供了一种称为signals/slots 的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。 丰富的API:Qt 包括多达250 个以上的C++ 类,还提供基于模板的collections,serialization,file,I/O device,directory management,date/time 类。甚至还包括正则表达式的处理功能。支持2D/3D 图形渲染,支持OpenGL大量的开发文档。 第四章详细设计过程 开发环境的搭建 本次所用系统环境为Ubuntu LTS,内核为Ubuntu搭建QT环境大致过程为: 1.安装g++,ubuntu默认是不带g++的,如果不安装的话,后面是无法进行桌面版的qt应用程序进行编译的,在终端中执行以下命令: sudo apt-get install g++ 2. Qt桌面版的安装 3.安装arm-linux-gcc (配置环境变量gedit /.bashrc 添加路径 export PATH=$PATH:/opt/FriendlyARM/toolschain/) 使配置文件立即生效:source /.bashrc或者注销logout 最好重启

计算机三级嵌入式知识点汇总

一、嵌入式系统开发的基础知识 1.嵌入式系统的特点、分类、发展与应用,熟悉嵌入式系统的逻辑组成。 (1)特点: 专用性 隐蔽性(嵌入式系统是被包装在内部) 资源受限(要求小型化、轻型化、低功耗及低成本,因此软硬件资源受到限制) 高可靠性(任何误动作都可能会产生致命的后果) 软件固化(软件都固化在只读存储器ROM中,用户不能随意更改其程序功能) 实时性 (2)逻辑组成 硬件:1)处理器(运算器、控制器、存储器) 目前所有的处理器都是微处理器中央处理器(CPU)和协助处理器(数 字信号处理器DSP、图像处理器、通信处理器) 2)存储器(随机存储器RAM和只读存储器ROM) RAM分为动态DRAM和静态SRAM两种。DRAM电路简单、集成度高、功耗小、成本低,但速度稍慢慢;SRAM电路较复杂、集成度低、 功耗较大、成本高,但工作速度很快,适合用作指令和数据的高速缓冲 存储器 RAM当关机或断电时,其中的信息都会消失,属于易失性存储器 ROM属于不易失性存储器。分为电可擦可编程只读存储器(存放固件)和闪速存储器(Flash ROM简称内存)。内存的工作原理:在低 压下,存储的信息可读但不可写,这类似于ROM;在较高的电压下,

所存储的信息可以更改和删除,这有类似于RAM。 3)I/O设备与I/O接口 4)数据总线 软件 (3)分类 按嵌入式系统的软硬件技术复杂程度进行分类: 1)低端系统采用4位或8位单片机,在工控领域和白色家电领域占主导地 位,如计算器、遥控器、充电器、空调、传真机、BP机等。 2)中端系统采用8位/16位/32位单片机,主要用于普通手机、摄像机、录 像机、电子游戏机等。 3)高端系统采用32位/64位单片机,主要用于智能手机、调制解调器、掌上 计算机、路由器、数码相机等。 (4)发展 20世纪60年代初,第一个工人的现代嵌入式系统(阿波罗导航计算机) 20世纪60年代中期,嵌入式计算机批量生产 20世纪70年代,微处理器出现 20世纪80年代中期,外围电路的元器件被集成到处理器芯片中,昂贵的模拟电路元件能被数字电路替代 20世纪90年代中期SOC出现,集成电路进入超深亚微米乃至纳米加工时代2.嵌入式系统的组成与微电子技术(集成电路、EDA、SoC、IP核等技术的作用和发展)(1)集成电路IC 集成电路的制造大约需要几百道工序,工艺复杂。集成电路是在硅衬底上制作而成的。硅衬底是将单晶硅锭经切割、研磨和抛光后制成的像镜面一样光滑的圆 形薄片,它的厚度不足1mm,其直径可以是6、8、12英寸甚至更大这种硅片称为

嵌入式实验之多功能计算器的实现

/**************************************************************************** ** ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@https://www.docsj.com/doc/ca10399618.html,) ** ** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial Usage ** Licensees holding valid Qt Commercial licenses may use this file in ** accordance with the Qt Commercial License Agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and Nokia. ** ** GNU Lesser General Public License Usage ** Alternatively, this file may be used under the terms of the GNU Lesser ** General Public License version 2.1 as published by the Free Software ** Foundation and appearing in the file LICENSE.LGPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU Lesser General Public License version 2.1 requirements ** will be met: https://www.docsj.com/doc/ca10399618.html,/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Nokia gives you certain additional ** rights. These rights are described in the Nokia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3.0 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU General Public License version 3.0 requirements will be ** met: https://www.docsj.com/doc/ca10399618.html,/copyleft/gpl.html. ** ** If you have questions regarding the use of this file, please contact ** Nokia at qt-info@https://www.docsj.com/doc/ca10399618.html,. ** $QT_END_LICENSE$ ** ****************************************************************************/ #include #include

单片机课程设计——计算器设计

目录 一、设计总绪 (2) 1.1设计思想 (2) 1.2设计说明 (3) 1.3关键词:矩阵键盘,单片机,数码管显示,汇编语言 (3) 1.4设计目的 (3) 1.5设计要求 (4) 二、设计方案 (5) 2.1硬件电路设计方案 (5) 2.1.1基本结构 (5) 2.1.2系统框架图 (5) 2.1.3工作流程图 (6) 2.1.4单片机主控制模块 (7) 2.2系统功能描述 (9) 三、各模块功能介绍 (10) 3.1键盘输入模块 (10) 3.1.1键盘分布图 (10)

3.1.2工作原理 (11) 3.2运算控制模块 (11) 3.3显示模块 (12) 3.4振荡电路模块 (13) 四、仿真电路 (14) 仿真运行结果 (14) 五、调试过程总结 (17) 附录: (18) 参考文献: (18) 源程序代码 (19) 一、设计总绪 1.1设计思想 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技

术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加以完善。计算机在人们的日常生活中是比较常见的电子产品之一。可是它还在发展之中,以后必将出现功能更加强大的计算机,基于这样的理念,本次设计是用AT89c51单片机、LCD显示器、控制按键为元件来设计的计算器。利用此设计熟悉单片机微控制器及汇编语言编程,对其片资源及各个I/O端口的功能和基本用途的了解。掌握应用程序开发环境,常用的LCD显示器的使用方法和一般键盘的使用方法 此设计是基于单片机技术的简易计算器的方案,本次设计所提出的一种基于单片机技术的简易计算器的方案,采用具有数据处理能力的中央处理器CPU,随机存储器ROM,多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统——单片机,配以汇编语言编写的执行程序,能更好的解决计算机计算的问题,随着数字生活的到来,单片机在生活中越来越重要,它能将大量的逻辑功能集成与一个集成电路中,使用起来十分方便。 1.2设计说明 本次课程设计讨论了单片机技术的计算器构思,设计方案,工作原理,主要系统包括单片机80C51,排阻RESPACK—8,开关,六位数码管显示器等,主要组成部分包括:键盘输入模块,运算模块,控制模块,显示模块。通过键盘输入数值,单片机进行运算后在数码管显示出结果。 1.3关键词:矩阵键盘,单片机,数码管显示,汇编语言 1.4设计目的

基于嵌入式linux计算器的实现

沈阳航空航天大学 课程设计报告 课程设计名称:嵌入式系统综合课程设计 课程设计题目:基于嵌入式linux计算器的实现 院(系): 专业: 班级: 学号: 姓名: 指导教师: 完成日期:

沈阳航空航天大学课程设计报告 目录 第1章系统分析 (1) 1.1需求分析 (1) 1.2硬件分析 (1) 1.2.1 实验环境 (1) 1.3软件分析 (2) 1.3.1 操作系统简介 (2) 1.3.2 开发技术简介 (2) 第2章系统设计 (4) 2.1操作系统移植 (4) 2.2系统模块设计 (4) 2.3函数设计 (4) 2.4关键流程 (5) 2.4.1 系统主流程 (5) 2.4.2 功能按键流程图 (5) 第3章QT程序移植 (7) 3.1建立交叉编译环境 (7) 3.2Q T源文件的编译 (8) 3.3Q T应用的移植 (8) 第4章系统调试及运行 (9) 4.1调试分析 (9) 4.2结果分析 (10) 参考文献 (11) 附录 (12)

第1章系统分析 1.1 需求分析 课程设计内容和要求: 设计一个简单的计算器,能够进行加、减、乘、除等数学操作。 (1)利用嵌入式linux和Qt,在ARM9上实现。 (2)界面尽可能友好、美观。 这是一个简单的计算器软件,功能为加、减、乘、除等,在嵌入式设备上实现,使用方便,性能可靠,基于ARM内核的微处理器在市场上绝对处于领导地位,因此该类项目拥有庞大的市场。 1.2 硬件分析 将编写好的程序Makefile后,通过Vivi烧入到博创UP-Star2410开发板上,开机运行即可。 1.2.1 实验环境 实验环境是:win7下安装虚拟机,在虚拟机上安装linux(ubuntu11.10)开发板是:博创UP-Star6410,开发板。 软件资源: (1)内核版本linux 2.6.21 (2)BootLoader:U-boot (3)文件系统:Cramfs+Yaffs2 硬件资源: (1)基于ARM1176JZF-S内核的SAMSUNG S3C6410处理器 (2)系统工作频率为533/667MHz (3)256MB Nand Flash、8MB NorFlash (4)256MB Mobile DDR RAM

计算机三级嵌入式系统开发技术真题(带答案)

操作题(一) 电动汽车充电桩(示意图如图3-1所示) 以S3C2410芯片为核心,并外加其他功能电路来进行设计,其基本功能描述如下:a、充电桩支持2种充电方式,一种是固定金额方式,如:充300元的电能。那么,所充电能的金额等于300元后自动停止充电;另一种是随机充电,即:随时按"停止"键来停止充电,若未按"停止"键,则电池充满后也会自动停止充电。 b、支持现金和IC卡付费。IC卡是预付费卡,金额不足将报警。 c、能够通过RS-485总线与后台结算服务器连接,传递结算信息。 d、用LCD显示器来显示被充电电池的电量情况,并显示充电时间、金额等信息。根据上述功能要求的描述,请完善下面的叙述(程序)和回答有关的问题。(完善程序或回答问题所需的寄存器格式见题后附录)。 1)充电桩控制器设计时,需设计一个键盘,键盘中应包含0~9数字键及"切换"、"启动"、"停止"等3个命令键。其键盘接口设计成4×4的阵列(按键排列示意如图3-2所示)。图3-2中的键盘接口电路中选用GPE4~GPE7来输出键盘行扫描信号,选用GPE0~GPE3来输入键盘列信号。软件设计时设计者自行设计键盘扫描函数,请你补充

//**KEYOUTPUT是键盘扫描时的输出地址,KEYINPUT是键盘读入时的地址 #defineKEYOUTPUT (*(volatile INT8U *)0x56000044) //0x56000044是GPE端口数据寄存器的地址 #define KEYINPUT (*(volatile INT8U *)0x56000044) INT16U ScanKey() { INT16U key=0xFFFF; INT16U i; INT8U temp=0xFF,output; //仅初始化GPE4~GPE7为输出 rGPECON= ((rGPECON & 0xFFFF00FF) | (1) ); //仅初始化GPE0~GPE3为输入 rGPECON= rGPECON &(2); // rGPECON是对应GPE端口控制寄存器的变量 for (i=(3); i<= 128; i<<=1) //循环扫描键盘,看是否有按键按下 { output|= 0xFF; output&= (~i); //键盘行信号求反 KEYOUTPUT= output; //通过GPE端口数据寄存器输出行信号 temp= KEYINPUT; //通过GPE端口数据寄存器读列信号,该列无键按下时列信号是1 if((temp&0x0F)!= (4))//判断是否有键按下 { key = (~i); key <<= 8; //变量key中存储键码值,行信号左移到高8位 key |= temp|0xF0; //列信号存于变量key的低8位中,无用位置1 return (key); //返回键码值 } } return 0xFFFF; } 上面的键盘扫描函数返回的是键码值,程序中循环(5)次来扫描所有键盘行,若所有行均无键按下时,返回的键码值应为:(6)。若有按键按下,则返回该键对应的键码值。例如:若按下的是键盘中"8"键,则函数返回值为:(7),若按下的是键盘中"启动"键,则函数返回值为:(8)。 (2)IC卡读写电路设计时,选用IC卡读写模块通过I2C总线接口与S3C2410连接,设计时利用S3C2410芯片内部的专用I2C总线引脚,即GPE端口的(9)引脚和 (10)引脚连接到IC卡读写模块的I2C总线引脚SDA和SCL上。那么,相关驱动程序中需要用语句:rGPECON=(rGPECON|0xA0000000)& (11)来初始化GPE端口相关引脚为I2C总线功能的

相关文档
相关文档 最新文档