📄 jk8-1.asm
字号:
CN_PORT EQU 0E100H
ST_PORT EQU 0E100H
A_PORT EQU 0E101H
B_PORT EQU 0E102H
C_PORT EQU 0E103H
TL_PORT EQU 0E104H
TH_PORT EQU 0E105H
BUFFER EQU 40H
ORG 0000H
MAIN: MOV SP,#50H
MOV PSW,#00H
MONITOR:LCALL DISKEY
SJMP MONITOR
ORG 1000H
DISKEY: SETB RS0
MOV DPTR,#CN_PORT
MOV A,#03H
MOVX @DPTR,A
KEYIN: MOV R7,#0FFH
LCALL TSTKEY
JNZ KEYPRES
SJMP KEYIN
KEYPRES: LCALL DELAY
MOV R7,#0FFH
LCALL TSTKEY
JNZ KEYDOMN
SJMP KEYIN
KEYDOMN:MOV R7,#01H
SCANKEY:LCALL TSTKEY
JNZ FINDKEY
NXTSCAN:MOV A,R7
RL A
JNB ACC.6,KPSCAN
MOV A,#01H
KPSCAN: MOV R7,A
SJMP SCANKEY
FINDKEY: ACALL FINDADD
MOV R6,A
MOV A,R7
ACALL FINDADD
MOV R7,A
MOV A,R6
MOV B,#6
MUL AB
ADD A,R7
PUSH ACC
WAITUP: MOV R7,#0FFH
LCALL TSTKEY
JNZ WAITUP
POP ACC
BK_PT: CLR RS0
RET
FINDADD: MOV B,#0
FINDNXT: RRC A
JC FOUND
INC B
SJMP FINDNXT
FOUND: MOV A,B
RET
TSTKEY: MOV DPTR,#B_PORT
MOV A,R7
MOVX @DPTR,A
MOV DPTR,#C_PORT
MOVX A,@DPTR
CPL A
ANL A,#0FH
RET
DELAY:MOV R3,#200
DIMS: MOV R2,#02H
DL: MOV R5,#0FFH
DL1: DJNZ R5,DL1
DJNZ R2,DL
DJNZ R3,DIMS
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -