毕业设计(论文)基于AT89C51单片机的简易计算器设计.doc
《毕业设计(论文)基于AT89C51单片机的简易计算器设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于AT89C51单片机的简易计算器设计.doc(22页珍藏版)》请在三一办公上搜索。
1、引言计算器(Calculator)是微型电子计算机的一种特殊类型。它与一般通用计算机的主要区别在于程序输入方式的不同。计算器的程序一般都已经固定,只需按键输入数据和运算符号就会得出结果,很容易就能掌握。而一般计算机的程序可以根据需要随时改动,或重新输入新的程序。简易计算器主要用于加减乘除;科学计算器,又增添了初等函数运算(有的还带有数据总加、求平均值等统计运算)。现代电子计算器首次问世是1963年。那时的计算器是台式的,在美国波士顿的电子博览会上展出过。与计算机相比,它小巧玲珑,计算迅捷,一般问题不必事先编写复杂的程序。 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在
2、一块芯片上同时集成CPU、存储器、定时器计数器、并行和串行接口、看门狗、前置放大器、AD转换器、DA转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能机器人。随着社会需求,计算器也从原有单一的数字加减计算演变为复杂的多种运算。现在不在单一的在某一方面而是涉及到生活的方方面面.由于我对知识掌握的不够熟练,重点不够清楚,导致在重点与非重点处花费的时间不成比例,进度缓慢,这是设计没能全部完成的部分原因。目前只做到按键与显示的结合(即在显示器上可以显示数字键还有命令键
3、+-*/ =清零);加法子程序已经编写成功并严整无误,但在整体调试中未能圆满实现,本部分正在调试中。等调试成功后,其它运算子程序的问题将迎刃而解。目录引言1目录21.简易计算器的设计方案31.1硬件部分设计方案31.2软件部分设计31.3 硬件设计原理图42. 简易计算器部分电路设计52.1 AT89C51常用指令52.2 显示及显示接口112.3 键盘、液晶显示的组合接口182.4 算术逻辑运算处理213.总设计电路及调试24致谢30参考文献311.简易计算器的设计方案1.1硬件部分设计方案1 单片机部分 单片机以AT89C51来做为核心元器件。2 按键部分 方案一:采用4*4行列式键盘,分
4、别设定数字键和功能键,采用查询方式,每次有键按下时,先判断是实数字键还是功能键。但是这种方式采用了大量的I/O口线。 方案二:采用独立式按键。独立式按键接口电路配置灵活,软件结构简单. 但是在本实验中根据实际的需要19个按键,所以我们采用方案二。3 显示部分在单片机应用系统中,使用的显示器主要有LED(发光二极管显示器)、LCD液晶显示器以及CRT接口。方案一:使用8位LED数码管来做显示。LED显示器是是由发光二极管显示字段组成的显示器件,在单片机应用系统中通常使用的是七段LED,这种显示器有共阴极和共阳极两种,它具有成本低廉、配置灵活和单片机接口方便等特点。方案二:使用液晶显示器来显示。液
5、晶是介于固态和液态间的有机化合物,将其加热会变成透明液态,冷却后变成结晶的混浊固态。在电机的作用下,产生冷热变化,从而影响它的透光性,来达到显示的目的。LCD还具有以下几个优点(1)低压、微功耗(2)显示信息量大(3)长寿命(4)无辐射,无污染。1.2软件部分设计软件部分的设计思路是将整个程序划分为键盘扫描部分,显示部分,运算程序部分,清屏显示部分。对于其中的键盘扫描部分在编写时又分为动态扫描和静态扫描;运算程序部分包括加、减、乘、除四个子程序。软件流程大致如下:开始,然后是系统的初始化,进行键盘扫描,对扫描的键值进行判断(分为数字键和功能键),如果是数字键,执行数字键处理子程序,即显示数字并
6、将数值存储;如果是命令键,即先判断是否为清屏,如为清屏键,则执行清屏子程序,若为+-*/运算键则显示相应的符号并存储结果,若都不是则为=键,即要先判断上个符号位,然后调用对应的运算子程序运算,就可以得到需要的结果。1.3 硬件设计原理图简易计算器大致分为:单片机、液晶显示、键盘三大部分。因此,总的电路设计方案以单片机AT89C51来做为核心元器件,外围采用4*4行列式键盘作为输入,采用LCM1602液晶显示器来做输出控制部分单片机输入部分键盘输出部分液晶 图 1.1 硬件设计框图2. 简易计算器部分电路设计2.1 AT89C51常用指令AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(
7、FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1主要特性:与MCS-51 兼容4K字节可编程闪烁存储器,寿命:1000写/擦循环, 数据保留时间:10年 。全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I
8、/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 2 管脚说明:如图2.1 VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外
9、部下拉为低电平,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3
10、口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下所示:P3 口管脚 备选功能:P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪
11、烁编程和编程校验接收一些控制信号。图2.1 AT89C51芯片管脚图3. 单片机的复位:电路如图2.2所示.RST:复位输入,在RESET(图中表示为RST )输入端出现高电平时实现复位和初始化.。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。MCS-51RESMCS-51RES +5V +5V 图2.2 复位电路在振荡运行的情况下,要实现复位操作,必须使RES 引脚至少保持两个机器周期(24个振荡器周期)的高电平。CPU在第二个机器周期内执行内部复位操作,以后每一个机器周期重复一次,直至RES端电平变低。复位期间不产生ALE及PSEN信号。内部复位操作使堆栈指示器SP为07H,
12、各端口都为1(P0-P3口的内容均匀0FFH),特殊功能寄存器都复位为0,但不影响RAM的状态。当RES引脚返回低电平以后,CPU从0地址开始执行程序。图2.2(a)为加电自动复位电路。加电瞬间,RES 端的电位与Vcc相同,随着RC 电路充电电流的减小RES的电位下降,只要RST 端保持10毫秒以上的高电平就能使MCS-51单片机有效地复位,复位电路中的RC 参数通常由实验调整。当振荡频率选用6MHz时,C选22uF,R选1K,便能可靠地实现加电自动复位,若采用RC电路接斯密特电路的输入端,斯密特电路输出端接MCS-51和外围电路的复位端,能使系统可靠地同步复位。图2.2(b)为人工复位电路
13、。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效
14、。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。4振荡器特性:XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接
15、。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。5
16、.特殊功能寄存器MCS-51单片机内的锁存器、定时器、串行口数据缓冲器以及各种控制寄存和状态寄存器都是以特殊功能寄存器的形式出现的,它们分散地分布在内部RAM地址空间范围,(1)累加器A最常用的特殊功能寄存器,大部分单操作数指令的操作取自累加器,很多双操作数指令的一个操作数取自累加器。加、减、乘、除算术运算指令的运算结果都存放在累加器A或A、 B寄存器对中。指令系统中用A作为累加器的助记符。(2)B寄存器B寄存器是乘除法指令中常用的寄存器。乘法指令的两个操作数分别取自A和B ,其结果存放在A B寄存器对中。除法指令中,被除数取自A,除数取自B,商数存在放于A,余数存放于B。在其它指令中,B寄存
17、器可作为RAM中的一个单元来使用。(3) 程序状态字PSW程序状态字是一个8位寄存器,它包含了程序状态信息。此寄存器各位的含义参见图2-8,其中PSW1未用。其它各位说明如下: 表2.1 寄存器各位含义CYACF0RS1RS0OV-P CY(PSW7)进位标志在执行某些算术和逻辑指令时,可以被硬件或软件置位或清零。在布尔处理机中它被认为是位累加器,其重要性相当于一般中央处理机中的累加器A。 AC(PSW6)辅助进位标志当进行加法或减法操作而产生由低4位数(BCD码一位)向高4位数进位或借位时,AC将被硬件置位,否则就被清零。AC被用于BCD码调整。详见DA A指令。 F0(PSW5)用户标志位
18、F0是用户定义的一个状态标记,用软件来使它置位或清零。该标志位状态一经设定,可由软件测试F0,以控制程序的流向。 RS1,RS0(PSW4,PSW3)寄存器区选择控制位可以用软件来置位或清零以确定工作寄存器区。RS1,RS0与寄存器区的对应关系见表2-3。 OV(PSW2)溢出标志:当执行算术指令时,由硬件置位或清零,以指示溢出状态。当执行加法指令ADD时,位6向位7有进位而位7不向CY进位时,或位6不向位7进位而位7向CY进位时,溢出标志OV置位,否则清零。溢出标志常用于ADD和SUBB指令对带符号数作加减运算时,OV=1表示加减运算的结果超出了目的寄存器A所能表示的带符号数(2的补码)的范
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 AT89C51 单片机 简易 计算器 设计
链接地址:https://www.31ppt.com/p-3978641.html