实验目的:
设计一个具有计时功能和校时功能的数字时钟
实验要求:
数码管显示小时和分钟,秒钟用 LED 闪烁标识。
三个按键用于时钟校准。
K1 用于切换正常计时,校准小时和分钟
K2 用于时钟的“+”
K3 用于时钟的“-”
校准相应的刻度,该数码管闪烁。
实验原理
从上述的实验要求分析可得到此数字钟我们实现过程中要注意两个功能点:
1、 计时显示功能: LED 闪烁显示秒钟读秒, 数码管右侧两位显示分钟计时,
数码管左侧两位显示时钟计时;
此功能的实现由两个细节功能实现:
1S 计时控制, 与前面的实验中需要计时功能模块实现方式一致, 注意此处计时的周期为 1S 即可;
计时过程中进位控制; 进位控制有四处需要进位:

2、 计时校准功能: 通过对应按键控制调整分钟计时与时钟计时, 调整的过程中对应位需要闪烁;
此项功能中注意两点:
调整对应位是, 数码管该位进行闪烁;
调整时注意进位;
基于上述分析我们将项目分成两个部分:
- 时钟计时与控制。
- 数码管显示控制。

程序下载

实验现象
加载后的显示结果为: 数码管显示从 00: 00 开始, LED1 闪烁( 1 次/s)
按轻触按键 KEY1, 进入校准模式, 第一次按下 KEY1, 进入分钟低位计数校准调节, 之后再次按下 KEY1, 校准位将会往左移动 1 位, 直到校准位为时钟计数高位时, 按下 KEY1 将推出校准模式, 进入正常计数模式;
在校准模式中按下轻触按键 KEY2 一次, 对应校准位加 1, 在可计数的最大值时会归 0;
在校准模式中按下轻触按键 KEY3 一次, 对应校准位减 1, 在减到 0 时会置位为可计数的最大值;
学习收获
1-掌握了软件数字时钟设计方法
2-掌握了按键更改数据
3-练习了数码管显示