📄 th20.asm
字号:
;阵列式
;P1口--键盘======================
ORG 0
DBUF EQU 30H
TEMP EQU 40H
MOV A,#10H
MAIN: ACALL DISP
ACALL KEY1
MOV 30H, A
AJMP MAIN
KEY1: MOV P1, #0FH
MOV A, P1
CJNE A, #0FH, K11
K10: AJMP KEY1
K11: ACALL DELAY
MOV P1, #0FH
MOV A, P1
CJNE A, #0FH, K12
SJMP K10
K12: MOV B,A
MOV P1, #0EFH ;
MOV A, P1
CJNE A, #0EFH,K13 ;
MOV P1, #0DFH
MOV A, P1
CJNE A, #0DFH,K13 ;
MOV P1, #0BFH
MOV A, P1
CJNE A, #0BFH,K13;
MOV P1, #7FH
MOV A, P1
CJNE A, #7FH, K13;
AJMP K10
K13: ANL A, #0F0H;
ORL A, B
MOV B, A
MOV R1, #16
MOV R2, #0
MOV DPTR,#K1TAB;
K14: MOV A, R2
MOVC A, @A+DPTR
CJNE A, B, K16
MOV P1, #0FH;
K15: MOV A, P1
CJNE A, #0FH, K15;
ACALL DELAY
MOV A, R2
RET
K16: INC R2 ;
DJNZ R1, K14
AJMP K10
K1TAB:DB 0EEH,0DEH,0BEH,07EH
DB 0EDH,0DDH,0BDH,07DH
DB 0EBH,0DBH,0BBH,07BH
DB 0E7H,0D7H,0B7H,077H
DISP: MOV DBUF,A
MOV DBUF+1,#16
MOV DBUF+2,#16
MOV DBUF+3,#16
MOV DBUF+4,#16
MOV R0, #DBUF
MOV R1, #TEMP
MOV R2, #5
DP10:MOV DPTR,#SEGTAB
MOV A, @R0
MOVC A, @A+DPTR
MOV @R1, A
INC R0
INC R1
DJNZ R2, DP10
MOV R0, #TEMP
MOV R1, #5
DP12:MOV R2, #8
MOV A, @R0
DP13:RLC A
MOV 0B0H,C;DIN, C
CLR 0B1H ;CLK
SETB 0B1H ;CLK
DJNZ R2, DP13
INC R0
DJNZ R1, DP12
RET
SEGTAB:DB 3FH,06H,5BH,4FH,66H,6DH ;012345
DB 7DH,07H,7FH,6FH,77H,7CH ;6789AB
DB 58H,5EH,79H,71H,00H,40H ;CDEF -
DELAY: MOV R4, #02H
AA1: MOV R5, #0F8H
AA: NOP
NOP
DJNZ R5, AA
DJNZ R4, AA1
RET
END
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -