導(dǎo)語
數(shù)碼管/LED點(diǎn)陣是嵌入式系統(tǒng)中常見的顯示方案,我們通過數(shù)碼管可以將代碼運(yùn)行的結(jié)果可視化出來,是一種常見的顯示器件,相對(duì)于屏幕,數(shù)碼管成本低,被廣泛的運(yùn)用在各類小型家電,工業(yè)控制中。學(xué)會(huì)使用數(shù)碼管,對(duì)于理解C語言控制GPIO有著很大的幫助。
數(shù)碼管
數(shù)碼管本質(zhì)上是多個(gè)發(fā)光的LED等封裝在一起,通過不同的LED燈點(diǎn)亮,使得數(shù)字或者符號(hào)顯示出來,常見的由八段數(shù)碼管,包括小數(shù)點(diǎn)在內(nèi)共有8個(gè)LED燈封裝在一起,其顯示符號(hào)范圍較廣,配合封裝顯示可有更廣泛的顯示,被廣泛使用。
其他更復(fù)雜的如米字?jǐn)?shù)碼管可以顯示數(shù)字和26個(gè)英文字母,但其控制更加復(fù)雜,不常使用。
由于采用LED燈作為顯示光源,由此數(shù)碼管也存在共陰極和共陽極,其共陰極和共陽極控制有所區(qū)別。
通過選擇這些數(shù)碼管的開啟,其dp,gfedcba的端口順序排列可以產(chǎn)生一個(gè)8位2進(jìn)制數(shù)來表示亮滅信息,并在C51中用HEX放在uchar數(shù)組中進(jìn)行使用。
//共陰極:位選為低電平(即0)選中數(shù)碼管,各段選為高電平(即1接+5V時(shí))選中各數(shù)碼段(0~f)
//共陰數(shù)碼管段選表,無小數(shù)點(diǎn):
unsigned char code distab[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//共陰數(shù)碼管段選表,有小數(shù)點(diǎn):
unsigned char code distab[16] = {0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd, 0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1};
//共陰數(shù)碼管位選表-8個(gè)
unsigned char code distab[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F};//位選
/*******************************************************************************************************************/
//共陽極:位選為高電平(即1)選中數(shù)碼管,各段選為低電平(即0接地時(shí))選中各數(shù)碼段(0~f)
元器件是電路良好運(yùn)行的基本保證,找元器件現(xiàn)貨上唯樣商城,原廠授權(quán)正品保障,品類齊全。
//共陽數(shù)碼管段選碼表,無小數(shù)點(diǎn):
unsigned char code distab[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
//共陽數(shù)碼管段選碼表,有小數(shù)點(diǎn):
unsigned char code distab[16]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78, 0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};
//共陽數(shù)碼管位選表-8個(gè)
unsigned char code distab[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//位選
1位八段數(shù)碼管一般會(huì)引出9個(gè)引腳,其中7個(gè)引腳顯示數(shù)字(或某些字母),1個(gè)顯示小數(shù)點(diǎn),1個(gè)作為片選端。
n位一般引出n + 8引腳,n個(gè)片選引腳,8個(gè)顯示引腳為共享引腳。
元器件是電路良好運(yùn)行的基本保證,找元器件現(xiàn)貨上唯樣商城,原廠授權(quán)正品保障,品類齊全。
靜態(tài)顯示
何為片選信號(hào)?以共陰極為例,其公共引腳為低電平時(shí),其他8個(gè)控制引腳的電平才有效果。若為高電平,則IO操作對(duì)當(dāng)前位置無效。
當(dāng)片選信號(hào)全部打開時(shí),8個(gè)顯示IO的操作將顯示在兩位數(shù)碼管上,這就是數(shù)碼管的靜態(tài)顯示,
元器件是電路良好運(yùn)行的基本保證,找元器件現(xiàn)貨上唯樣商城,原廠授權(quán)正品保障,品類齊全。
動(dòng)態(tài)顯示
利用人眼的視覺暫留,快速的切換數(shù)碼管的片選信號(hào),同時(shí)切換位選信號(hào)(8個(gè)顯示IO的電平操作),便可以達(dá)到在人眼看來可以顯示多位數(shù)字0-99。通過增加更多的數(shù)碼管,便可以顯示更多的系統(tǒng)狀態(tài)。
元器件是電路良好運(yùn)行的基本保證,找元器件現(xiàn)貨上唯樣商城,原廠授權(quán)正品保障,品類齊全。
缺陷與對(duì)策
我們可以直接將數(shù)碼管直接接在單片機(jī)的IO上去驅(qū)動(dòng),但在多數(shù)的時(shí)候,我們不會(huì)去這樣做。多位數(shù)碼管將在系統(tǒng)中占用大量的IO,在一些IO豐富的單片機(jī)上這算不了什么,但在對(duì)于引腳較少的單片機(jī)中,我們可以通過增加外圍電路來解決這個(gè)問題。
鎖存器
對(duì)于常見于單片機(jī)學(xué)習(xí)板上多以鎖存器為主,如74HC573芯片,包含八路3態(tài)輸出的非反轉(zhuǎn)透明鎖存器。鎖存器同它的名字一樣,他可以將一些信號(hào)鎖上并”保存“起來。
當(dāng)鎖存使能端LE為高時(shí),這些器件的鎖存對(duì)于數(shù)據(jù)是透明的。單片機(jī)的輸入會(huì)直接通過芯片傳向數(shù)碼管。即D端口和O端口相連。
當(dāng)鎖存使能變低時(shí),單片機(jī)的輸入對(duì)于74HC573芯片的輸出不在有影響,當(dāng)輸入的數(shù)據(jù)消失時(shí),在芯片的輸出端,數(shù)據(jù)仍然保持;即芯片輸出取決于使能變低前輸入的數(shù)據(jù),舊數(shù)據(jù)可以保持,繼續(xù)控制數(shù)碼管。
這樣我們就可以使用8個(gè)IO與對(duì)應(yīng)的2個(gè)芯片使能IO,控制8位數(shù)碼管,其具體代碼實(shí)現(xiàn)可去理解例程,本文不做解釋。
元器件是電路良好運(yùn)行的基本保證,找元器件現(xiàn)貨上唯樣商城,原廠授權(quán)正品保障,品類齊全。
數(shù)碼管顯示驅(qū)動(dòng)芯片
CH450是一款數(shù)碼管顯示驅(qū)動(dòng)芯片,可以用于驅(qū)動(dòng) 6位數(shù)碼管或 48點(diǎn) LED矩陣,可通過I2C接口與單片機(jī)進(jìn)行通信。
其數(shù)碼管被廣泛運(yùn)用,理解GPIO與鎖存器便可以熟練使用數(shù)碼管器件。
元器件是電路良好運(yùn)行的基本保證,找元器件現(xiàn)貨上唯樣商城,原廠授權(quán)正品保障,品類齊全。
-
51單片機(jī)
+關(guān)注
關(guān)注
273文章
5697瀏覽量
123014 -
數(shù)碼管
+關(guān)注
關(guān)注
32文章
1874瀏覽量
90878
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論