名稱:Quartus籃球比賽定時(shí)器verilog代碼青創(chuàng)QC-FPGA開(kāi)發(fā)板
軟件:Quartus
語(yǔ)言:Verilog
代碼功能:
1. 定時(shí)時(shí)間為30秒,按遞減方式計(jì)時(shí),每隔1秒定時(shí)器減1;
2. 定時(shí)器的時(shí)間用2位數(shù)碼管進(jìn)行顯示;
3. 設(shè)置兩個(gè)外部控制開(kāi)關(guān),控制定時(shí)器的直接復(fù)位、啟動(dòng)計(jì)時(shí)、暫停、連續(xù)計(jì)時(shí);
4. 當(dāng)定時(shí)器減到0時(shí),保持計(jì)時(shí)器顯示為0,同時(shí)發(fā)出報(bào)警信號(hào)。
另外,本代碼還有支持24秒的工程文件。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在青創(chuàng)QC-FPGA開(kāi)發(fā)板驗(yàn)證,青創(chuàng)QC-FPGA開(kāi)發(fā)板如下,其他開(kāi)發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 頂層原理圖
3. 程序文件
編譯
4. 仿真圖
部分代碼展示:
//?1.?定時(shí)時(shí)間為30秒,按遞減方式計(jì)時(shí),每隔1秒定時(shí)器減1。 //?2.?定時(shí)器的時(shí)間用2位數(shù)碼管進(jìn)行顯示; //?3.?設(shè)置兩個(gè)外部控制開(kāi)關(guān),控制定時(shí)器的直接復(fù)位、啟動(dòng)計(jì)時(shí)、暫停、連續(xù)計(jì)時(shí); //?4.?當(dāng)定時(shí)器減到0時(shí),保持計(jì)時(shí)器顯示為0,同時(shí)發(fā)出報(bào)警信號(hào)。 //計(jì)數(shù)器 module?JISHUQI( input?clk_in,//時(shí)鐘 input?en_1s,//1秒使能 input?reset_n,//復(fù)位 input?enable,//開(kāi)始,暫停 output?reg?alarm,//報(bào)警 output?[3:0]?second_ten,//秒十位 output?[3:0]?second_one//秒個(gè)位 ); reg?[3:0]?ten=4'd0; reg?[3:0]?one=4'd0; always@(posedge?clk_in?or?negedge?reset_n) if(reset_n==0)//復(fù)位 begin ten<=4'd3; one<=4'd0; alarm<=0; end else if(enable==1)//開(kāi)始計(jì)時(shí) if(en_1s==1)//1秒使能 if(ten==4'd0?&&?one==4'd0) begin ten<=4'd0; one<=4'd0; alarm<=1;//報(bào)警 end else?if(one==4'd0) begin ten<=ten-4'd1; one<=4'd9; alarm<=0; end else begin ten<=ten; one<=one-4'd1; alarm<=0; end else begin ten<=ten; one<=one; alarm<=alarm; end else?//暫停 begin ten<=ten; one<=one; alarm<=0; end assign?second_ten=ten; assign?second_one=one; endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=373