HcPlu / DigitalClock

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

2018.5.2-现在更新了键盘时钟分频数码管模块,其他模块后续更新 2018.5.13-更新全部代码,实现所有拓展功能

设计报告(已完结)

UPC2018年数电课程设计

一、 设计题目

数字时钟设计

二、 设计任务及具体要求:

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

主要包含功能如下:

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键返回时钟功能。

(注意:个人就秒表功能做了一些改进,改进后的规则为B按键作为秒表和时钟的切换开关,C作为继续、停止按键,D为清零按键,这样可以让时钟和秒表同时工作)

About


Languages

Language:Verilog 100.0%