基于AT89C51的十进制计算器设计
引言
本文引用地址:http://www.amcfsurvey.com/article/256371.htm本系统采用AT89C51 单片机作为控制器,用来实现实现四位数的“+”,“-”,“*”,“/”运算,运算结果通过数码管显示,并具有有清零功能。AT89C51 具有如下特点:40 个引脚,4k BytesFlash 片内程序存储器,128 bytes 的随机存取数据存储器(RAM),32 个外部双向输入/ 输出(I/O)口,5 个中断优先级2层中断嵌套中断,2 个16 位可编程定时计数器,2 个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
1 总体设计方案
1.1 系统组成与工作原理
本系统以51 单片机为主控核心,与矩阵键盘、晶振、LED 显示管模块一起组合而成。其工作过程为:首先存储单元初始化,显示初始值和键盘扫描,判断按键位置,得出按键值,单片机则对数据进行储存与相应的处理转换,之后送入数码管动态显示。将运算结果送入数码管动态显示。本设计只能进行结果不超过四位数的运算,其功能如下:
(1)数字键“0”到“9”用数码管显示。
(2)加法运算: 加数与被加数均不能超过9999,加法最终结果不能超过9999。
(3)减法运算: 减法运算正常逻辑为大的数值减去小的数值,本计算器亦如此,只能进行正常逻辑的运算,如为小的数值减去大的数值,则将得到的负数与535 相加,得到相应的结果,即如果想进行小数减大数的运算,则把得到的结果减去535 即得到负数的正确结果。
(4)乘法运算: 与上述方法一样,计算结果不能超出9999,如溢出则显示结果只有后三位。
(5)除法运算: 除数与被除数均不能超过9999,计算结果只显示整数部分。
(6)等于键: 只有按下等于键才能将运算结果显示出来,否则一直显示上一个数。
(7)清零功能:程序不稳定或出现错误时,运用清零键回到初始状态,也可用复位键清零。
2 系统硬件设计
2.1 系统硬件总体设计
本系统由键盘矩阵、LED 显示管、这几个部分组成,键盘输入键值,LED 显示管显示当前按键及结果。硬件总体设计图1 如下:
图1 硬件总体设计图
2.2 矩阵扫描显示当前按键模块
利用AT89S51 单片机的P0 端口的P0.0 - P0.7 连接到一个七段数码管的a - h 的笔段上,数码管的公共端接电源。矩阵扫描显示当前按键模块见图2。
图2 矩阵扫描显示当前按键模块
尘埃粒子计数器相关文章:尘埃粒子计数器原理 晶振相关文章:晶振原理
评论