日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

74HC595實現多位LED顯示的方法

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2011-5-22

  單片機應用系統中使用的顯示器主要有LED和LCD兩種。近年來也有用CRT顯示的。前者價格低廉,配置靈活,與單片機接口方便;后者可進行圖形顯示,但接口較復雜,成本也較高。LED(Ling Emiting Diode)是發光二極管的縮寫。實際應用非常普遍的是八段LED顯示器。LED顯示器在大型報時屏幕,銀行利率顯示,城市霓虹燈建設中,得到廣泛應用。在這些需要多位LED顯示的場合,怎樣實現系統穩定,價格低廉的顯示,成為決定其成本的關鍵所在。
2 74HC595實現LED靜、動態顯示基本原理

     74HC595是美國國家半導體公司生產的通用移位寄存器芯片。并行輸出端具有輸出鎖存功能。與單片機連接簡單方便,只須三個I/O口即可。而且通過芯片的Q7引腳和SER引腳,可以級聯。而且價格低廉.
2.1 靜態顯示


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


 
 
   在多位LED顯示時,為了簡化電路,降低成本,節省系統資源,將所有的N位段選碼并聯在一起,由一片74HC595控制(見圖2)。由于所有LED的段選碼皆由一個74HC595并行輸出口控制,因此,在每一瞬間,N位LED會顯示相同的字符。想要每位顯示不同的字符,就必須采用掃描的方法,即在每一瞬間只使用一位顯示字符。在此瞬間,74HC595并行輸出口輸出相應字符段選碼,而位選則控制I/O口在該顯示位送入選通電平,以保證該位顯示相應字符。如此輪流,使每位分時顯示該位應顯示字符。由于74HC595具有鎖存功能,而且串行輸入段選碼需要一定時間,因此,不需要延時,即可形成視覺暫留效果。
N位LED顯示時,只需要一片74HC595即可完成,成本最低。但是,此種方法的最大弱點就是當LED的位數大于12位時,出現閃爍現象,這是所有動態LED顯示方式共同的弱點。

3 多位LED顯示方法的實現

74HC595具有一個8位串行輸入并行輸出的移位寄存器和一個8位輸出鎖存器。
;================================================
;74HC595 走馬燈演示程序

;================================================

         SDATA_595   EQU   P1.0   ;串行數據輸入
         SCLK_595   EQU   P1.1   ;移位時鐘脈沖
         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
;---------------------------------------------------------------
;輸出鎖存器輸出數據子程序
;---------------------------------------------------------------
OUT_595:
                 LCALL WR_595
                 CLR   RCK_595
                 NOP
                 NOP
                 SETB RCK_595       ;上升沿將數據送到輸出鎖存器
                 NOP
                 NOP
                 NOP
                 CLR   RCK_595
                 RET
;--------------------------------------------------------------
;移位寄存器接收數據子程序
;--------------------------------------------------------------
WR_595:        
                 MOV R4,#08H        
                 MOV A,R0
WR_LOOP:        
                 RLC A
                 MOV SDATA_595,C
                 SETB SCLK_595       ;上升沿發生移位
                 NOP
                 NOP
                 CLR SCLK_595
                 DJNZ R4,WR_LOOP
                 RET
;--------------------------------------------------------------
;延時子程序
;--------------------------------------------------------------
DELAY:          
                 MOV   R5,#03H
DEL0:        
                 MOV   R6,#0FFH
DEL1:          
                 MOV   R7,#0FFH
                 DJNZ   R7,$
                 DJNZ   R6,DEL1
                 DJNZ   R5,DEL0
                 RET
;---------------------------------------------------------------
                 END
 

                               圖3  多位LED動態顯示驅動電路連線圖

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


Tags:單片機,多位led顯示,74HC595  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢