📄 无需多键判断按键.txt
字号:
;cms16p53
;------------------------------
NOPNOP:
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
RET 0
;-------------------------------
; ANJKEY
;取键值
;只要流程及功能:判断按键是否按下、是否弹
;起、是否多按键按下、去抖、按键值送给KEYIN
;-------------------------------
AJKEY:
LDIA B'00111110' ;置按键I/O口为输入
WRSR P1
LDIA B'00010001'
WRSR P0
CLR KEYIN
CALL NOPNOP ;空超作 延时
SZB P0,0
SETB KEYIN,POWER
SNZB P1,5
SETB KEYIN,SPEED
SNZB P1,4
SETB KEYIN,SWING
SNZB P1,3
SETB KEYIN,LED
;LDIA B'00000000'
;WRSR P1
;LDIA B'00010000'
;WRSR P0
LD A,KEYIN
SZB FLAGS,Z ;QUDOU与0相比较,判断有无键按下
CLRB BIT2,HAVEKEY ;没有则返回到
SZB BIT2,HAVEKEY
RET 0
LD A,KEYIN
SUBA OLDKEYIN
SZB FLAGS,Z
JP AJ_DF
LD A,KEYIN
LD OLDKEYIN,A
JP QD58
AJ_DF:
SZDECR QDTIMER
RET 0
CFKEY:
LD A,KEYIN
SZB FLAGS,Z
JP QD58 ;按键值为0则返回
SETB BIT2,HAVEKEY ;得到按键值
CALL QD58
JP KEYIN_SET
QD58:
LDIA 58H
LD QDTIMER,A
RET 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -