131 1300 0010
開關(guān)電源
  • 導(dǎo)航欄目
  • 逆變電源
  • 開關(guān)電源
  • 電機(jī)伺服
  • 其他電源
  • 串行LED顯示電路設(shè)計(jì)
    串行LED顯示電路設(shè)計(jì)
  • 串行LED顯示電路設(shè)計(jì)
  •   發(fā)布日期: 2018-12-12  瀏覽次數(shù): 1,053

    在單片機(jī)系統(tǒng)設(shè)計(jì)中,LED顯示方式由于具有使用方便、價(jià)格低廉等優(yōu)點(diǎn)而得到廣泛應(yīng)用。在采用并行顯示方式時(shí),顯示電路的段碼與位控碼要占用單片機(jī)的較多口線,盡管可采用8155等接口芯片進(jìn)行擴(kuò)展,但口線利用率仍較低,不能滿足大型控制系統(tǒng)的要求。采用串行顯示方式則只需占用2至3根口線,節(jié)約單片機(jī)大量的I/O線,且使用效果很好。本任務(wù)利用74HC595A實(shí)現(xiàn)多位LED串行顯示。

     


    真的很實(shí)用!串行LED顯示電路設(shè)計(jì)

    74HC595芯片

    1.74HC595A工作原理

    74HC595A內(nèi)部含有8位移位寄存器和8位D鎖存器,內(nèi)部結(jié)構(gòu)見(jiàn)圖所示。

     


    真的很實(shí)用!串行LED顯示電路設(shè)計(jì)

    74HC595A內(nèi)部邏輯結(jié)構(gòu)

     


    真的很實(shí)用!串行LED顯示電路設(shè)計(jì)

    74HC595與數(shù)碼管連接

    串行移位寄存器接收外部輸入串行數(shù)據(jù),一方面可進(jìn)行串行數(shù)據(jù)輸出,同時(shí)向鎖存器提供8位并行輸入數(shù)據(jù),并具有異步復(fù)位功能;8位鎖存器可三態(tài)輸出并行數(shù)據(jù)。該芯片具有串行輸入、并行輸出兩個(gè)獨(dú)立的時(shí)鐘信號(hào)。

     


    真的很實(shí)用!串行LED顯示電路設(shè)計(jì)

    74HC595A邏輯功能表

    注:U:不變;N:數(shù)據(jù)刷新;Z:高阻。

    2.應(yīng)用電路設(shè)計(jì)

    下圖為12位LED顯示器應(yīng)用電路。若采用普通的LED并行顯示方式需擴(kuò)展單片機(jī)接口,電路復(fù)雜、成本高。本系統(tǒng)利用三片74HC595A芯片實(shí)現(xiàn)12位串行LED顯示控制。使用時(shí),在串行時(shí)鐘的控制下,可將顯示器位控碼與段控碼逐位串行輸入至三個(gè)芯片中,然后利用鎖存信號(hào)實(shí)現(xiàn)并行輸出,完成12數(shù)數(shù)碼顯示更新。利用此顯示方式僅占用單片機(jī)三根口線,極大節(jié)約單片機(jī)口線資源。采用串行數(shù)據(jù)輸入,顯示速度相對(duì)較慢,實(shí)際使用時(shí)顯示效果穩(wěn)定、可靠,完全滿足設(shè)計(jì)要求。

     


    真的很實(shí)用!串行LED顯示電路設(shè)計(jì)

    12位LED串行顯示應(yīng)用電路

    初始位控碼設(shè)定為顯示第一位數(shù)碼管(共陰極),見(jiàn)下表第一行位控碼。每顯示完一位,需要改變位控碼以顯示下一位,下表反映了位控碼的變化情況。1區(qū)寄存器R6、R7用于存放處理位控碼。

     


    真的很實(shí)用!串行LED顯示電路設(shè)計(jì)

    12位LED顯示器位控碼形成示意圖

    3. 顯示程序工作方式

    本程序采用定時(shí)方式控制顯示器工作。12位顯示器采用動(dòng)態(tài)掃描顯示,每位顯示器顯示時(shí)間大約為1.67ms,由定時(shí)器T0控制。T0定時(shí)時(shí)間到產(chǎn)生顯示中斷,進(jìn)入顯示中斷程序顯示下一位數(shù)據(jù)。這種顯示方式可提高CPU的工作效率,可準(zhǔn)確控制顯示器的刷新速度。

    4.中斷顯示子程序應(yīng)用

    編制一程序,在12位數(shù)碼管上依次顯示0、1、2、3、4、5、6、7、8、9、0、1

    ORG 0000H

    DSDATE BIT P1.0 ;串行數(shù)據(jù)輸入

    DSCLK BIT P1.1 ;串行移位時(shí)鐘

    DSLUCK BIT P1.2 ;并行鎖存時(shí)鐘

    DISBUF EQU 51H ;顯示緩沖區(qū)首址

    DS20 EQU 34H ;20ms定時(shí)寄存器(12位顯示計(jì)數(shù)器)

    LJMP MAIN ;轉(zhuǎn)主程序

    ORG 000BH

    LJMP TIMINT ;轉(zhuǎn)定時(shí)顯示中斷子程序

    MAIN: MOV SP,#70H ;置椎棧指針

    MOV 51H,#00H ;預(yù)置顯示緩沖區(qū)

    MOV 52H,#01H

    MOV 53H,#02H

    MOV 54H,#03H

    MOV 55H,#04H

    MOV 56H,#05H

    MOV 57H,#06H

    MOV 58H,#07H

    MOV 59H,#08H

    MOV 5AH,#09H

    MOV 5BH,#00H

    MOV 5CH,#01H

    MOV 08H,#DISBUF ;1區(qū)R0指向顯示緩沖區(qū)首址

    MOV 0EH,#07H ;置初始位控碼(1區(qū)R6)

    MOV 0FH,#0FFH ;置初始位控碼(1區(qū)R7)

    MOV TMOD,#01H ;置T0為1.67ms定時(shí)器

    MOV TL0,#00H

    MOV TH0,#0FAH

    MOV DS20,#12 ;置顯示位數(shù)計(jì)數(shù)器

    SETB TR0 ;啟動(dòng)T0

    SETB EA ;開中斷

    SETB ET0 ;開T0中斷

    HERE: SJMP HERE

    TIMINT: PUSH PSW ;定時(shí)顯示中斷子程序,狀態(tài)字進(jìn)棧

    MOV PSW,#08H ;重置狀態(tài)字,選擇1區(qū)工作寄存器

    PUSH ACC ;累加器進(jìn)棧

    PUSH B ;B寄存器進(jìn)棧

    CLR TR0 ;停止T0定時(shí)

    MOV TH0,#0FAH ;重置1.67ms定時(shí)初值

    MOV TL0,#00H

    SETB TR0 ;啟動(dòng)T0定時(shí)

    MOV R5,0FH ;位控碼送R4、R5

    MOV R4,0EH

    LCALL DIS1 ;調(diào)用顯示一位數(shù)碼管子程序

    SETB C ;形成顯示下一位位控碼并置于1區(qū)R6、R7中

    MOV A,R6

    SETB ACC.4

    RRC A

    MOV R6,A

    MOV A,R7

    RRC A

    MOV R7,A

    DJNZ DS20,LOOP1 ;12位顯示完了否,沒(méi)完退出,若顯示完重置

    MOV DS20,#12 ;重置顯示計(jì)數(shù)器

    MOV R0,#DISBUF ;重置顯示緩沖區(qū)指針

    MOV R7,#0FFH ;重置初始位控碼

    MOV R6,#07H

    LOOP1: POP B ;恢復(fù)現(xiàn)場(chǎng)

    POP ACC

    POP PSW

    RETI ;中斷返回

    DIS1: MOV DPTR,#TAB ;顯示一位數(shù)碼管子程序,指向段碼表

    MOV A,@R0 ;取待顯示字符數(shù)據(jù)

    INC R0 ;修改緩沖區(qū)指針

    MOVC A,@A+DPTR ;查表取顯示字符段碼

    MOV R3,A ;將段碼與位控碼組合成20位有效串行碼

    MOV R1,#0CH ;20位有效串行碼置于R3、R4、R5中

    MOV A,@R1

    SWAP A

    MOV @R1,A

    MOV A,R3

    XCHD A,@R1

    MOV A,@R1

    SWAP A

    MOV @R1,A

    MOV A,R3

    SWAP A

    MOV R3,A

    MOV R1,#20 ;置串行輸出計(jì)數(shù)器

    DIS0: MOV A,R3 ;R3、R4、R5串行移位,由R5高位輸出。

    RRC A

    MOV R3,A

    MOV A,R4

    RRC A

    MOV R4,A

    MOV A,R5

    RRC A

    MOV R5,A

    MOV DSDATE,C ;最高位送至595芯片串行輸入端

    SETB DSCLK ;產(chǎn)生595芯片串行輸入信號(hào)

    NOP

    CLR DSCLK ;串行輸入鎖存

    DJNZ R1,DIS0 ;20位二進(jìn)碼輸出完否,沒(méi)完繼續(xù)

    SETB DSLUCK ;產(chǎn)生595芯片并行輸出信號(hào),字符開始顯示

    NOP

    CLR DSLUCK ;輸出字符數(shù)據(jù)由595芯片鎖存

    RET

    TAB: DB 3FH,06H,5BH ;顯示段碼表

    DB 4FH,66H,6DH

    DB 7DH,07H,7FH

    DB 6FH,00H,40H

    END


  • ·上一篇:
    ·下一篇:
  • 其他關(guān)聯(lián)資訊
    深圳市日月辰科技有限公司
    地址:深圳市寶安區(qū)松崗鎮(zhèn)潭頭第二工業(yè)城A區(qū)27棟3樓
    電話:0755-2955 6626
    傳真:0755-2978 1585
    手機(jī):131 1300 0010
    郵箱:hu@szryc.com

    深圳市日月辰科技有限公司 版權(quán)所有:Copyright?2010-2023 elibeatofitness.com 電話:13113000010 粵ICP備2021111333號(hào)