Skip to content

基于verilog的数字时钟,数电课程设计

Notifications You must be signed in to change notification settings

thinson/DigitalClock

Repository files navigation

UPC数电课程设计:数字时钟设计(2018年)

设计任务及具体要求:

本课程设计的任务是设计一个数字时钟。由于分钟和秒钟显示的范围都是从0~59,使用一个3位的二进制码(2**3=8>5)显示十位,用一个四位的二进制码(BCD码)显示个位(2**4=16>10),对于小时因为它的范围是从0~23,所以可以用一个2位的二进制码显示十位(2**2=4>2),用4位二进制码(BCD码)显示个位(2**4=16>10)。 设计中由于七段码管是使用扫描的方式驱动,为了降低频闪需要一个比较高频率的信号(1KHz)(即使是1Hz时钟信号)。因此为了得到准确的频率信号,必须对输入的系统时钟进行分频。

实现功能

基础功能

  1. 默认显示格式为12小时显示方式:11-25-36,其中“-”用第三个和第六个七段数码管中的g段闪烁显示;
  2. 对于整点报时功能,用户可以根据系统的硬件结构和自身的具体要求来设计。本次设计的要求是当进行整点的倒计时5秒时,让LED来闪烁(频率2Hz)进行整点报时的提示。
  3. 设置一个复位键(键盘模块的*键),当按下该键后,所有数码管显示11-59-50,时钟从该时刻开始计时。
  4. 能够利用键盘模块的#键实现时间的调节,即先按下#键,然后再按下键盘中的第一数字键实现小时中的十位调整,再按下一个数字键调整小时的个位,再按下一个数字键调整分钟的十位,以此类推,再次按下#键表示调整完毕,时钟正常开始计时。

扩展功能

  1. 显示格式可调:用键盘的A键实现12小时方式和24小时方式之间的切换;
  2. 秒表:用键盘的B键实现秒表计时功能,即按下B键所有显示清零,然后按下C键并开始秒表计时,左边两个数码管为分钟显示,中间两个数码管为秒显示,右边两个数码管为10毫秒显示(需要用到100Hz频率),再次按下C键停止计时,再次按下键盘的B键返回时钟功能。

改进

  1. 秒表和时钟相互切换,互不干扰(B按键作为秒表和时钟的切换开关,C作为继续、停止按键,D为清零按键)

About

基于verilog的数字时钟,数电课程设计

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published