• 方案介紹
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

Basys2開發(fā)板的數(shù)字鐘可調(diào)時(shí)verilog代碼電子鐘時(shí)分秒顯示

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

名稱:基于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ā)板可以修改管腳適配:

basys2.png

工程文件:

98e68884-fdc3-4336-b62e-7c1670a7126c.png

程序文件

49fa6e29-159b-4f38-a513-adbbff9ebd59.png

程序編譯:

9449936d-d2c0-4402-8ac3-b5d5e81fe439.png

RTL圖

5c7edc2a-2290-4557-a970-c9764b2524af.png

管腳分配

6ce0b2b2-f16f-4740-bc19-862364965650.png

部分代碼展示:

//時(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

相關(guān)推薦