📄 swq.asm
字号:
;按压(P3.2),D00交替亮灭。按压(P3.3),D01交替亮灭,加入去抖动功能
ORG 000H
AJMP START
ORG 30H
START: MOV SP,5FH
MOV P0,#0FFH
MOV P1,#0FFH
L1: JB P3.2,L2 ;P3.2为1,不做处理,转P3.3,否则说明有键按下
LCALL D10MS ;调用延时程序,去除抖动
JB P3.2,L1 ;P3.2为0,说明此键被按下了
CPL P1.0 ;取反P1.0
L3: JNB P3.2,L3 ;直到P3.2释放后去判断第二个键
L2: JB P3.3,L1 ;P3.3为1,返回去继续处理P3.2
LCALL D10MS ;调用延时程序,去除抖动
JB P3.3,L2 ;P3.3为0,说明此键被按下了
CPL P1.1 ;取反P1.1
L4: JNB P3.3,L4 ;直到P3.3释放为止
LJMP L1 ;返回
D10MS: MOV R7,#50 ;延时的时间一般为5-20ms
D1:MOV R6,#100
D2:DJNZ R6,D2
DJNZ R7,D1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -