首页 理论教育 零起点学Proteus单片机仿真技术-6.4程序设计与仿真

零起点学Proteus单片机仿真技术-6.4程序设计与仿真

时间:2023-11-06 理论教育 版权反馈
【摘要】:在中断处理子程序中,除了重新设置初值外,通过变量t确定是否到达1s。图6-5 分、秒数码管显示下面,我们在上述程序的基础上再增加2个按钮,用以设置分和秒的初值。在主程序中,增加外部中断的设置:完整的程序请读者自己完成,并进行编译、加载和仿真运行,图6-6所示为仿真显示用按钮调节分、秒数码管显示。

零起点学Proteus单片机仿真技术-6.4程序设计与仿真

以上我们学习定时器的原理,并实现了1s定时功能。与外部中断相比,多了工作方式设置和定时器初值计算设置。定时/计数的中断编号是1和3。

下面,我们就将定时计数功能用到数码管显示中来。其实,就是把自动加数的时间间隔改为1s,就是1s数字加1。这样,就需要在程序中加上定时器设置和中断处理子程序,原理图还是本章第2节的电路不变。我们在这个电路基础上显示时间的变化,前2位表示分钟,后2位表示秒。从0分0秒开始计时,逢60进1,每秒变化一次。程序如下:

978-7-111-36904-2-Chapter06-15.jpg

978-7-111-36904-2-Chapter06-16.jpg

这个程序的主程序在一开始设置了定时器的设置,在无限循环中只有显示4位数码管的工作,所以,程序很简洁,数码管的显示也没有抖动、闪烁现象。在中断处理子程序中,除了重新设置初值外,通过变量t确定是否到达1s。到t=20时,即1s时间到,先给秒位加1,若秒位到达60,则清零秒变量,并给分位加1,同样,分位到达60也要清零。最后,分离4位数字,放入数组供输出,分、秒数码管显示如图6-5所示。

978-7-111-36904-2-Chapter06-17.jpg

图6-5 分、秒数码管显示

下面,我们在上述程序的基础上再增加2个按钮,用以设置分和秒的初值。利用前面外部中断的方法,当按钮1按下,就增加分的数。当按钮2按下,就增加秒的数。(www.xing528.com)

按钮1接到P3.2/INT0引脚,按钮2接到P3.2/INT1引脚,另一端接地。因为,这两个引脚是系统规定的外部中断引脚外部中断0和外部中断1。

在主程序中,增加外部中断的设置:

978-7-111-36904-2-Chapter06-18.jpg

完整的程序请读者自己完成,并进行编译、加载和仿真运行,图6-6所示为仿真显示用按钮调节分、秒数码管显示。

978-7-111-36904-2-Chapter06-19.jpg

图6-6 用按钮调节分、秒数码管显示

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈