一、 电子时钟、秒表和计数器的设计 1、 实现的功能: 1)有key0,key1 两个功能按键,复位后,数码管会默认显示时钟模式 HH
(HH 表示小时,MM 表示分钟), key0 短按一次就进入到了秒表模式,数码管显示格式S
S,(分别表示百秒,秒,毫秒) key0 再短按一次就进入到了计数器模式,数码管显示格式CCCC(分别为千位百位十位个位)
key0 再短按一次,又进入到了时钟显示模式,就这样由key0 控制模式的转换
2)有RST 复位键,本身电路设计有上电自动复位功能,按下RST 后,电路复位
3)有ckey0,ckey1 两个计数按键,按下ckey0,计数加一,按下ckey1,计数减一
4) 电子时钟和秒表时间计时方法是采用89S52 内部计时器0 的一种工作方式(详见后面的代码分析),通过计时器0 中断来控制时间的运行
5)计数器是采用外部中断0 和外部中断1 这两个外部中断实现加1 和减1 的操作
(1) 电子时钟模式:(以下“长按”表示按下按键的时间大于 1 秒,“短按”表示按下的时间小于 0
7 秒) 1)长按key1 一次,会进入到调整分钟的模式,短按key1 一次,分钟会加一
第二次长按key1,会进入到调整小时的模式,短按key1 一次,小时加一
第三次长按key1,重新回到时钟显示模式,这时再短按key1,时间不会变化 2)长按key0 一次,会进入到显示秒的模式 (2) 秒表模式: 1) 由key0 控制进入秒表模式后,短按key1 一次,秒表计时开始,再短按key1 一次计时结束 2) 长按key1 一次,秒表清零 (3) 计数器模式 1) 按ckey0 一下,计数加一,数码管相应的显示的数值加一, 按ckey1 一下,计数减一,数码管相应的显示的数值减一, 由于数码管的位数限制,最大只能显示到9999,此