📄 遥控编码.asm
字号:
ORG 0000H
LJMP MAIN
ORG 1000H
MAIN:
KSCAN_LOOP:LCALL KEY_SCAN
JMP KSCAN_LOOP
KEY_SCAN:MOV R0,#7FH ;键盘扫描程序
MOV R1,#00H
MOV A,R0 ;初始值
WC1:
MOV P1,A
MOV A,P1
MOV R2,A ;保存读取的值
MOV R3,#04H
WC2: RRC A
JNC KEY_XD
WC3: INC R1
DJNZ R3,WC2
MOV A,R0
SETB C
SWAP A
RRC A
SWAP A
MOV R0,A
JC WC1
LJMP KEY_SCAN
KEY_XD: LCALL DELTIME ;键盘消抖
MOV A,P1
XRL A,R2
JNZ WC3
WC4: MOV A,P1
XRL A,R2
JZ WC4
MOV A,R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
RET
DELTIME: MOV R6,#6
DDD1: MOV R7,#248
DJNZ R7,$
DJNZ R6,DDD1
RET
TAB: DB 0AH,09H,08H,07H ;0AH代表除号
DB 0BH,06H,05H,04H ;0BH代表乘号
DB 0CH,03H,02H,01H ;0CH代表减号
DB 0FH,0EH,00H,0DH ;一次代表ON,=,+
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -