名称:数字电子钟的设计Verilog代码Quartus 实验箱
软件:Quartus
语言:Verilog
代码功能:
一、设计内容
设计一个数字电子钟,并用Quartus/Modelsim进行仿真,将结果下载到EDA
实验开发系统中,测试电路的正确性。应包含VERILOG源程序,详细的设计报
告,并对程序,仿真结果,实验箱运行结果等进行详尽的分析。
二、基本要求
1.要求使用8个数码管进行时、分和秒和分隔点的显示,初始时所有LED灯
熄灭。
2.时间采用24小时计时制,时分秒之间的分隔用点表示(该点要单独显示
在一个数码管上),比如12:30:35显示为12,30,35,分和秒之间的点每隔
1秒闪烁。
3.清零按键K1,可同时对时、分、秒进行清零:设置初始时间按键K2,可将
时间设置为初始值23:59:50;
4.拨档开关SW1为1时,正常走时,为0时,停止走时。正常走时时LED1点
亮,停止时,LED1熄灭。
5.再配置4个按键(K4一设置键,K5一加,K6一减,K7一确认,K8一移动),按
下设置键K4进入时间设置模式,对应的小时指示灯LED2点亮(其他灯熄灭),
表示当前设置的是小时,此时用K5进行数字的加(两位数字一起加),K6进行
数字的减(两位数字一起减),用K8按1次则可切换到设置分钟(指示灯LED3
点亮),按K8第2次可设置秒(指示灯LED4点亮),再按K8又回到小时的设置,
只有按下K7确认后回到时钟正常走时模式。
6.第5项中,按K5时小时最多加到23,分钟最多加到59,再按则保持数值
不变:按K6时,最多减到00,再按则保持00
注意:为了测试方便,初始时间设置为23:59:50;按键中需要考虑按键的去
抖动;数码管显示数字要亮度均匀,无闪烁
本代码已在AX301开发板验证,AX301开发板如下,其他开发板可以修改管脚适配:
设计文档:
1、工程文件
2、程序文件
3、程序编译
4、RTL图
5、管脚分配
6、Testbench
7、仿真图
整体仿真图
分频模块
按键模块
计时模块
显示模块
部分代码展示:
//具有计时功能
//一、设计内容
//设计一个数字电子钟,并用Quartus/Modelsim进行仿真,将结果下载到EDA
//实验开发系统中,测试电路的正确性。应包含VERILOG源程序,详细的设计报
//告,并对程序,仿真结果,实验箱运行结果等进行详尽的分析。
//二、基本要求
//1.要求使用8个数码管进行时、分和秒和分隔点的显示,初始时所有LED灯
//熄灭。
//2.时间采用24小时计时制,时分秒之间的分隔用点表示(该点要单独显示
//在一个数码管上),比如12:30:35显示为12,30,35,分和秒之间的点每隔
//1秒闪烁。
//3.清零按键K1,可同时对时、分、秒进行清零:设置初始时间按键K2,可将
//时间设置为初始值23:59:50;
//4.拨档开关SW1为1时,正常走时,为0时,停止走时。正常走时时LED1点
//亮,停止时,LED1熄灭。
//5.再配置4个按键(K4一设置键,K5一加,K6一减,K7一确认,K8一移动),按
//下设置键K4进入时间设置模式,对应的小时指示灯LED2点亮(其他灯熄灭),
//表示当前设置的是小时,此时用K5进行数字的加(两位数字一起加),K6进行
//数字的减(两位数字一起减),用K8按1次则可切换到设置分钟(指示灯LED3
//点亮),按K8第2次可设置秒(指示灯LED4点亮),再按K8又回到小时的设置,
//只有按下K7确认后回到时钟正常走时模式。
//6.第5项中,按K5时小时最多加到23,分钟最多加到59,再按则保持数值
//不变:按K6时,最多减到00,再按则保持00
//注意:为了测试方便,初始时间设置为23:59:50;按键中需要考虑按键的去
//抖动;数码管显示数字要亮度均匀,无闪烁
45