📄 key.asm
字号:
//========================================================================================================//
// 程序名称:key.asm
// 功能描述:实现按键扫描、去抖、获取键值功能
// 日 期:2003/7/7
//========================================================================================================//
.include hardware.inc
.DEFINE C_DebounceCnt 3; //去抖值
.ram
//.public Key
.var Key
.var Key_Buff; //本次键值暂存单元
.var Key_Debounce; //计数单元
.var KeyScanLineBuff;
.code
.PUBLIC _F_Key_Scan;
_F_Key_Scan: .PROC
r1=0x0070 //B0-B6接key0-key11
r1|=[P_IOB_Buffer] //B0-B3带下拉输入
[P_IOB_Data]=r1 //B4-B6高电平输出
r1=[P_IOB_Data]
r1&=0x000f
jnz F_SomeKeyIsPressed
r1=0x0000
[Key]=r1
retf
.ENDP
F_SomeKeyIsPressed:
call F_Key_Scaning
r1=[Key_Buff] //读上次键值
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -