📄 exp.bak
字号:
ORG 0000H
AJMP START
;--------初始化----------
ORG 0100H
START:MOV A,#0FH ;把00001111送到A中
MOV P1,A ;初始化键盘
MOV B,#0FFH
;--------主程序----------
MAIN: MOV P0,B
MOV R5,#0FAH
DEFER:MOV R4,#0FAH
DJNZ R4,$
DJNZ R5,DEFER
CPL P0
ACALL KEYON ;调用抗干扰程序
CJNE A,#0FH,DELAY
AJMP MAIN
DELAY:ACALL DL10MS ;延时10MS消除抖动
ACALL KEYON
CJNE A,#0FH,KEY ;如果是干扰则返回MAIN
AJMP MAIN
;--------抗干扰子程序----------
KEYON:MOV P1,#0FH
MOV A,P1
ANL A,#0FH
RET
;--------消除抖动子程序--------
DL10MS:MOV R7,#14H
LATENCY:MOV R6,#0F9H
DJNZ R6,$
DJNZ R7,LATENCY
RET
;1+(1+249*2+2)*20+2=10.023MS
;----------判断按键子程序-------
KEY:MOV A,P1
K0: CJNE A,#0EH,K1
MOV B,#0F0H
AJMP MAIN
K1: CJNE A,#0DH,K2
MOV B,#0AAH
AJMP MAIN
K2: CJNE A,#0BH,K3
MOV B,#0C3H
AJMP MAIN
K3: CJNE A,#07H,L1
MOV B,#66H
AJMP MAIN
L1: RET
;-----------程序结束--------------
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -