1.系统功能
本设计完成的功能是可以调整时间的电子钟,能够显示“时-分-秒”。
本设计用定时计数器8253提供定时中断,使用计数器0和计数器1,每间隔1s产生一次中断请求提供给中断控制器8259的IR0,在中断服务程序中完成时间信息的处理。同样采用中断方式完成对电子钟时间的加减调整,并具有清零功能。
数码管显示采用动态扫描方式。数码管动态扫描就是以一定的频率分时依次点亮多个数码管,只要时间间隔足够小(10ms以内),人眼无法识别出,就会形成多个数码管同时亮的现象。
2.Proteus电路设计
设计电路中需要的8086系统基本电路(最小模式电路、存储器电路、IO端口译码电路)在第三章中已详细介绍,此处不再赘述,只画出接口及外设电路部分,电路如图4-4所示。
该电路用到的元件有8255A、8259、8253、BUTTON、RES、7SEG-MPX8-CC-BLUE。
图4-4 电子钟电路图
3.程序设计
程序流程图如图4-5所示。包含主程序、7个中断子程序、显示子程序、延时子程序,IR0中断子程序主要完成时间的累加计算,IR1—IR6中断子程序完成对时间的调整。显示子程序采用动态扫描方式,循环8次送不同的数据段码、位选码,每次调用延时子程序,进行短暂延时,利用眼睛的视觉暂留,以实现8个数码管同时显示“时-分-秒”的效果。
参考程序如下:
(www.daowen.com)
图4-5 电子钟程序流程图
续图4-5 电子钟程序流程图
续图4-5 电子钟程序流程图
4.仿真结果
汇编文件(asm文件)通过emu8086编译生成exe文件,将exe文件添加到Proteus电路中8086的Program File,进行电路仿真。电路仿真结果如图4-6所示。
5.思考题
考虑在系统中加入闹钟、定时器的功能,硬件、软件应如何设计修改?
图4-6 电子钟仿真结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。