小腳丫板載的數(shù)碼管是7段數(shù)碼管(如果包括右下的小點可以認(rèn)為是8段),它分別由a、b、c、d、e、f、g位段和表示小數(shù)點的dp位段組成,見圖1。
圖1 7段數(shù)碼管數(shù)碼管的各個段位是由LED燈組成的,控制每個LED的點亮或熄滅實現(xiàn)數(shù)字顯示。通常數(shù)碼管分為共陽極數(shù)碼管和共陰極數(shù)碼管,結(jié)構(gòu)如圖所示。共陰8段數(shù)碼管的信號端低電平有效,而共陽端接高電平有效。比如,使共陽端數(shù)碼管的a段發(fā)光,則在a段信號端加上低電平即可。共陰極的數(shù)碼管則相反。

?
?小腳丫的板載數(shù)碼管為7段共陰極數(shù)碼管,可以顯示數(shù)字0-9以及字母A-F共計16種選擇。因此,如果我們需要數(shù)碼管能顯示所有的16種選擇,需要至少4位輸入碼(24=16)。表1列出了各個數(shù)碼管字符所對應(yīng)的LED燈段位。
表1各數(shù)碼管字符所對應(yīng)的LED燈段位

圖2標(biāo)注了小腳丫板載的兩個數(shù)碼管的各LED段位以及小腳丫上所對應(yīng)的引腳。其中SEG_DIP為公共端,因此在共陰極數(shù)碼管的設(shè)計中需要接低電平??梢钥闯?,每一個數(shù)碼管都含有9個引腳,因此每一個字符的顯示都需要由一個9位的輸出信號來實現(xiàn)。

接下來我們通過Verilog實現(xiàn)對數(shù)碼管的控制。其中,我們將模塊的輸出定義為兩個7段數(shù)碼管,每個數(shù)碼管有9個引腳,分別由9位信號控制。輸入端由4路信號控制,可以分別對應(yīng)0-F等十六個字符選擇。
module segment(input wire[3:0] seg_data_1, //四位輸入數(shù)據(jù)信號,可通過4個撥碼開關(guān)控制input wire[3:0] seg_data_2, //四位輸入數(shù)據(jù)信號,可通過4個按鍵開關(guān)控制output wire[8:0] segment_led_1, //數(shù)碼管1,MSB~LSB =SEG,DP,G,F,E,D,C,B,Aoutput wire[8:0] segment_led_2 //數(shù)碼管2,MSB~LSB =SEG,DP,G,F,E,D,C,B,A);reg[8:0] seg [15:0]; //存儲7段數(shù)碼管譯碼數(shù)據(jù)initialbeginseg[0]=9'h3f; // 0seg[1]=9'h06; // 1seg[2]=9'h5b; // 2seg[3]=9'h4f; // 3seg[4]=9'h66; // 4seg[5]=9'h6d; // 5seg[6]=9'h7d; // 6seg[7]=9'h07; // 7seg[8]=9'h7f; // 8seg[9]=9'h6f; // 9seg[10]=9'h77; // Aseg[11]=9'h7C; // bseg[12]=9'h39; // Cseg[13]=9'h5e; // dseg[14]=9'h79; // Eseg[15]=9'h71; // Fendassign segment_led_1 = seg[seg_data_1]; // 將對應(yīng)字符導(dǎo)入數(shù)碼管1并顯示assign segment_led_2 = seg[seg_data_2]; // 將對應(yīng)字符導(dǎo)入數(shù)碼管2并顯示endmodule
上述代碼是定義7段共陰極數(shù)碼管的通用模塊,可以保存起來作為一個獨立模塊。這樣,在以后遇到需要用數(shù)碼管顯示的實驗時我們可以直接調(diào)用(之后我們還會講解如何調(diào)用子模塊),而不用再重新寫一遍代碼。
接下來是提問環(huán)節(jié):
當(dāng)我們指定用撥碼開關(guān)SW1-SW4來控制左邊數(shù)碼管,按鍵開關(guān)K1-K4來控制右側(cè)數(shù)碼管,此時如果開關(guān)的狀態(tài)分別如下圖所示,數(shù)碼管應(yīng)該顯示什么字符?
而為了幫助更多老師快速上手FPGA的使用和教學(xué),在即將到來的寒假,我們針對高校從事教學(xué)/實驗室一線工作的教師,推出一個為期5天(2021年1月25日-1月29日)的FPGA設(shè)計及應(yīng)用快速培訓(xùn),通過實用性非常強的典型案例動手實踐,幫助大家快速、有效地上手FPGA,并能夠在未來的教學(xué)、實踐、電賽中大顯身手,硬禾實戰(zhàn)營也將成為參加培訓(xùn)的老師們長期的教學(xué)后援。
責(zé)任編輯:xj
原文標(biāo)題:基于FPGA的數(shù)字電路實驗3:點亮數(shù)碼管
文章出處:【微信公眾號:FPGA入門到精通】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
FPGA
+關(guān)注
關(guān)注
1660文章
22412瀏覽量
636395 -
數(shù)碼管
+關(guān)注
關(guān)注
32文章
1894瀏覽量
94150 -
數(shù)字電路
+關(guān)注
關(guān)注
193文章
1651瀏覽量
83347
原文標(biāo)題:基于FPGA的數(shù)字電路實驗3:點亮數(shù)碼管
文章出處:【微信號:xiaojiaoyafpga,微信公眾號:電子森林】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
【RA-Eco-RA2E1-V1.0開發(fā)板試用】串行數(shù)碼管模塊顯示驅(qū)動
數(shù)碼管 選型手冊2025年最新版
【EASY EAI Nano-TB(RV1126B)開發(fā)板試用】+片溫檢測與顯示
【EASY EAI Nano-TB(RV1126B)開發(fā)板試用】+串行數(shù)碼管的顯示驅(qū)動
第6章 中斷與數(shù)碼管動態(tài)顯示(6.1 6.2)
第5章 定時器與數(shù)碼管基礎(chǔ)(5.3)
【瑞薩RA6E2】ADC數(shù)據(jù)采集與數(shù)碼管顯示
FZH119 一種LED(發(fā)光二極管顯示器)驅(qū)動控制與用電路,內(nèi)部集成有MCU 數(shù)字接口、數(shù)據(jù)鎖存器、 LED 驅(qū)動等電路
原廠 FZH114C 一款LED(發(fā)光二極管、數(shù)碼管、點陣屏)驅(qū)動控制專用芯片
FZH114 LED(發(fā)光二極管、數(shù)碼管、點陣屏)驅(qū)動控制專用芯片,集成數(shù)字通訊電路、 解碼電路、數(shù)據(jù)鎖存器、震蕩器
級聯(lián)動態(tài)掃描顯示數(shù)碼管問題
抗噪數(shù)顯驅(qū)動數(shù)碼管顯示IC芯片VK1616
廣州唯創(chuàng)電子語音芯片WTV380-B001數(shù)碼管顯示驅(qū)動ic:開啟智能廚房的“芯”體驗
【應(yīng)用】工業(yè)現(xiàn)場的“智能顯示管家”:億佰特EID051-1xx系列 Modbus數(shù)碼管解析
通過小腳丫板載的兩個數(shù)碼管來顯示字符
評論