名稱:基于Basys2開發(fā)板的數(shù)字鐘可調(diào)時(shí)verilog代碼電子鐘(代碼在文末下載)
軟件:ISE
語(yǔ)言:Verilog
代碼功能:
數(shù)碼管顯示時(shí)鐘:
1、支持按鍵調(diào)節(jié)小時(shí)/分鐘秒;
2、支持切換顯示內(nèi)容為小時(shí)分鐘或分鐘秒。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在Basys2開發(fā)板驗(yàn)證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
工程文件:
程序文件
程序編譯:
RTL圖
管腳分配
部分代碼展示:
//時(shí)間計(jì)時(shí) module?time_set( input?clk_in,//系統(tǒng)時(shí)鐘 input?clk_1Hz,//1Hz時(shí)鐘 input?hour_key,//小時(shí)按鍵 input?minute_key,//分鐘按鍵 input?second_key,//秒鐘按鍵 output?[7:0]hour_set,//小時(shí) output[7:0]minute_set,//分鐘 output[7:0]second_set//秒鐘 ); reg[7:0]hour=8'd0;//小時(shí) reg[7:0]minute=8'd0;//分鐘 reg[7:0]second=8'd0;//分鐘 //計(jì)時(shí)控制 always@(posedge?clk_in) if(clk_1Hz) if(second_key==1)//按下秒按鍵設(shè)置秒 second<=8'd0; else?if(minute_key==1)//按下分鐘按鍵設(shè)置分鐘 if(minute==8'd59)//計(jì)數(shù)到59回0 minute<=8'd0; else minute<=minute+8'd1;//計(jì)數(shù) else?if(hour_key==1)//按下小時(shí)按鍵設(shè)置小時(shí) if(hour==8'd23)//計(jì)數(shù)到23回0 hour<=8'd0; else hour<=hour+8'd1;//計(jì)數(shù) else if(hour==8'd23?&&?minute==8'd59?&&?second==8'd59)//計(jì)時(shí)到23:59:59 begin hour<=8'd0; minute<=8'd0; second<=8'd0; end else?if(minute==8'd59?&&?second==8'd59)//xx:59:59 begin hour<=hour+8'd1; minute<=8'd0; second<=8'd0; end else?if(second==8'd59)////xx:xx:59 begin hour<=hour; minute<=minute+8'd1; second<=8'd0; end else begin hour<=hour; minute<=minute; second<=second+8'd1;//秒計(jì)時(shí) end else begin hour<=hour; minute<=minute; second<=second;//不變 end //輸出 assign?hour_set=hour; assign?minute_set=minute;//分鐘 assign?second_set=second;//秒鐘 endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=281
閱讀全文