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