一个按键控制数码管的开和关_基于FPGA的数字电路实验3:点亮数码管
小腳丫板載的數碼管是7段數碼管(如果包括右下的小點可以認為是8段),它分別由a、b、c、d、e、f、g位段和表示小數點的dp位段組成,見圖1。
圖1 7段數碼管數碼管的各個段位是由LED燈組成的,控制每個LED的點亮或熄滅實現數字顯示。通常數碼管分為共陽極數碼管和共陰極數碼管,結構如圖所示。共陰8段數碼管的信號端低電平有效,而共陽端接高電平有效。比如,使共陽端數碼管的a段發光,則在a段信號端加上低電平即可。共陰極的數碼管則相反。小腳丫的板載數碼管為7段共陰極數碼管,可以顯示數字0-9以及字母A-F共計16種選擇。因此,如果我們需要數碼管能顯示所有的16種選擇,需要至少4位輸入碼(24=16)。表1列出了各個數碼管字符所對應的LED燈段位。
表1?各數碼管字符所對應的LED燈段位圖2標注了小腳丫板載的兩個數碼管的各LED段位以及小腳丫上所對應的引腳。其中SEG_DIP為公共端,因此在共陰極數碼管的設計中需要接低電平。可以看出,每一個數碼管都含有9個引腳,因此每一個字符的顯示都需要由一個9位的輸出信號來實現。
圖2接下來我們通過Verilog實現對數碼管的控制。其中,我們將模塊的輸出定義為兩個7段數碼管,每個數碼管有9個引腳,分別由9位信號控制。輸入端由4路信號控制,可以分別對應0-F等十六個字符選擇。module segment ( input wire[3:0] seg_data_1, //四位輸入數據信號,可通過4個撥碼開關控制 input wire[3:0] seg_data_2, //四位輸入數據信號,可通過4個按鍵開關控制 output wire[8:0] segment_led_1, //數碼管1,MSB~LSB =SEG,DP,G,F,E,D,C,B,A output wire[8:0] segment_led_2 //數碼管2,MSB~LSB =SEG,DP,G,F,E,D,C,B,A ); reg[8:0] seg [15:0]; //存儲7段數碼管譯碼數據 initial begin seg[0]=9'h3f; // 0 seg[1]=9'h06; // 1 seg[2]=9'h5b; // 2 seg[3]=9'h4f; // 3 seg[4]=9'h66; // 4 seg[5]=9'h6d; // 5 seg[6]=9'h7d; // 6 seg[7]=9'h07; // 7 seg[8]=9'h7f; // 8 seg[9]=9'h6f; // 9 seg[10]=9'h77; // A seg[11]=9'h7C; // b seg[12]=9'h39; // C seg[13]=9'h5e; // d seg[14]=9'h79; // E seg[15]=9'h71; // F end assign segment_led_1 = seg[seg_data_1]; // 將對應字符導入數碼管1并顯示 assign segment_led_2 = seg[seg_data_2]; // 將對應字符導入數碼管2并顯示endmodule上述代碼是定義7段共陰極數碼管的通用模塊,可以保存起來作為一個獨立模塊。這樣,在以后遇到需要用數碼管顯示的實驗時我們可以直接調用(之后我們還會講解如何調用子模塊),而不用再重新寫一遍代碼。接下來是提問環節:當我們指定用撥碼開關SW1-SW4來控制左邊數碼管,按鍵開關K1-K4來控制右側數碼管,此時如果開關的狀態分別如下圖所示,數碼管應該顯示什么字符?
注:撥碼開關調至上方為1,下方為0。按鍵開關白色為1(松開),黑色為0(按下)。大家可以當作課后練習來鞏固一下知識,也歡迎在公眾號留言給出自己的答案。而為了幫助更多老師快速上手FPGA的使用和教學,在即將到來的寒假,我們針對高校從事教學/實驗室一線工作的教師,推出一個為期5天(2021年1月25日-1月29日)的FPGA設計及應用快速培訓,通過實用性非常強的典型案例動手實踐,幫助大家快速、有效地上手FPGA,并能夠在未來的教學、實踐、電賽中大顯身手,硬禾實戰營也將成為參加培訓的老師們長期的教學后援。
詳情請見這里或者今天公眾號的二條。期待在美麗的蘇州跟您一起探討FPGA和教學實踐的結合。
END
硬禾學堂
硬禾團隊一直致力于給電子工程師和相關專業的同學,帶來規范的核心技能課程,幫助大家在學習和工作的各個階段,都能有效地提升自己的職業能力。
硬禾學堂
我們一起在電子領域探索前進
關注硬禾服務號,隨時直達課堂
? ? ??點擊閱讀原文報名參加高校教師培訓班
總結
以上是生活随笔為你收集整理的一个按键控制数码管的开和关_基于FPGA的数字电路实验3:点亮数码管的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 操作 神通数据库_国产数据库最好的时代
- 下一篇: xxl子任务_XXL-JOB v2.0.