|
摘 要:本文介紹了應(yīng)用移位寄存器芯片74HC595實(shí)現(xiàn)LED動(dòng)、靜態(tài)顯示的基本原理。提出了一種用74HC595實(shí)現(xiàn)多位LED顯示的新方法。同時(shí)對該系統(tǒng)的硬件組成和軟件實(shí)現(xiàn)作了詳細(xì)說明。實(shí)際應(yīng)用表明,此方法連線簡單方便,成本低廉,可用于24位LED或更多位LED顯示。 關(guān)鍵詞:LED 74HC595 動(dòng)態(tài)顯示 靜態(tài)顯示
1 引言
單片機(jī)應(yīng)用系統(tǒng)中使用的顯示器主要有LED和LCD兩種。近年來也有用CRT顯示的。前者價(jià)格低廉,配置靈活,與單片機(jī)接口方便;后者可進(jìn)行圖形顯示,但接口較復(fù)雜,成本也較高。LED(Ling Emiting Diode)是發(fā)光二極管的縮寫。實(shí)際應(yīng)用非常普遍的是八段LED顯示器。LED顯示器在大型報(bào)時(shí)屏幕,銀行利率顯示,城市霓虹燈建設(shè)中,得到廣泛應(yīng)用。在這些需要多位LED顯示的場合,怎樣實(shí)現(xiàn)系統(tǒng)穩(wěn)定,價(jià)格低廉的顯示,成為決定其成本的關(guān)鍵所在。
2 74HC595實(shí)現(xiàn)LED靜、動(dòng)態(tài)顯示基本原理
74HC595是美國國家半導(dǎo)體公司生產(chǎn)的通用移位寄存器芯片。并行輸出端具有輸出鎖存功能。與單片機(jī)連接簡單方便,只須三個(gè)I/O口即可。而且通過芯片的Q7引腳和SER引腳,可以級聯(lián)。而且價(jià)格低廉,每片單價(jià)為1.5元左右. 2.1 靜態(tài)顯示

每位LED顯示器段選線和74HC595的并行輸出端相連,每一位可以獨(dú)立顯示(見圖1)。在同一時(shí)間里,每一位顯示的字符可以各不相同(每一位由一個(gè)74HC595的并行輸出口控制段選碼)。 N位LED顯示要求N個(gè)74HC595芯片及N+3條I/O口線,占用資源較多,而且成本較高。這對于多位LED顯示很不利。 2.2 動(dòng)態(tài)顯示

在多位LED顯示時(shí),為了簡化電路,降低成本,節(jié)省系統(tǒng)資源,將所有的N位段選碼并聯(lián)在一起,由一片74HC595控制(見圖2)。由于所有LED的段選碼皆由一個(gè)74HC595并行輸出口控制,因此,在每一瞬間,N位LED會(huì)顯示相同的字符。想要每位顯示不同的字符,就必須采用掃描的方法,即在每一瞬間只使用一位顯示字符。在此瞬間,74HC595并行輸出口輸出相應(yīng)字符段選碼,而位選則控制I/O口在該顯示位送入選通電平,以保證該位顯示相應(yīng)字符。如此輪流,使每位分時(shí)顯示該位應(yīng)顯示字符。由于74HC595具有鎖存功能,而且串行輸入段選碼需要一定時(shí)間,因此,不需要延時(shí),即可形成視覺暫留效果。 N位LED顯示時(shí),只需要一片74HC595即可完成,成本最低。但是,此種方法的最大弱點(diǎn)就是當(dāng)LED的位數(shù)大于12位時(shí),出現(xiàn)閃爍現(xiàn)象,這是所有動(dòng)態(tài)LED顯示方式共同的弱點(diǎn)。
74HC595具有一個(gè)8位串行輸入并行輸出的移位寄存器和一個(gè)8位輸出鎖存器。 ;================================================ ;74HC595 走馬燈演示程序
;================================================
SDATA_595 EQU P1.0 ;串行數(shù)據(jù)輸入 SCLK_595 EQU P1.1 ;移位時(shí)鐘脈沖 RCK_595 EQU P1.2 ;輸出鎖存器控制脈沖 ;================================================
ORG 0000H LJMP MAIN ORG 0030H
;================================================ MAIN: MOV SP,#60H MOV R0,#0FEH MAIN1: CALL OUT_595 CALL DELAY MOV A,R0 RL A MOV R0,A JMP MAIN1 ;--------------------------------------------------------------- ;輸出鎖存器輸出數(shù)據(jù)子程序 ;--------------------------------------------------------------- OUT_595: LCALL WR_595 CLR RCK_595 NOP NOP SETB RCK_595 ;上升沿將數(shù)據(jù)送到輸出鎖存器 NOP NOP NOP CLR RCK_595 RET ;-------------------------------------------------------------- ;移位寄存器接收數(shù)據(jù)子程序 ;-------------------------------------------------------------- WR_595: MOV R4,#08H MOV A,R0 WR_LOOP: RLC A MOV SDATA_595,C SETB SCLK_595 ;上升沿發(fā)生移位 NOP NOP CLR SCLK_595 DJNZ R4,WR_LOOP RET ;-------------------------------------------------------------- ;延時(shí)子程序 ;-------------------------------------------------------------- DELAY: MOV R5,#03H DEL0: MOV R6,#0FFH DEL1: MOV R7,#0FFH DJNZ R7,$ DJNZ R6,DEL1 DJNZ R5,DEL0 RET ;--------------------------------------------------------------- END
3 多位LED顯示方法的實(shí)現(xiàn)

圖3 多位LED動(dòng)態(tài)顯示驅(qū)動(dòng)電路連線圖
為實(shí)現(xiàn)24位或更多位LED顯示,本文提出了一種全新的方法。此方法結(jié)合了動(dòng)態(tài)和靜態(tài)顯示的優(yōu)點(diǎn),可以說是兩者的結(jié)合。連線圖如圖3所示。段選碼由三片74HC595控制,段選數(shù)據(jù)由74HC595的SER引腳串行輸入,由于輸出使能時(shí)鐘RCLK并接在一起,因此,三片74HC595并行輸出端同時(shí)輸出。而三個(gè)LED位選信號也并接在一起,因此,一次可以同時(shí)點(diǎn)亮三位LED。此過程類似于靜態(tài)顯示。每片74HC595并行輸出端并接8位LED,用于掃描輸出,此過程類似于動(dòng)態(tài)掃描過程。此方法運(yùn)用3片74HC595,n條位選信號,即可實(shí)現(xiàn)3n位LED顯示。成本低廉,而且節(jié)省資源。此種方法實(shí)現(xiàn)多位LED顯示程序框圖為圖4所示,MCU為89S52。



4 結(jié)論
實(shí)踐證明,此多位LED顯示方法性能穩(wěn)定,如再級聯(lián)一片74HC595,在不需要增加I/O口線的情況下,即可實(shí)現(xiàn)32位LED顯示。筆者做過48位LED顯示,應(yīng)穩(wěn)定可靠。 |