名称:1/100秒计时控制器Verilog代码远程云端平台Quartus
软件:Quartus
语言:Verilog
代码功能:
1/100秒计时控制器设计
设计要求如下:
(1) 计时精度为 1/100s,最长计时时间为 1h;
(2) 用6个数码管显示计时长度;
(3) 能够支持计时器启动、停止和复位操作。在任何情况下,按一下复位键,计时器就清零并做好计时准备;然后按一下启动 /停止键,计时器就开始计时;再按一下启动 /停止键,计时器停止计时;
(4) 当计时时间到时,控制器发出声光提醒信号,可通过按键来清除该声光信号。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在远程云端平台验证,远程云端平台如下,其他远程云端平台可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. 仿真图
部分代码展示:
//1. 1/100秒计时控制器设计 //设计要求如下: //(1) 计时精度为 1/100s,最长计时时间为 1h; //(2) 用6个数码管显示计时长度; //(3) 能够支持计时器启动、停止和复位操作。在任何情况下,按一下复位键,计时器就清零并做好计时准备;然后按一下启动 /停止键,计时器就开始计时;再按一下启动 /停止键,计时器停止计时; //(4) 当计时时间到时,控制器发出声光提醒信号,可通过按键来清除该声光信号 module Digital_clock( input clk_in,//晶振 input start_stop_key,//跑表/暂停 input reset,//跑表复位 output beep,//声音提示 output LED,//LED提示 output [7:0] SEG1,//段选显示 output [3:0] SEL1, //位选显示 output [7:0] SEG2,//段选显示 output [3:0] SEL2 //位选显示 ); wire [7:0] stopwatch_Millisecond;//10毫秒 wire [7:0] stopwatch_second;//秒 wire [7:0] stopwatch_minute;//分 wire start_stop; wire clk_100Hz; //分频模块,产生100Hz用于秒表计时 fenping fenping_Hz( . clk_in(clk_in), . clk_100Hz(clk_100Hz)//100Hz--对应10ms ); //秒表控制模块 stopwatch i_stopwatch( . clk_in(clk_in), . clk_100Hz(clk_100Hz),//100Hz--对应10ms . start_stop_key(start_stop_key),//启动,暂停 . reset_key(reset),//复位 . beep(beep),//声音提示 . LED(LED),//LED提示 . stopwatch_Millisecond(stopwatch_Millisecond),//10毫秒 . stopwatch_second(stopwatch_second),//秒 . stopwatch_minute(stopwatch_minute)//分 ); //数码管显示模块 //数码管显示模块 display i_display( . clk_1K(clk_in), . stopwatch_Millisecond(stopwatch_Millisecond),//10毫秒 . stopwatch_second(stopwatch_second),//秒 . stopwatch_minute(stopwatch_minute),//分 . SEG1(SEG1),//段选显示 . SEL1(SEL1), //位选显示 . SEG2(SEG2),//段选显示 . SEL2(SEL2) //位选显示 ); endmodule
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=348
阅读全文
698