基于89C52嵌入式计算器的研究与设计

基于89C52嵌入式计算器的研究与设计
基于89C52嵌入式计算器的研究与设计

福建电脑2012年第12期

基于89C52嵌入式计算器的研究与设计

程书伟,王冬星,崔金宝

(大庆师范学院黑龙江大庆163712)

【摘要】:以STC89C52单片机为核心,采用4×4矩阵键盘为输入模块,LCD1602液晶显示器为输出模块,采用PZ-ISP为烧写工具,研究与设计了一个嵌入式计算器。该计算器可以嵌入到其它控制模块如温度监测模块中进行算术运算,并将操作步骤和结果显示在LCD1602上,增加了控制模块的预警功能,提高了系统运行效率,具有较好的应用前景。

【关键词】:89C52、计算器、嵌入式

0.引言

随着社会的快速发展,计算器成为我们现代社会必不可少的一种电子产品,如何使其更加高效的为控制领域服务,成为其研究的一个热点。本文研究与设计的计算器加入了嵌入式概念,使其可以扩展到控制模块提高系统运行效率,增强了计算器的可使用性与扩展性。

1.系统整体设计

本文以STC89C52单片机为主控制器、以LCD1602为显示输出模块、4×4矩阵键盘为输入模块,研究与设计了一个嵌入式计算器,其整体设计如图1所示。

其中单片机的P0作为数据的输出端口输出数据到LCD1602液晶屏上,单片机的P2口作为其控制端口,用来控制LCD1602显示输出数据;单片机的P1口作为数据的输入端口,与按键相连,实现数据的输入[1]。

在系统设计过当中为了使硬件资源尽可能地被合理利用,系统模块按照以下原则进行设计:(1)尽量使用典型电路,使其与单片机最小系统容易搭接。

(2)设计完后尽量要留有相应的余地,以便于后期修改和二次开发。

(3)系统的各模块之间和软硬件间设计兼容性良好。

(4)器件选用具有一定的可靠性和抗干扰性,确保系统运行质量。

结合以上设计原则,系统软硬件的联合调试过程为首先对主函数进行初始化操作,然后依次对各个模块逐一进行软件调试,当每个模块调试都无错误后,再将模块依次被主函数调用中,最后完成整个软件的设计与调试。

2.系统硬件设计

在硬件设计过程中主要包含两个部分:第一部分指的是单片机中底层设计部分,一般包括对ROM、RAM的扩展,即存储器扩展;还有对8255A、8155以及其他功能器件的扩展也就是接口扩展。第二部分指的是各种用户功能模块设计,即上层设计部分,根据单片机系统所需功能的要求,设置相应的转换器、矩阵键盘、显示器等外部设备。

本嵌入式计算器硬件设计主要包括矩阵键盘和显示电路的设计。

2.1键盘电路设计

键盘是最常用的输入设备,是人机联系的输入纽带。对于单片机来说,一般有二种划分方法,按结构形式可分为非编码键盘和编码键盘。按照键盘与单片机的连接方式可分为独立式键盘与矩阵式键盘[2]。

编码键盘采用硬件电路产生键码,每按下一个键,键盘能自动生成键盘代码,键数较多,并具有去抖动功能。编码键盘的使用相对非编码键盘来说方便,但硬件比较复杂,我们日常计算机所使用的键盘,如PC机键盘都是编码键盘。非编码键

图1系统设计原理图

基金项目:黑龙江省教育厅科学技术研究项目资助"基于物联网的油泵温度监控研究"(12513001)。20

基于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

简易计算器系统设计

(此文档为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嵌入式操作系统。它是一个结构简单、功能完备和实时性很强的嵌入式操作系统内核。

嵌入式系统之基于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.360docs.net/doc/421892236.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.360docs.net/doc/421892236.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.360docs.net/doc/421892236.html,/copyleft/gpl.html. ** ** If you have questions regarding the use of this file, please contact ** Nokia at qt-info@https://www.360docs.net/doc/421892236.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总线功能的

基于89C52嵌入式计算器的研究与设计

福建电脑2012年第12期 基于89C52嵌入式计算器的研究与设计 程书伟,王冬星,崔金宝 (大庆师范学院黑龙江大庆163712) 【摘要】:以STC89C52单片机为核心,采用4×4矩阵键盘为输入模块,LCD1602液晶显示器为输出模块,采用PZ-ISP为烧写工具,研究与设计了一个嵌入式计算器。该计算器可以嵌入到其它控制模块如温度监测模块中进行算术运算,并将操作步骤和结果显示在LCD1602上,增加了控制模块的预警功能,提高了系统运行效率,具有较好的应用前景。 【关键词】:89C52、计算器、嵌入式 0.引言 随着社会的快速发展,计算器成为我们现代社会必不可少的一种电子产品,如何使其更加高效的为控制领域服务,成为其研究的一个热点。本文研究与设计的计算器加入了嵌入式概念,使其可以扩展到控制模块提高系统运行效率,增强了计算器的可使用性与扩展性。 1.系统整体设计 本文以STC89C52单片机为主控制器、以LCD1602为显示输出模块、4×4矩阵键盘为输入模块,研究与设计了一个嵌入式计算器,其整体设计如图1所示。 其中单片机的P0作为数据的输出端口输出数据到LCD1602液晶屏上,单片机的P2口作为其控制端口,用来控制LCD1602显示输出数据;单片机的P1口作为数据的输入端口,与按键相连,实现数据的输入[1]。 在系统设计过当中为了使硬件资源尽可能地被合理利用,系统模块按照以下原则进行设计:(1)尽量使用典型电路,使其与单片机最小系统容易搭接。 (2)设计完后尽量要留有相应的余地,以便于后期修改和二次开发。 (3)系统的各模块之间和软硬件间设计兼容性良好。 (4)器件选用具有一定的可靠性和抗干扰性,确保系统运行质量。 结合以上设计原则,系统软硬件的联合调试过程为首先对主函数进行初始化操作,然后依次对各个模块逐一进行软件调试,当每个模块调试都无错误后,再将模块依次被主函数调用中,最后完成整个软件的设计与调试。 2.系统硬件设计 在硬件设计过程中主要包含两个部分:第一部分指的是单片机中底层设计部分,一般包括对ROM、RAM的扩展,即存储器扩展;还有对8255A、8155以及其他功能器件的扩展也就是接口扩展。第二部分指的是各种用户功能模块设计,即上层设计部分,根据单片机系统所需功能的要求,设置相应的转换器、矩阵键盘、显示器等外部设备。 本嵌入式计算器硬件设计主要包括矩阵键盘和显示电路的设计。 2.1键盘电路设计 键盘是最常用的输入设备,是人机联系的输入纽带。对于单片机来说,一般有二种划分方法,按结构形式可分为非编码键盘和编码键盘。按照键盘与单片机的连接方式可分为独立式键盘与矩阵式键盘[2]。 编码键盘采用硬件电路产生键码,每按下一个键,键盘能自动生成键盘代码,键数较多,并具有去抖动功能。编码键盘的使用相对非编码键盘来说方便,但硬件比较复杂,我们日常计算机所使用的键盘,如PC机键盘都是编码键盘。非编码键 图1系统设计原理图 基金项目:黑龙江省教育厅科学技术研究项目资助"基于物联网的油泵温度监控研究"(12513001)。20

基于ARM的计算器设计课程设计

嵌入式系统应用课程设计 题目基于ARM的计算器设计 专业通信工程 班级2012级3班 学生姓名(学号)袁平20120343007 学生姓名(学号)黄飞20120343030 学生姓名(学号) 组长袁平 2015年06 月27日

设计要求 基本要求 以友善之臂开发板及QT为平台,实现多功能计算器的设计 能单独的进行简单的四则运算 扩展部分 能进行数的平方,开根号,及阶乘 界面要求简洁美观,容易用户操作 摘要 电子计算器作为计算工具,为人们的生活带来了很多的方便与实惠。随着科学技术的进步,尤其是电子工业技术的发展,计算器已经从先前的半导体技术实现到现在的广泛喜爱用高集成度芯片实现的多功能计算器,不管是白领办公室还是菜市场的小贩,计算器的出现让他们高效率的完成任务。计算器扮演了一个重要的角色。 本设计是用C++编写的,基于Qt图形用户界面应用程序框架的计算器。设计出的应用程序,实现了一定的计算功能。 关键字: Qt C++ 计算器

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

相关文档
最新文档