ORG 00H
LJMP MAIN
MAIN: LCALL INIT
LCALL DISPLAY
INIT: MOV A,#0FBH ;设置扫描限制
MOV B,#07H
LCALL SEND
MOV A,B
LCALL SEND
SETB P2.1
MOV A,#0F9H ;设置译码模式
MOV B,#00H
LCALL SEND
MOV A,B
LCALL SEND
SETB P2.1
MOV A,#0FAH ;设置亮度
MOV B,#0CH
LCALL SEND
MOV A,B
LCALL SEND
SETB P2.1
LCALL SEND
MOV A,#0FCH ;正常模式
MOV B,#01H
LCALL SEND
MOV A,B
LCALL SEND
SETB P2.1
RET
DISPLAY:MOV DPTR,#TAB
MOV R0,#DISBUF
MOV R1,#01H
MOV R2,#08H
LOOP: MOV A,R1
LCALL SEND
MOV A,@R0
MOVC A,@A+DPTR
LCALL SEND
SETB P2.1
LCALL DELAY
INC DPTR
INC R1
DJNZ R2,LOOP
RET
SEND: CLR P2.1
MOV R3,#08H
LP1: RLC A
MOV P2.0,C
CLR P2.2
NOP
NOP
NOP
NOP
NOP
SETB P2.2
DJNZ R3,LP1
RET
DELAY: MOV R4,#14H
LP2: MOV R5,#8AH
DJNZ R5,$
DJNZ R4,LP2
RET
TAB: DB 7BH,7FH,70H,5FH,5BH,33H,79H,6DH,30H,7EH
DISBUF: DB 00H,00H,07H,06H,04H,00H,04H,00H
END
|