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