DISP: MOV R0 , #30H ;顯示緩沖區(qū)的首地址值賦給R0
MOV R2 , #20H ;位選碼指向P0.5
DISP1: MOV A , @R0 ;取出要顯示的數(shù)
MOV DPTR , #SEG ;指向換碼表首址
MOV A , A+DPTR ;取出顯示碼
MOV DPTR , #0FD01H
MOV @DPTR , A ;輸出顯示碼到8155A口
MOV A , R2 ;位邊碼賦給 A
INC DPTR ;求8155B口寄存器地址
MOVX @DPTR , A ;從8155 B口輸出位選碼
ACALL DIM ;延時(shí) 1ms
MOV A , R2
JNB ACC.0 , DISP2 ;6位全顯示完了嗎?若末完則繼續(xù)顯示
RET
DISP2: INC R0 ;求下一位要顯示的數(shù)的地址
MOV A , R2 ;求下一個(gè)位選碼
RR A
MOV R2 , A
AJMP DISP1
DIM: MOV R3 , #7DH
DL1: NOP
NOP
DJNZ R3 , DL1
RET
SEG: DB 3FH ;對應(yīng)于字符是0
DB 06H ;對應(yīng)于字符是1
DB 5BH ;對應(yīng)于字符是2
DB 4FH ;對應(yīng)于字符是3
DB 6BH ;對應(yīng)于字符是4
DB 6DH ;對應(yīng)于字符是5
DB 7DH ;對應(yīng)于字符是6
DB 07H ;對應(yīng)于字符是7
DB 7FH ;對應(yīng)于字符是8
DB 67H ;對應(yīng)于字符是9
DB 77H ;對應(yīng)于字符是A
DB 7CH ;對應(yīng)于字符是b
DB 39H ;對應(yīng)于字符是c
DB 5EH ;對應(yīng)于字符是d
DB 79H ;對應(yīng)于字符是E
DB 71H ;對應(yīng)于字符是F
在這種掃描電路中,由于每個(gè)LED數(shù)碼管的發(fā)光縮短到原來的1/N,所以每個(gè)管子的發(fā)光亮度必須為單獨(dú)工作時(shí)的N倍,其通過的電流也要增加N倍,因此,必須使用驅(qū)動(dòng)器。