-
基本要求:基于DE2-115開發(fā)板在Quartus13.1平臺上用verilog設計一個24h制數(shù)字鐘,要求能顯示時,分,秒,并可手動調整時和分。
-
實驗分析:利用兩個60進制,一個24進制模塊,用1Hz分頻模塊給秒模塊自動計時,以秒模塊進位信號為分模塊時鐘,以分模塊進位信號為時模塊時鐘,用6個display數(shù)碼管顯示模塊分別顯示時,分,秒。
用與非門搭建一個二選一數(shù)據(jù)選擇器,用一個撥動開關mode切換自動,手動狀態(tài)(無消抖需加消抖模塊,否則切換瞬間導致數(shù)碼管跳變;雖然按鍵經(jīng)消抖處理,但調整時間時需要長按按鍵保持0狀態(tài),較為不便,故選擇撥動開關),手動調整時,以按鍵AH,AM為時鐘調整時分
效果演示:
eda??verilog???數(shù)字鐘?eda verilog 數(shù)字鐘_嗶哩嗶哩_bilibili
?
原理圖及代碼:
?
?
fenpin1:板上50Mh時鐘計數(shù)25000,000個時翻轉一次為1hz。
qudou10ms:抖動就是短時間(10ms左右)內在0,1之間發(fā)生跳動,可以人為忽略,只輸出穩(wěn)定時間大于10ms的0,1電平。
時間用50Mhz計數(shù)表示,每來一個上升沿計一次數(shù),連續(xù)計數(shù)250000個(大約為10ms穩(wěn)定的電平才認為其有效,否則不予輸出)。
count60與count24類似,先考慮低位,再考慮進位。
display:開發(fā)板數(shù)碼管低電平點亮對應段選,結合數(shù)碼管內部電路圖譯碼。文章來源:http://www.zghlxwxcb.cn/news/detail-491174.html
- 設計總結
- 題目手動調整時分功能可以在代碼中另設按鍵直接調整進位信號,設置mode開關不太必要,但在處理問題過程中我學到了不少,即用verilog控制FPGA此類器件直接操作門陣列不同于C語言,它更像是組合門電路,而C語言是單純邏輯操作。由此便很容易想到用門電路實現(xiàn)數(shù)據(jù)選擇器,若放在C語言中便只是if else,用標志位選擇。。消抖處理時經(jīng)大量查找資料發(fā)現(xiàn)大部分采用延時判斷,代碼復雜,不適用,經(jīng)過優(yōu)化改進,?此消抖模塊簡單使用,可以說這是個不小的收獲。
? 初次發(fā)文總結學習心得,感覺不錯,一起進步成長?。?span toymoban-style="hidden">文章來源地址http://www.zghlxwxcb.cn/news/detail-491174.html
到了這里,關于eda verilog 24h 制數(shù)字鐘,顯示時,分,秒,并可手動調整時和分(簡單實用消抖)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!