1基礎(chǔ)理論部分
led數(shù)碼管是由多個(gè)發(fā)光二極管封裝在一起組合的“8”字型的器件,引線內(nèi)部已經(jīng)完成,如下圖10.1所示,圖10.2為實(shí)物圖。
圖10.1 數(shù)碼管內(nèi)部結(jié)構(gòu)
那么我們想要控制數(shù)碼管的亮滅,其實(shí)也就是控制發(fā)光二極管的亮滅,分別用高低電平去控制。對(duì)于數(shù)碼管來(lái)說(shuō),讀者若是學(xué)過(guò)單片機(jī)及其他MCU的話,其實(shí)都知道數(shù)碼管的控制有兩個(gè)信號(hào)是比較重要的,一個(gè)是段選信號(hào),一個(gè)是位選信號(hào),位選信號(hào)是針對(duì)有多個(gè)數(shù)碼管時(shí),需要控制哪一個(gè)數(shù)碼管發(fā)亮,段選就是控制數(shù)碼管顯示什么數(shù)字。
那么在購(gòu)買(mǎi)數(shù)碼管的時(shí)候,往往買(mǎi)回來(lái)時(shí)上面沒(méi)有標(biāo)注各引腳信息。這時(shí)不要慌,首先你購(gòu)買(mǎi)時(shí)要分清共陽(yáng)極還是共陰極數(shù)碼管,共陽(yáng)極和共陰極數(shù)碼管電路示意圖如圖10.2所示。然后可以利用萬(wàn)用表打到“二極管”檔位,然后萬(wàn)用表正極接觸數(shù)碼管一個(gè)引腳,負(fù)極去挨個(gè)觸碰其他引腳,直到數(shù)碼管發(fā)亮?xí)r,可以記錄對(duì)應(yīng)的引腳信息即可。
圖10.2 數(shù)碼管共陽(yáng)和共陰極電路圖
1.1 靜態(tài)顯示
靜態(tài)驅(qū)動(dòng)也稱(chēng)直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來(lái)驅(qū)動(dòng)。
1.2 動(dòng)態(tài)顯示
動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制。
2 Verilog代碼實(shí)現(xiàn)部分
現(xiàn)在要實(shí)現(xiàn)數(shù)碼管的靜態(tài)顯示功能,從0加到f,時(shí)間間隔為1s。封裝接口為
2.1 smg_control模塊
上述是整個(gè)模塊的聲明,并且調(diào)用了smg_param.v的文件,用于數(shù)碼管解碼參數(shù)的設(shè)置,關(guān)于include的用法可以參考其他語(yǔ)法書(shū)籍。
兩個(gè)計(jì)數(shù)器,一個(gè)用于實(shí)現(xiàn)時(shí)鐘計(jì)數(shù)1s,一個(gè)用于數(shù)碼管編解碼計(jì)數(shù)控制。
上述是實(shí)現(xiàn)數(shù)碼管解碼部分,注意smg_param.v中參數(shù)調(diào)用的方法。
2.2 smg_param模塊
仿真程序很簡(jiǎn)單,只需添加時(shí)鐘和復(fù)位信號(hào)即可。測(cè)試的腳本文件如圖10.3所示,因測(cè)試時(shí)將計(jì)數(shù)改到50,所以周期是1000ns。
圖 10.3 測(cè)試腳本文件
-
led
+關(guān)注
關(guān)注
242文章
23847瀏覽量
674166 -
發(fā)光二極管
+關(guān)注
關(guān)注
13文章
1218瀏覽量
67660 -
led數(shù)碼管
+關(guān)注
關(guān)注
2文章
73瀏覽量
22615 -
數(shù)碼管
+關(guān)注
關(guān)注
32文章
1889瀏覽量
92622
發(fā)布評(píng)論請(qǐng)先 登錄
數(shù)碼管的結(jié)構(gòu)與原理
基于FPGA實(shí)現(xiàn)數(shù)碼管顯示

評(píng)論