key.asm

来自「本系统实现了一种具有语音播报、语音提示的高性能、高智能的实用型远距离多 路数据」· 汇编 代码 · 共 32 行

ASM
32
字号
//========================================================================================================//
// 程序名称: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 + =
减小字号Ctrl + -
显示快捷键?