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