程序如下:
ORG 0000H;定义主程序入口地址
AJMP START;
ORG 000BH
LJMP DISPLAY
ORG 0030H
START:
MOV P0,#00H;将立即数00H送入P0寄存器中
MOV P1,#00H
MOV TMOD,#01H
MOV TH0,#08DH
MOV TL0,#0EBH
SETB EA
SETB ET0
MOV 70H,#00H
SETB TR0
AGAIN:
MOV R2,#FEH
SETB C
MOV R7,#04H
ROW:
MOV P0,R2
MOV A,P0
ANL A,#0F0H
CJNE A,#0F0H,OK
MOV A,R2
RLC A
MOV R2,A
DJNZ R7,ROW
SJMP AGAIN
OK:
SETB C
MOV R6,#04H
LINE:
RLC A
JNC KEY OK
DJNZ R6,LINE
SJMP AGAIN
KEY OK
MOV A,#05H
CLRC
SUBB A,R7
MOV R6,A
MOV A,R7
DEC A
MOV B,#04H
MUL AB
ADD A,R6
MOV 60H,A
Mov R7,#0FFH
DELAY
NOP
DTNZ R7,DELAY
MOV R2,#FEH
SETB C
MOV R7,#04H
NEWROW:
MOV P0,R2
MOV A,P0
ANL A,#0F0H
CJNE A,#0F0H,NEWOK
MOV A,R2
RLC A
MOV R2,A
DJNZ R7,NEWROW
SJMP AGAIN
NEWOK:
SETB C
MOV R6,#04H
LINE:
RLC A
JNC KEY NEWOK
DJNZ R6,NEWLINE
SJMP AGAIN
KEY NEWOK
MOV A,#05H
CLRC
SUBB A,R7
MOV R6,A
MOV A,R7
DEC A
MOV B,#04H
MUL AB
ADD A,R6
CJNE A,60H,REPEAT
MOV 70H,A
REPEAT
SJMP AGAIN
DISPLAY:
CLR ET0
CLR TR0
MOV A,70H
MOV DPTR,#NCODE
MOVC A,@A+DPTR
MOV P1,A
MOV TH0,#0D8H
MOV TL0,#0EBH
SETB ET0
SETB TR0
RETI
NCODE:
DB:0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH,07EH,07DH,07BH,077H,06FH,05FH,03FH
END
ORG 0000H;定义主程序入口地址
AJMP START;
ORG 000BH
LJMP DISPLAY
ORG 0030H
START:
MOV P0,#00H;将立即数00H送入P0寄存器中
MOV P1,#00H
MOV TMOD,#01H
MOV TH0,#08DH
MOV TL0,#0EBH
SETB EA
SETB ET0
MOV 70H,#00H
SETB TR0
AGAIN:
MOV R2,#FEH
SETB C
MOV R7,#04H
ROW:
MOV P0,R2
MOV A,P0
ANL A,#0F0H
CJNE A,#0F0H,OK
MOV A,R2
RLC A
MOV R2,A
DJNZ R7,ROW
SJMP AGAIN
OK:
SETB C
MOV R6,#04H
LINE:
RLC A
JNC KEY OK
DJNZ R6,LINE
SJMP AGAIN
KEY OK
MOV A,#05H
CLRC
SUBB A,R7
MOV R6,A
MOV A,R7
DEC A
MOV B,#04H
MUL AB
ADD A,R6
MOV 60H,A
Mov R7,#0FFH
DELAY
NOP
DTNZ R7,DELAY
MOV R2,#FEH
SETB C
MOV R7,#04H
NEWROW:
MOV P0,R2
MOV A,P0
ANL A,#0F0H
CJNE A,#0F0H,NEWOK
MOV A,R2
RLC A
MOV R2,A
DJNZ R7,NEWROW
SJMP AGAIN
NEWOK:
SETB C
MOV R6,#04H
LINE:
RLC A
JNC KEY NEWOK
DJNZ R6,NEWLINE
SJMP AGAIN
KEY NEWOK
MOV A,#05H
CLRC
SUBB A,R7
MOV R6,A
MOV A,R7
DEC A
MOV B,#04H
MUL AB
ADD A,R6
CJNE A,60H,REPEAT
MOV 70H,A
REPEAT
SJMP AGAIN
DISPLAY:
CLR ET0
CLR TR0
MOV A,70H
MOV DPTR,#NCODE
MOVC A,@A+DPTR
MOV P1,A
MOV TH0,#0D8H
MOV TL0,#0EBH
SETB ET0
SETB TR0
RETI
NCODE:
DB:0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH,07EH,07DH,07BH,077H,06FH,05FH,03FH
END