名稱:1/100秒計(jì)時(shí)控制器Verilog代碼遠(yuǎn)程云端平臺(tái)Quartus
軟件:Quartus
語(yǔ)言:Verilog
代碼功能:
1/100秒計(jì)時(shí)控制器設(shè)計(jì)
設(shè)計(jì)要求如下:
(1) 計(jì)時(shí)精度為 1/100s,最長(zhǎng)計(jì)時(shí)時(shí)間為 1h;
(2) 用6個(gè)數(shù)碼管顯示計(jì)時(shí)長(zhǎng)度;
(3) 能夠支持計(jì)時(shí)器啟動(dòng)、停止和復(fù)位操作。在任何情況下,按一下復(fù)位鍵,計(jì)時(shí)器就清零并做好計(jì)時(shí)準(zhǔn)備;然后按一下啟動(dòng) /停止鍵,計(jì)時(shí)器就開(kāi)始計(jì)時(shí);再按一下啟動(dòng) /停止鍵,計(jì)時(shí)器停止計(jì)時(shí);
(4) 當(dāng)計(jì)時(shí)時(shí)間到時(shí),控制器發(fā)出聲光提醒信號(hào),可通過(guò)按鍵來(lái)清除該聲光信號(hào)。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在遠(yuǎn)程云端平臺(tái)驗(yàn)證,遠(yuǎn)程云端平臺(tái)如下,其他遠(yuǎn)程云端平臺(tái)可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. 仿真圖
部分代碼展示:
//1.?1/100秒計(jì)時(shí)控制器設(shè)計(jì) //設(shè)計(jì)要求如下:? //(1)?計(jì)時(shí)精度為?1/100s,最長(zhǎng)計(jì)時(shí)時(shí)間為?1h; //(2)?用6個(gè)數(shù)碼管顯示計(jì)時(shí)長(zhǎng)度; //(3)?能夠支持計(jì)時(shí)器啟動(dòng)、停止和復(fù)位操作。在任何情況下,按一下復(fù)位鍵,計(jì)時(shí)器就清零并做好計(jì)時(shí)準(zhǔn)備;然后按一下啟動(dòng)?/停止鍵,計(jì)時(shí)器就開(kāi)始計(jì)時(shí);再按一下啟動(dòng)?/停止鍵,計(jì)時(shí)器停止計(jì)時(shí); //(4)?當(dāng)計(jì)時(shí)時(shí)間到時(shí),控制器發(fā)出聲光提醒信號(hào),可通過(guò)按鍵來(lái)清除該聲光信號(hào) module?Digital_clock( input?clk_in,//晶振 input?start_stop_key,//跑表/暫停 input?reset,//跑表復(fù)位 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; //分頻模塊,產(chǎn)生100Hz用于秒表計(jì)時(shí) fenping?fenping_Hz( .?clk_in(clk_in), .?clk_100Hz(clk_100Hz)//100Hz--對(duì)應(yīng)10ms ); //秒表控制模塊 stopwatch?i_stopwatch( .?clk_in(clk_in), .?clk_100Hz(clk_100Hz),//100Hz--對(duì)應(yīng)10ms .?start_stop_key(start_stop_key),//啟動(dòng),暫停 .?reset_key(reset),//復(fù)位 .?beep(beep),//聲音提示 .?LED(LED),//LED提示 .?stopwatch_Millisecond(stopwatch_Millisecond),//10毫秒 .?stopwatch_second(stopwatch_second),//秒 .?stopwatch_minute(stopwatch_minute)//分 ); //數(shù)碼管顯示模塊 //數(shù)碼管顯示模塊 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
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=348