名称:数字钟带闹钟功能设计Verilog代码Quartus? DE10开发板
软件:Quartus
语言:Verilog
代码功能:
数字钟带闹钟功能
1、设计带闹钟功能的数字钟
2、可以通过按键校时
3、闹钟时间可修改
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在DE10开发板验证,DE10开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 程序文件
2. 程序编译
3. 程序RTL图
4. 管脚分配
5. Testbench
6. 仿真图
部分代码展示:
//控制方法: //2个拨码开关SW0和SW1控制模式: //SW0=0,SW1=0为正常计时模式; //SW0=0,SW1=1为修改时间模式; //SW0=1,SW1=0为显示闹钟时间模式; //SW0=1,SW1=1为修改闹钟时间模式; //2个按键,BT0修改小时,BT1修改分钟,BT2修改秒钟:: //将拨码开关设置为SW0=0,SW1=1,此时可以修改当前时间; //将拨码开关设置为SW0=1,SW1=1,此时可以修改闹钟时间; module?Digital_clock( input?clk_50M, input?rst_n, input?alarm_SW,//闹钟时间设置键,0--显示正常计时;1--显示设置闹钟时间 input?MODE_SW,//MODE?模式设置按键--0:计时,1:设置时间 input?AH_key,//AH?修改小时 input?AM_key,//AM?修改分钟 input?AS_key,//AS?修改秒钟 output?bell_out,//闹钟led output?[3:0]?led_mode,//led显示当前模式 output??[7:0]?HEX0,//数码管-低亮 output??[7:0]?HEX1,//数码管-低亮 output??[7:0]?HEX2,//数码管-低亮 output??[7:0]?HEX3,?//数码管-低亮 output??[7:0]?HEX4,//数码管-低亮 output??[7:0]?HEX5?//数码管-低亮 ); wire?[3:0]?state_mode;//当前模式 wire?[7:0]?hour_time;//时 wire?[7:0]?minute_time;//分 wire?[7:0]?second_time;//秒 wire?[7:0]?alarm_hour_time;//闹钟时 wire?[7:0]?alarm_minute_time;//闹钟分 wire?[7:0]?alarm_second_time;//闹钟秒 wire?clk_1Hz; //分频到1Hz fenping?fenping_Hz( .?clk_50M(clk_50M), .?clk_1Hz(clk_1Hz) ); //设置模式模块 set_mode?i_set_mode( .?clk_50M(clk_50M), .?alarm_SW(alarm_SW), .?MODE_SW(MODE_SW), .?led_mode(led_mode),//led显示当前模式 .?state_mode(state_mode)//当前模式,4'd0:计时,4'd1设置时间?,4'd2显示闹钟时间,4'd3设置闹钟时间 ); jishi?i_jishi( .?clk_50M(clk_50M), .?clk_1Hz(clk_1Hz), .?state_mode(state_mode),//当前模式,4'd0:计时,4'd1设置时间?,4'd2显示闹钟时间,4'd3设置闹钟时间 .?rst_n(rst_n), .?AH_key(AH_key),//AH?修改小时 .?AM_key(AM_key),//AM?修改分钟 .?AS_key(AS_key),//AS?修改秒钟
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1230
阅读全文