key.c

来自「stc-isp开发板驱动程序」· C语言 代码 · 共 33 行

C
33
字号
#include <config.h>

#define IN_KEY

sbit  Key_alter_display  = P1^4;   //检测显示状态   
sbit  Key_alter_authorize= P1^7;   //检测是否激活  

unsigned char  xdata  key_key=0x00;// 检测到的按键
unsigned char xdata last_key_push=0x00;
// -------取得系统按键并处理-------		 
void Key_process(void)
{unsigned char idata key_push=0x00;
 
 key_push=0x00;
 if(Key_alter_display==0x00)   key_push |=  0x01;
 if(Key_alter_authorize==0x00) key_push |=  0x02;
 if(key_push!=0x00)
   {last_key_push=key_push;
    delay_ms(2);	  // 防抖动处理
	key_push=0x00;
    if(Key_alter_display==0x00)   key_push |=  0x01;
	if(Key_alter_authorize==0x00) key_push |=  0x02;
	if(last_key_push==key_push)
	   key_key=key_push;
    }
 else	//松开才会有按键值有效
   {if(last_key_push!=0x00)
      {key_key |= 0x80;
       last_key_push=0x00;
	   }
    }

}

⌨️ 快捷键说明

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