分清楚共陽(yáng)極和共陰極
如上圖所示的這個(gè)就是共陽(yáng)極的,也就是在上面的3號(hào)引腳或者8號(hào)引腳輸入高電平,下面的引腳輸入低電平,就可以點(diǎn)亮某一個(gè)管。比如,3號(hào)引腳輸入高電平5V,7號(hào)引腳輸入低電平接GND,那么A管就點(diǎn)亮,可以用同樣的道理點(diǎn)亮其他每一個(gè)管。
那么共陰極的呢,自然就是二極管的方向反過(guò)來(lái),如下圖,操作的方法自然也就是反過(guò)來(lái)的。
數(shù)碼管怎么配合單片機(jī)進(jìn)行使用呢?
如果只有一位數(shù)碼管,而且在單片機(jī)引腳夠用的情況下,我們可以采用直接連接的方式。假如你用的是STM32,3.3V的推挽輸出驅(qū)動(dòng)數(shù)碼管一般也完全夠用了。那么我們就可以直接把單片機(jī)引腳接到數(shù)碼管引腳上面,通過(guò)控制單片機(jī)引腳就可以控制數(shù)碼管,這里沒(méi)有學(xué)過(guò)單片機(jī)的小伙伴可以先撤退了,了解了單片機(jī)再過(guò)來(lái)
當(dāng)引腳數(shù)量充足的時(shí)候,當(dāng)然可以像上圖一樣這么做,但是如果引腳不夠怎么辦?
譯碼器
可以使用譯碼器來(lái)輔助設(shè)計(jì),比如在只有一位數(shù)碼管的情況下,為了給單片機(jī)留出更多引腳,我們就可以這么設(shè)計(jì)
這里利用到了一個(gè)3位譯碼8位的譯碼器,不知道譯碼器怎么用的小伙伴可以去復(fù)(yu)習(xí)一下數(shù)電了,這里放上譯碼器的真值表,我們發(fā)現(xiàn)我們通過(guò)單片機(jī)的三個(gè)引腳就能控制8位的輸出了
細(xì)心的小伙伴可能發(fā)現(xiàn)問(wèn)題了,這個(gè)譯碼器是可以做到八位輸出,每次只能輸出一位低電平,怎么樣才能同時(shí)控制數(shù)碼管的八個(gè)段呢?
這里其實(shí)需要解決的問(wèn)題有兩個(gè),我們這里先說(shuō)第一個(gè)
8個(gè)輸出引腳,只能有一個(gè)引腳是低電平,其余是高電平,怎么同時(shí)控制八位?
這里可以用到我們?nèi)搜鄣囊曈X(jué)延遲效應(yīng),既然沒(méi)法同時(shí)點(diǎn)亮,那就一個(gè)一個(gè)點(diǎn)亮,時(shí)間足夠短,看起來(lái)就和同時(shí)點(diǎn)亮一樣了。
這里就涉及到了第二個(gè)問(wèn)題了
如果數(shù)碼管是共陽(yáng)極的,一個(gè)一個(gè)點(diǎn)亮自然沒(méi)什么問(wèn)題,但如果是共陰極呢?
我們會(huì)發(fā)現(xiàn),共陰極數(shù)碼管采用這種方式,只能熄滅其中一個(gè)管,沒(méi)法做到我們上面說(shuō)的效果,那么這個(gè)時(shí)候就需要用到非門(mén)進(jìn)行電平的反轉(zhuǎn)了。聽(tīng)起來(lái)好像很簡(jiǎn)單,加個(gè)非門(mén)就好了,在數(shù)碼管只有一位的情況下確實(shí)是這樣的。
我們上面這種設(shè)計(jì)方法,如果遇到多位數(shù)碼管怎么辦呢?
下面給大家分享一個(gè)案例
案例分享
如上原理圖,采用了一個(gè)38譯碼器(型號(hào)為74HC138D,653),譯碼器的真值表同上文,右邊的數(shù)碼管是個(gè)共陽(yáng)數(shù)碼管。這個(gè)案例采用的設(shè)計(jì)方法是把數(shù)碼管的段接到了譯碼器上,位選直接接到了單片機(jī)的引腳。
乍一看,這么設(shè)計(jì)好像沒(méi)有什么毛病
實(shí)際上在編程的時(shí)候,我們想象一下這個(gè)邏輯,如果要同時(shí)點(diǎn)亮四個(gè)數(shù)碼管,并讓他顯示不同的數(shù)字,那么我們會(huì)發(fā)現(xiàn),這四個(gè)位置的數(shù)字是不能同時(shí)操作的。為什么呢?因?yàn)樗膫€(gè)位置的數(shù)碼管段選都連在了同一個(gè)譯碼器上,只能一個(gè)一個(gè)去點(diǎn)亮他們
這時(shí)候就出現(xiàn)了一個(gè)大問(wèn)題,當(dāng)我們只有a,b,c...dp八個(gè)段的時(shí)候,逐個(gè)點(diǎn)亮看不出明顯的亮度減弱,而現(xiàn)在有32個(gè)段,如果逐個(gè)點(diǎn)亮,每個(gè)段實(shí)際通電的時(shí)間只有總時(shí)間的1/32,這時(shí)候就會(huì)發(fā)現(xiàn)數(shù)碼管的亮度明顯被削弱了。當(dāng)然,會(huì)有人想用ULN2003之類(lèi)的芯片來(lái)提高電壓,也沒(méi)問(wèn)題,但我認(rèn)為這里最好的解決方法并不是提高電壓
第一種,我認(rèn)為應(yīng)該是把譯碼器接到數(shù)碼管的位上,也就是原理圖中的DIG1-DIG4可以用一個(gè)24譯碼器,然后a-dp這8個(gè)段直接接到單片機(jī)上,當(dāng)然這種方法也需要用到很多的單片機(jī)引腳,或者更適合位數(shù)較多的數(shù)碼管。因此,我們還可以用另一種器件來(lái)實(shí)現(xiàn)我們需要的功能
那就是,鎖存器
鎖存器
鎖存器,顧名思義,就是鎖住電平用的。如果大學(xué)期間參加過(guò)藍(lán)橋杯單片機(jī)或嵌入式的比賽,應(yīng)該就會(huì)對(duì)這個(gè)東西特別熟悉
我這里拿藍(lán)橋杯用過(guò)的鎖存器M74HC573M1R來(lái)舉例,如下圖,當(dāng)Y6C的電平改變時(shí),就能開(kāi)關(guān)鎖存,具體是高電平開(kāi)還是低電平開(kāi)我就偷個(gè)懶不去差手冊(cè)了,大家如果要用這款芯片來(lái)做電路設(shè)計(jì)記得去查一下手冊(cè)。所以其實(shí)鎖存就是存下來(lái)并鎖住,通過(guò)控制Y6C就可以控制右側(cè)com1-com8的電平是否和左側(cè)相同,這樣就可以最大程度利用到單片機(jī)的引腳資源了
對(duì)了,進(jìn)階選手可以了解一下移位寄存器74HC595,這款芯片還是比較常用來(lái)驅(qū)動(dòng)數(shù)碼管的。
審核編輯:劉清
-
二極管
+關(guān)注
關(guān)注
148文章
9859瀏覽量
168457 -
單片機(jī)
+關(guān)注
關(guān)注
6050文章
44687瀏覽量
641181 -
STM32
+關(guān)注
關(guān)注
2276文章
10947瀏覽量
359159 -
數(shù)碼管
+關(guān)注
關(guān)注
32文章
1887瀏覽量
91673 -
GND
+關(guān)注
關(guān)注
2文章
540瀏覽量
39049
原文標(biāo)題:【電子設(shè)計(jì)】數(shù)碼管電路該怎么設(shè)計(jì)
文章出處:【微信號(hào):HGL-DXP2004,微信公眾號(hào):DXP設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
數(shù)碼管的原理是什么?如何對(duì)數(shù)碼管進(jìn)行仿真呢
學(xué)51單片機(jī)之數(shù)碼管部分
基于單片機(jī)的綜合應(yīng)用程序數(shù)碼管【C語(yǔ)言】定時(shí)器控制數(shù)碼管
基于單片機(jī)的綜合應(yīng)用程序數(shù)碼管【C語(yǔ)言】595級(jí)聯(lián)控制數(shù)碼管
51單片機(jī)數(shù)碼管顯示學(xué)號(hào)
動(dòng)態(tài)數(shù)碼管
數(shù)碼管的介紹和使用51單片機(jī)應(yīng)用數(shù)碼管的程序免費(fèi)下載

單片機(jī)學(xué)習(xí)----數(shù)碼管顯示原理及應(yīng)用代碼規(guī)劃

基于單片機(jī)的LED數(shù)碼管循環(huán)移位顯示

單片機(jī)--LED 數(shù)碼管實(shí)驗(yàn)

單片機(jī)數(shù)碼管詳解

單片機(jī)零基礎(chǔ)入門(mén)(8-1)學(xué)會(huì)單片機(jī)數(shù)碼管,這篇文章就夠了,一文吃透數(shù)碼管---數(shù)碼管如何定義引腳?數(shù)碼

評(píng)論