詳解數碼管顯示控制

數碼管種類繁多,按外觀來劃分,可以分為七段數碼管、米字型數碼管、點陣塊等。圖8-5所示為各種不同形狀的數碼管。

詳解數碼管顯示控制

圖8-5 各種不同形狀的數碼管

LED數碼管結構與工作原理

單片機系統中常用的是七段數碼管,它由8個發光二極管(以下簡稱字段)構成,如圖8-6(a)圖所示(注:由於小數點字段不常用,所以一般稱為七段),通過不同的組合可以顯示數字0~9、字符A~F、H、L、P、U、符號“-”及小數點“.”。

根據發光二極管物理連接的不同,七段數碼管可以分為共陰極和共陽極兩種結構。共陰極型數碼管如圖8-6(b)所示,所有字段的陰極均連接低電平,因此在使用共陰極數碼時,需要在相應字段上加高電平,才會使其發光。共陽極數碼管如圖8-6(c)所示,所有字段的陽極均連接高電平,在使用時,需要在相應字段上加低電平。

詳解數碼管顯示控制

圖8-6 7段數碼管結構

LED數碼管字型編碼

在單片機與數碼管組成的應用系統中,一般將單片機的一個並口與數碼管的8個段控制引腳連接,且按照口線位的順序由低到高與a、b、c、d、e、f、g、h連接,這樣,若要顯示不同字符,只需應用單片機的口線輸出相應的控制的電平就可以實現。向口線送的數據就是LED的字型編碼。共陰和共陽的字型編碼如表8-2所示。

詳解數碼管顯示控制

表8-2 共陰和共陽的字型編碼表

LED數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段碼,從而顯示出我們要的數位,因此根據LED數碼管的驅動方式的不同,可以分為靜態顯式和動態顯式兩類。

LED數碼管靜態顯示

靜態驅動也稱直流驅動。靜態驅動是指每個數碼管的每一個段碼都由一個單片機的I/O口線進行驅動,或者使用如BCD碼、二–十進位解碼器解碼進行驅動。

靜態驅動的優點是編程簡單,顯示亮度高,缺點是佔用I/O口較多,如驅動5個數碼管靜態顯示則需要5×8=40根I/O口線來驅動,而1個89S51單片機可用的I/O口線才32個。

2位共陽極數碼管的靜態顯示電路如圖8-7所示。

詳解數碼管顯示控制

圖8-7 2位共陽極數碼管的靜態顯示電路原理圖

顯示數字12的C51程序如下:

詳解數碼管顯示控制

LED數碼管動態顯示

數碼管動態顯示是單片機中應用最為廣泛的顯示方式,動態驅動是將所有數碼管的8個同名端“a,b,c,d,e,f,g,h”連在一起,另外為每個數碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制。

當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,究竟是那個數碼管會顯示出字形,取決於單片機對位選通COM端電路的控制。通過分時輪流控制各個LED數碼管的COM端,就使各個數碼管輪流受控顯示。

在輪流顯示過程中,每位數碼管的點亮時間為1~2ms,由於人的視覺暫留現象及發光二極體的餘輝效應,儘管實際上各位數碼管並非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩定的顯示,不會有閃爍感,動態顯示的效果和靜態顯示相同,並且能夠節省大量的I/O口線,降低功耗。

2位共陽極數碼管動態顯示電路如圖8-8所示。

顯示數字12的C51程序如下:

詳解數碼管顯示控制

詳解數碼管顯示控制

圖8-8 2位共陽極數碼管動態顯示電路原理圖


分享到:


相關文章: