名稱(chēng):籃球競(jìng)賽30秒計(jì)時(shí)器Verilog代碼Quartus? 實(shí)驗(yàn)箱
軟件:Quartus
語(yǔ)言:Verilog
代碼功能:
籃球競(jìng)賽30秒計(jì)時(shí)器
內(nèi)容及要求:
籃球計(jì)時(shí)器具有30秒計(jì)時(shí)功能,電路可能包含的模塊為:七段數(shù)碼管驅(qū)動(dòng)器、分頻器電路、觸發(fā)器、數(shù)據(jù)選擇器等基本電路。
具體要求如下:
1.計(jì)時(shí)器為30秒遞減計(jì)時(shí),其計(jì)時(shí)間隔為1秒。當(dāng)計(jì)時(shí)器遞減計(jì)時(shí)到零時(shí),發(fā)出蜂鳴器報(bào)警聲。
2.電路具有三個(gè)外部控制按鍵:復(fù)位按鍵、啟動(dòng)計(jì)時(shí)按鍵和停止計(jì)時(shí)按鍵,分別選用實(shí)驗(yàn)箱按鍵模塊的S1、S2和S3,按下51,系統(tǒng)復(fù)位,所有寄存器全部清零;按下S2,秒表啟動(dòng)計(jì)時(shí);按下S3,秒表停止計(jì)時(shí),并且數(shù)碼管顯示當(dāng)前計(jì)時(shí)時(shí)間,如果再次按下S2,秒表繼續(xù)計(jì)時(shí),除非按下S1,系統(tǒng)才能復(fù)位,兩位七段數(shù)碼管顯示全部“00”? ?。
3.輸入外部時(shí)鐘選擇為1KHz.直到按下停止按鍵(按鍵開(kāi)關(guān)K2),數(shù)碼管停止計(jì)秒。按下開(kāi)始按鍵(按鍵開(kāi)關(guān)K1),數(shù)碼管繼續(xù)進(jìn)行計(jì)秒。按下復(fù)位按鍵(按鍵開(kāi)關(guān)K3)秒表從00重新開(kāi)始計(jì)秒。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在實(shí)驗(yàn)箱驗(yàn)證,實(shí)驗(yàn)箱如下,其他開(kāi)發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. Testbench
7. 仿真圖
部分代碼展示:
module?timmer_30s( input?clk,//1KHz,L20 input?reset,//復(fù)位按鍵 input?start,//啟動(dòng)按鍵 input?stop,//停止按鍵 output?beep,//蜂鳴器 output?[2:0]?SEL,//數(shù)碼管位選 output?[7:0]?SEG//數(shù)碼管段選 ); wire?[7:0]?second;//秒計(jì)時(shí) //控制模塊 time_ctrl?i_time_ctrl( .?clk(clk),//1KHz,L20 .?reset(reset),//復(fù)位按鍵 .?start(start),//啟動(dòng)按鍵 .?stop(stop),//停止按鍵 .?beep(beep),//蜂鳴器 .?second(second)//秒計(jì)時(shí) ); //顯示模塊 display?i_display( .?clk(clk),//1KHz,L20 .?second(second),//秒計(jì)時(shí) .?SEL(SEL),//數(shù)碼管位選 .?SEG(SEG)//數(shù)碼管段選,高電平亮 ); endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=597