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