基于单片机的24秒倒计时设计
显示字共阳极显示字符 5 6 7 8 共阳极段码 92H 82H F8H 80H 90H 符 段码 0 1 2 3 C0H F9H A4H B0H 4 99H 9
图6 字符与段码
第三章 系统软件的设计
3.1 定时中断的程序设计
保护现场 重置计数初值 否
11
开始 基于单片机的24秒倒计时设计
中断 是 数据送显示缓冲单元 调用显示子程序 恢复现场 并中断返回 定时中断服务程序
3.2 独立键盘服务程序的设计
键盘有功能按键和直接查询按键,功能按键需要子程序不断的调用,并在主程序中循环检测,直接按键通过查询方式,判断相应的数据进行相应的调整。
3.3 显示子程序的设计
显示程序时通过查询数组的方式,进行动态扫描,给P0口送段码和送位码。
3.4 系统软件的调试
显示部分是采用三极管驱动七段LED数码管,采用+5V直流稳压电源进行供电。我使用的是爱思超级仿真开发系统。电脑里安装上了仿真软件后,把8951的仿真头接至电路板上,把仿真器RS-232口与电脑的RS232口连接。就可以进行仿真了。
12
基于单片机的24秒倒计时设计
第四章 Proteus原理图绘制
原理图的绘制如下图所示,在Proteus软件下根据下图绘制出原理图:
图6 系统原理图
图中U1为单片机AT89C51,C1、C2,C3为1nF的电容,X1为12MHz的晶体振荡器,K1,K2,K3为按钮开关,AT89C51的P0口接两个七段数码管,P3口分别接K1,K2,K3,分别控制数码显示管的启动、暂停、复位。
13
基于单片机的24秒倒计时设计
第五章 Proteus电路仿真与结果分析
5.1 Keil C软件
用到了Keil C软件,集成调试环境,集成了编辑器、译码器、调试器,支持软件模拟,支持项目管理功能强大的观察窗口,支持所有的数据类型。树状结构显示,一目了然,支持ASM(汇编)、C语言多模块源程序混合调试,在直接修改、编译、调试源程序,错误指令定位。功能很强大,用于对程序的调试和编辑。其界面如下:
图7 Keil C界面
14
基于单片机的24秒倒计时设计
5.2 Proteus软件
系统仿真还用到了Proteus软件,可通过仿真显示出所设计系统的功能,对于程序的调试等有很大的帮助。
系统仿真时首先在使用Keil C 译码器,把所写的程序进行编译,同时在仿真器里设置生成HEX文件,编译无错误进行Proteus仿真。等所有的原件都连接完成后可以把Keil C编译生成的无错误文件加载到AT89C51中,方法是,右键点中器件然后再用左键点击,出来一个对话框在program file后选择要添加的文件,文件要求必须是HEX文件。然后可以点击运行观察现象,看与自己设置的是否符合,如果不相符再查找错误进行修改,一般的错误都是程序中的,所以要认真的读取程序的每一个部分。系统的仿真图如下图:
图8 Proteus电路仿真图(1)
启动Proteus软件的play按钮,出现如上图所示24至0的倒计时,此倒计时可以应用于篮球比赛中,点K1键开始倒计时,点K2键暂停,再点一下继续倒计时,点K3键实现复位。
15