名稱:基于FPGA的定時提醒裝置Verilog(代碼在文末付費下載)
軟件:Quartus
語言:Verilog
要求:
(1)撥動開關K1(擴展要求按下S1鍵后),七段數(shù)碼管開始從3倒計時,每秒計數(shù)減1,當減到0時,保持0顯示,同時紅燈閃爍。
(2)外部輸入脈沖信號頻率為1mhz;
(3)擴展要求:開關由撥動開關變?yōu)榘存IS1按鍵消抖,led燈閃爍+自主設計。
本代碼已在實驗箱驗證:
演示視頻:
三、設計原理:
(1)消抖的原理:按鍵默認輸入邏輯‘1’,當有按鍵按下時對應的輸入為邏輯‘0’(但會存在抖動),當FPGA開始檢測到該引腳從‘1’變?yōu)椤?’后開始定時(按鍵抖動時間大約10ms),定時時間結束后若該引腳仍然為‘0’則表示確實發(fā)生按鍵按下,否則視為抖動而不予以理會;按鍵松開過程的消抖處理和按下時原理一樣。
(2)計數(shù):輸入脈沖信號為1mhz,七段數(shù)碼管顯示改變?yōu)?s,需要計數(shù)脈沖信號或者設計分頻器。
(3)七段數(shù)碼管顯示:七段數(shù)碼管是電子開發(fā)過程中常用的輸出顯示設備。在實驗系統(tǒng)中使用的是兩個四位一體、共陰極型七段數(shù)碼管。其單個靜態(tài)數(shù)碼管如下圖4-1所示。
圖4-1 ?靜態(tài)七段數(shù)碼管
由于七段數(shù)碼管公共端連接到GND(共陰極型),當數(shù)碼管的中的那一個段被輸入高電平,則相應的這一段被點亮。反之則不亮。共陽極性的數(shù)碼管與之相么。四位一體的七段數(shù)碼管在單個靜態(tài)數(shù)碼管的基礎上加入了用于選擇哪一位數(shù)碼管的位選信號端口。八個數(shù)碼管的a、b、c、d、e、f、g、h、dp都連在了一起,8個數(shù)碼管分別由各自的位選信號來控制,被選通的數(shù)碼管顯示數(shù)據(jù),其余關閉。
數(shù)碼管顯示模塊的電路原理如圖4-2所示,表4-1是其數(shù)碼管的輸入與FPGA的管腳連接表。
圖4-2 ?數(shù)字時鐘信號模塊電路原理
(4)報警: led燈亮
設計文檔(文檔點擊可下載):
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. 仿真
頂層文件和仿真
計數(shù)模塊和仿真
顯示模式和仿真
報警模塊和仿真
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=157