ARM矩阵键盘带消抖

/*********************************************************************************************
函数名:4*4键盘扫描驱动
调  用:scan_Key ();
参  数:无
返回值:按键值
结  果:
备  注:
/**********************************************************************************************/
#define KEY = P2;  //定义P2口为键盘接口
unsigned char scan_Key (void)  //键盘处理函数
{
unsigned char  a,  c;
KEY = 0x0f;  //键盘口置00001111
if (KEY != 0x0f)  //查寻键盘口的值是否变化
{
  mDelay (20);  //延时20毫秒
  if (KEY != 0x0f)  //有键按下处理
  {
   a = KEY;  //键值放入寄存器a
  }
  KEY = 0xf0;  //将键盘口置为11110000
  c = KEY;  //将第二次取得值放入寄存器c

}
return (a | c);  //将键值返回
}

版权声明:本文为Jijiahao95原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。