• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

多功能數(shù)字鐘Verilog代碼Quartus仿真

5小時前
96
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

2-240111100230649.doc

共1個文件

名稱:多功能數(shù)字鐘Verilog代碼Quartus仿真

軟件:Quartus

語言:Verilog

代碼功能:

一、設(shè)計任務(wù)及要求

數(shù)字鐘是一種利用數(shù)字電子技術(shù)實現(xiàn)時分秒計時的裝置,數(shù)字鐘相比機械鐘具有更高的準確性和直觀性,因此得到了更加廣泛的使用。數(shù)字鐘從原理上講是一種典型的數(shù)字電路,包括了組合邏輯電路時序邏輯電路。這次設(shè)計就是基于 EDA/SOPC 系統(tǒng)開發(fā)平臺和八位數(shù)碼管顯示模塊,運用 Quartus Ⅱ開發(fā)軟件,設(shè)計一個多功能數(shù)字鐘。

二、設(shè)計原理

多功能數(shù)字鐘應(yīng)該具有的功能:顯示“時-分-秒”。整個數(shù)字鐘的工作應(yīng)該是在 1Hz 信號的作用下進行,這樣每來一個時鐘信號,秒增加 1 秒,當秒從 59 秒跳轉(zhuǎn)到 00 秒時,分鐘增加 1 分,同時當分鐘從 59 分跳轉(zhuǎn)到 00 分時,小時增加 1 小時,小時的范圍是從 0~23 時。復(fù)位后全部顯示 00-00-00。在設(shè)計中為了顯示的方便,分鐘和秒鐘(顯示的范圍都是從 00~59),小時(00~23)的十位和個位都應(yīng)該采用十進制計數(shù)器。

1、設(shè)置“啟/?!卑粹o和“復(fù)位”按鈕:

“啟/?!卑粹o S1 的使用方法:按一下“啟/?!卑粹o,啟動數(shù)字鐘開始計時,再按一下“啟/?!卑粹o,計時暫停。

“復(fù)位”按鈕 S2 用來使數(shù)字鐘清 0,在數(shù)字鐘計時過程中“復(fù)位”按鈕無效,可以參考手機的秒表。(開發(fā)箱的按鈕按下為 0,彈起為 1)原理框圖如下:

QQ圖片20240111095658.png

2、數(shù)碼管譯碼顯示電路:

數(shù)字鐘顯示范圍 00-00-00~23-59-59,高位在左邊,低位在右邊,數(shù)碼管顯示需要經(jīng)過 BCD-七段數(shù)碼管譯碼。上電后,顯示 00-00-00,利用兩個按鈕 S1、S2 控制數(shù)字鐘的計時。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

演示視頻:

設(shè)計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. 管腳分配

6. 仿真圖

6.1 分頻模塊仿真

6.2 按鍵消抖模塊仿真

6.3 計時模塊仿真

其中F表示“-”在數(shù)碼管譯碼模塊中F被譯碼顯示為“-”

6.4 數(shù)碼管譯碼掃描模塊仿真

部分代碼展示:

module?digital_clock(
input?CLK,//50MHz
input?CP,//1000Hz
input?S1,//啟動、停止按鈕
input?S2,//復(fù)位按鈕,在數(shù)字鐘計時過程中“復(fù)位”按鈕無效
output?[2:0]?SEL,//數(shù)碼管選擇控制端
output?[6:0]?DIG//七段數(shù)碼管ABCDEFG
);
wire?clk_1Hz;
wire?[31:0]?hour_mim_sec;//時分秒
wire?S1_key;
wire?S2_key;
wire?clk_1000Hz;
//分頻器,1000Hz分頻到1Hz
div_1Hz?i_div_1Hz(
.?CLK(CLK),
.?CP(clk_1000Hz),//1000Hz
.?clk_1000Hz(clk_1000Hz),
.?clk_1Hz(clk_1Hz)//輸出1Hz
);
//按鍵消抖模塊
key_jitter?i_key_S1(
.?clkin(CLK),?????
.?key_in(S1),//輸入
.?key_value(S1_key)//消抖后按鍵
);

點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=534

  • 2-240111100230649.doc
    下載

相關(guān)推薦