月加1;判断月加到13后,月置1,年加1;判断年加到100时,年清零;判断星期加到8后,星期置1。这样时间的正确变化就实现了。得到时间后,就要考虑怎么来显示了。我们采用数码管的动态扫描来显示时间。在两个4位共阳数码管上,一次只能显示时、分、秒、和星期信息。时和分,分和秒之间用小数点来区分。秒和星期之间用一横来区分。同理,显示年、月、日、星期时年和月,月和日之间用小数点来区分,日和星期之间用一横来区分。那什么时候让数码管显示时分秒星期,什么时候显示年月日星期呢?我们可以在程序中设定。比如我们可以设定每分钟的4044秒的时候显示年月日,其余时间显示时分秒。让数码管的动态扫描每次都扫描32H39H单元里面的内容,而在4044秒时我们往32H39H里面送时分秒星期的值,在其余时间我们往32H39H送年月日星期的值。这样就实现了万年历的显示问题。实现了时间的产生和显示问题后,还有一个按键功能的实现问题。时间日期的显示调整设定了4个按键。按键1用来暂停时间,这个很简单,只要关闭中断总开关,时间就不能加了,实现了暂停时间的功能。按键2则用来选择需要显示的时间是日期(年、月、日)信息。由于前面显示时间中就考虑到了时间的切换,我们只要让按键按下后进入往32H39H送年月日星期的程序就可以了。按键3实现恢复时间秒加1,只要再次打开终端就可以了。按键4功能为单片机的自身的复位。
1
f22复位电路
当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。复位电路由电容串联电阻构成,由