电子钟延时的实现

电子钟延时的实现_第1张图片
可以发现这个代码相当简洁,
1、show函数,把当前时间值,比如08:10:15把上面这些数字和:分别送到缓冲区。
2、display,就是把缓冲区中的值,动态显示到各自的数码管中。
3、reflashtime,这个函数可以通过second的增加来刷新当前时间值。
在2与3之间就是1秒的延时。

如何实现对电子钟时间的设置?
电子钟延时的实现_第2张图片
看看上面这个程序,主函数多么简洁!
默认在主界面normal下执行,如果按下key_enter键就开始跳转到second中执行,,,hour,minute中执行。
就好像界面切换的感觉一样,有默认主界面,下面就是各个子模块,各个子模块下面又有子模块。

这个电子钟存在一个问题,如果你按下key_enter键,时间就保持在当前的值,不会被刷新。因为定时器在完成1s的定时后,flag尽管发生变化,但是normal函数没有被执行,所以值都保持原样。

你可能感兴趣的:(51单片机)