led數(shù)碼管靜態(tài)顯示與動態(tài)顯示
LED顯示器及其接口
常用的LED顯示器有LED狀態(tài)顯示器(俗稱發(fā)光二極管) 、 LED八段顯示器(俗稱數(shù)碼管) 。 發(fā)光二極管可顯示兩種狀態(tài), 用于系統(tǒng)狀態(tài)顯示; led數(shù)碼管用于數(shù)字顯示。
圖1-1 發(fā)光二極管的外形
• 發(fā)光二極管有亮、 滅兩種狀態(tài), 多用于信號或狀態(tài)指示, 普通發(fā)光二極管的外形如圖1-1 所示。
1、 發(fā)光二極管與單片機的接口
圖1-2 發(fā)光二極管與單片機的接口電路
普通發(fā)光二極管的正向?qū)▔航狄话銥?V左右, 工作電流在3-30mA之間, 改變限流電阻的大小可以改變發(fā)光二極管的亮度,一般發(fā)光二極管的工作電流控制在1 0-1 5mA較為合理。 單片機與發(fā)光二極管的接口如圖7-2所示。 可以通過位操作指令CLRP1 .0來點亮發(fā)光二極管, SETB P1 .0來熄滅發(fā)光二極管。
2.數(shù)碼管與單片機的接口
(1 ) 數(shù)碼管的結構與顯示原理
圖1-3 數(shù)碼管的外形及內(nèi)部結構圖 a) 外形 b) 共陽極 c) 共陰極
八段數(shù)碼管由8個發(fā)光二極管構成, 通過不同的組合可用來顯示數(shù)字0~9、 字符A~F、 H、 L、 P、 R、 U、 Y、 符號“-”及小數(shù)點“.”。 根據(jù)八個發(fā)光二極管連接方式的不同可以將數(shù)碼管分為共陰極和共陽極兩種。 數(shù)碼管的外形及內(nèi)部結構如圖1-3所示。
共陽極數(shù)碼管的8個發(fā)光二極管的陽極(二極管正端) 連接在一起, 通常, 公共陽極接高電平(一般接電源) , 其它管腳接段驅(qū)動電路輸出端。 當某段驅(qū)動電路的輸出端為低電平時, 則該端所連接的字段導通并點亮, 根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。 此時, 要求段驅(qū)動電路能吸收額定的段導通電流, 還需根據(jù)外接電源及額定段導通電流來確定相應的限流電阻。
共陰極數(shù)碼管的8個發(fā)光二極管的陰極(二極管負端) 連接在一起, 通常, 公共陰極接低電平(一般接地) , 其它管腳接段驅(qū)動電路輸出端, 當某段驅(qū)動電路的輸出端為高電平時, 則該端所連接的字段導通并點亮, 根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。 此時, 要求段驅(qū)動電路能提供額定的段導通電流, 還需根據(jù)外接電源及額定段導通電流來確定相應的限流電阻。
• 要使數(shù)碼管顯示出相應的數(shù)字或字符必須使段數(shù)據(jù)口輸出相應的字形編碼(成為段碼) 。 8段數(shù)碼管的段碼為8位, 用一個字節(jié)即可表示。 在段碼字節(jié)中代碼位于各段發(fā)光二極管的對應關系見表1-1 。
代碼位 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
顯示段 | dp | g | f | e | d | c | b | a |
段碼的值與使用的led數(shù)碼管類型有關, 如使用共陽極數(shù)碼管, 數(shù)據(jù)為0表示對應字段亮, 數(shù)據(jù)為1 表示對應字段暗; 如使用共陰極數(shù)碼管, 數(shù)據(jù)為0表示對應字段暗, 數(shù)據(jù)為1 表示對應字段亮。 如要顯示“0”, 共陽極數(shù)碼管的字型編碼應為:11 000000B(即C0H) ; 共陰極數(shù)碼管的字型編碼應為:00111111 B(即3FH) 。 依此類推, 可求得數(shù)碼管字形編碼(段碼)
(2) 數(shù)碼管靜態(tài)顯示方式
• 靜態(tài)顯示是指數(shù)碼管顯示某一字符時, 相應的發(fā)光二極管恒定導通或恒定截止。 這種顯示方式的各位數(shù)碼管相互獨立, 公共端恒定接地(共陰極)或接正電源(共陽極) 。 每個數(shù)碼管的8個字段分別與一個8位I/O口地址相連, I/O口只要有段碼輸出, 相應字符即顯示出來, 并保持不變, 直到I/O口輸出新的段碼。 采用靜態(tài)顯示方式, 較小的電流即可獲得較高的亮度, 且占用CPU時間少, 編程簡單, 顯示便于監(jiān)測和控制, 但其占用的口線多, 硬件電路復雜, 成本高, 只適合于顯示位數(shù)較少的場合。
【例1.1】 靜態(tài)顯示應用舉例。
• 如圖1-4所示, 單片機通過P2口并經(jīng)74LS245驅(qū)動一位共陰數(shù)碼管, 編程實現(xiàn)數(shù)碼管循環(huán)顯示0~9。
圖1-4 一位數(shù)碼管靜態(tài)顯示原理圖解:
程序清單:
ORG 0030H
MOV SP,#60H
MOV R0,#00H
DISP0: MOV DPTR,#SEGTAB ;字段碼首地址
DISP1 : MOV A,R0
;從0開始顯示
DISP3: MOVC A,@A+DPTR ;查字符段選碼
MOV P2,A
;從P2口輸出顯示
MOV R3,#1 00 ;停留 1 s
DISP4:ACALL D1 0MS
DJNZ R3,DISP4
INC R0
CJNE R0,#0AH,DISP1
MOV R0,#00H
AJMP DISP1 ;又從0開始顯示
D1 0MS:MOV R7,#1 4H ;1 0ms延時子程序
DLY:MOV R6,#0F8H
DLY1 :DJNZ R6,DLY1
DJNZ R7,DLY
RET
SEGTAB : ;;段碼表
DB 3FH,06H,5BH,4FH,66H ;;0\1 \2\3\4
DB 6DH,7DH,07H,7FH,6FH ;;5\6\7\8\9
END
(3) 數(shù)碼管動態(tài)顯示方式
• 動態(tài)顯示是一位一位地輪流點亮各位數(shù)碼管,這種逐位點亮顯示器的方式稱為位掃描。 通常,各位數(shù)碼管的段選線相應并聯(lián)在一起,由一個8位的I/O口控制; 各位的位選線(公共陰極或陽極) 由另外的I/O口線控制。 動態(tài)方式顯示時,各數(shù)碼管分時輪流選通,要使其穩(wěn)定顯示必須采用掃描方式,即在某一時刻只選通一位數(shù)碼管,并送出相應的段碼,在另一時刻選通另一位數(shù)碼管,并送出相應的段碼,依此規(guī)律循環(huán),即可使各位數(shù)碼管顯示將要顯示的字符,雖然這些字符是在不同的時刻分別顯示,但由于人眼存在視覺暫留效應,只要每位顯示間隔足夠短就可以給人同時顯示的感覺。 采用動態(tài)顯示方式比較節(jié)省I/O口,硬件電路也較靜態(tài)顯示方式簡單,但其亮度不如靜態(tài)顯示方式,而且在顯示位數(shù)較多時,CPU要依次掃描,占用CPU較多的時間。
【例1.2】 動態(tài)顯示舉例。
• 如圖1-5所示,單片機通過P2口并經(jīng)74LS245驅(qū)動4位led數(shù)碼管,送出段碼信號,P1 .0~P1 .3通過反相驅(qū)動后分別是4位數(shù)碼管的位選信號,編程實現(xiàn)4位數(shù)碼管從左到右分別顯示1 、2、 3、 4。
圖1-5 四位數(shù)碼管動態(tài)顯示原理圖解:
顯示過程:利用定時器T0,每1 ms 產(chǎn)生一次中斷,在中斷服務程序中更換一次顯示位,4位一個掃描周期,掃描時間為4ms。 除了定時中斷掃描顯示外,也可以程序控制掃描顯示,但采用定時中斷掃描顯示的掃描周期固定,特別是當單片機的工作任務重時,定時中斷掃描顯示是一種很好的方式。
同類文章排行
- LED數(shù)碼管的檢測
- LED數(shù)碼管故障檢測檢修
- LED數(shù)顯溫度控制器設計論述
- LED大屏幕數(shù)顯裝置在隨流孕育裝置上的應用
- LED數(shù)碼管正裝與倒裝結構區(qū)別
- led數(shù)碼管靜態(tài)顯示方式和動態(tài)顯示方式
- LED七段數(shù)碼管數(shù)字鐘
- led數(shù)碼管顯示種類簡介
- LED數(shù)碼管顯示器介紹
- LED數(shù)碼管動態(tài)掃描顯示控制器設計