课程设计报告
二、硬件设计
2.1.系统总框图
如图2-1:
键盘 LCD显示 AT89C51
图2-1系统总框图
(1)主要器件:单片机采用 80S52 单片机,它能够满足数据的采集、控制和数据处理的需求。显示用LCD 数码管,输入采用按键方式。
(2)功能和操作:加减乘除运算和显示,溢出判断出错。 ①上电后,屏幕初始化。
②计算。按下数字键,屏幕显示要运算的第一个数字,再按下符号键,然后再按下数字键,屏幕显示要运算的第二个数字,最后 按下“﹦”号键,屏幕上显示出计算结果。
③如果要再次计算,可以按下“CLC”键清零,或者按下单片机的复位键,重新初始化。
2.2数码管原理
七段数码显示管七段数码管的显示不同的字形如 SP,g,f,e,d,c,b,a 管角上加上OFEH所以SP上为0伏不亮其余为TTL高电平,全亮则显示为8。采用共阴极连接:图2-2
2.2.1动态扫描
在本电路中,使用的是动态扫描显示方法。在动态LED显示程序中,需要不停地扫描
5
课程设计报告
字位口,从而实现不同字位的数据的动态显示效果。动态借口采用各数码管循环轮流显示的方法,由于一次只能让一个数码管显示,因此,要显示6位的数据,必须经过让数码管一个一个轮流显示才可以,同时每个数码管显示的时间大约在1ms到5ms之间,所以为了保证正确显示,我们必须每隔1ms,就得刷新一个数码管。而这刷新时间我们采用单片机的定时/计数器0来控制,每定时1ms对数码管刷新一次,T0采用方式2。在进行数码显示的时候,要对显示单元开辟6个显示缓冲区,每个显示缓冲区装有显示的不同数据即可。对于现实的字形码数据我们采用查表方法来完成。
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划\的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低
图2-2 七段数码管的显示 显示数值 0 1 2 3 4 5 6 7 8 9
a b c d e f g dop 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 6
驱动代码(16进制) 0x3fH 0x06H 0x5bH 0x4fH 0x66H 0x6bH 0x7dH 0x07H 0x7fH 0x6fH 课程设计报告
2.3 4X4键盘的工作原理
矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是4×4个。这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。图2-3为ME300B矩阵键盘电路图,行线接P1.4-P1.7,列线接P1.0-P1.3。图2-4按键排列 S1Comment: 0P14S54P15S98P16S13CP17P10P11P12P13S14DS15ES16FS109S11AS12BS65S76S87S21S32S43距阵键盘048CK1K K1P14独立键盘P14P15P16P17 图2-3 矩阵键盘电路 K2P15K3P16K4P17VCCK5RES伟 图2-4按键排列
7
课程设计报告
2.4 计算器控制线路图
图2-5 单片机晶振电路
图2-6 复位电路
8
课程设计报告
2.5计算器控制线路图
图2-7 计算器线路图
三.系统调试
3.1基于PROTEUS的电路仿真
PROTEUS嵌入式系统仿真与开发平台是由英国公司开发(授权风标科技公司为中国大陆总代理)的EDA工具软件,是目前世界上最先进最完整的嵌入式系统设计和仿真平台。Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus为您建立了完备的电子设计开发环境!真正实现了在没有目标原形时就可对系统进行调试,测试和验证。
9