名称:短跑计时器设计与实现Verilog代码VIVADO仿真(文末获取)
软件:VIVADO
语言:Verilog
代码功能:
短跑计时器设计与实现
短跑计时器描述如下
短跑计时器显示分、秒、毫秒
“毫秒”用两位数码管显示:百位、十位;
“秒”用两位数码管显示:十位、个位
“分”用一位LED灯显示,LED灯“亮”为1分;
最大计时为1分59秒99,超限值时应可视或可闻报警
三个按键开关:计时开始/继续(A)、计时停止暂停(B)、复位/清零(C),
键控流程如下
计时开始/继续(A)
计时停止/暂停(B)
计时复位清零(C)
1. 工程文件
2. 程序文件
3. 程序编译
4. testbench
5. 仿真图
整体仿真图
分频模块
控制模块
显示模块
部分代码展示:
module Digital_clock( input clk_50M, input key_1,//启动(A) input key_2,//暂停(B) input key_3,//复位(C) output minute_led,//分用led显示 output [7:0] HEX0,//数码管-低亮 output [7:0] HEX1,//数码管-低亮 output [7:0] HEX2,//数码管-低亮 output [7:0] HEX3//数码管-低亮 ); wire [7:0] stopwatch_Millisecond;//10毫秒 wire [7:0] stopwatch_second;//秒 wire clk_100Hz; //分频模块 fenping fenping_Hz( . clk_50M(clk_50M), . clk_100Hz(clk_100Hz) ); //秒表控制模块 stopwatch i_stopwatch( . clk_50M(clk_50M), . clk_100Hz(clk_100Hz),//100Hz--对应10ms . start_key(key_1),//启动 . stop_key(key_2),//暂停 . reset_key(key_3),//复位 . stopwatch_Millisecond(stopwatch_Millisecond),//10毫秒 . stopwatch_second(stopwatch_second),//秒 . minute_led(minute_led)//分 ); //显示模块 display i_display( . clk(clk_50M), . stopwatch_Millisecond(stopwatch_Millisecond),//10毫秒 . stopwatch_second(stopwatch_second),//秒 . HEX0(HEX0),//数码管-低亮 . HEX1(HEX1),//数码管-低亮 . HEX2(HEX2),//数码管-低亮 . HEX3(HEX3)//数码管-低亮 ); endmodule
源代码
扫描文章末尾的公众号二维码