⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key.asm

📁 spce061单片机的一些程序!C语言和汇编语言都有
💻 ASM
字号:
//===================================================
//文件名称:Key.asm
//功能描述:键盘初始化
//完成日期:2003-6-12
//======================================================
.INCLUDE   	hardware.inc

.PUBLIC    	_Key_Scan_ServiceLoop;

.DEFINE	 	C_DebounceCnt	0x0050; 		//13ms 去抖
.DEFINE 	C_CONTINUE   	0xB00;  		//第二次以后有效


.EXTERNAL  	_Key
.EXTERNAL  	_KeyPressFlag;  				//无键按下时清0;有键按下时B0=1;
                             				//第二次以后有效B15=1
.EXTERNAL 	_SleepFlag

.RAM
.VAR    	Key_Buff;           			//本次键值暂存单元
.VAR    	Key_Debounce;       			//计数单元
.VAR    	KeyScanLineBuff;


.CODE   
.PUBLIC 	Key_Scan_Init
Key_Scan_Init: .PROC
       r1=0x0000
       [_Key]=r1
       [Key_Buff]=r1
       [_KeyPressFlag]=r1
       retf
      .ENDP
 
_Key_Scan_ServiceLoop: .PROC
         r2=[P_IOA_Data]
         r2&=0x00ff
         jnz F_SomeKeyIsPressed
         r1=0x0000
         [Key_Buff]=r1      
         [_KeyPressFlag]=r1    				//清0
         r1=1 
         [_SleepFlag] = r1   				//置睡眠标志
         retf
//-----------------------------//
F_SomeKeyIsPressed:    
         r3=[_KeyPressFlag]    				//有键按下  B0=1
         r3|=0x0001
         [_KeyPressFlag]=r3   				//置按键标志
             
         r3=0 
         [_SleepFlag] = r3      			//清睡眠标志
         
         r1=[Key_Buff]    					//读上次键值

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -