立即注册 登录
返回首页

uid:75461的个人空间

日志

8个独立键盘驱动程序

热度 1已有 1086 次阅读2015-3-31 09:06 |个人分类:51| 程序, 键盘

#define KEY P1 //键盘所连接的I/O接口组定义

/*********************************************************************************************
函数名:8个独立式键盘驱动程序
调  用:? = Key ();
参  数:无
返回值:unsigned char 键值0~8
结  果:有键按下时返回值为键值1~8,无键按下时返回值为0
备  注:在主函数中不断调用
/**********************************************************************************************/
unsigned char Key ( ){ //8个独立键盘处理程序
unsigned char a,b;
KEY = 0xff; //设定键盘初始电平状态
if (KEY != 0xff){ //读取键盘状态是否改变
   Delay (20); //延时20ms去抖动
   if (KEY != 0xff){ //重新读取
 a = KEY; //寄存状态值到a
}
switch(a){ //键盘状态查表
  case 0xfe: b = 1; break;
  case 0xfd: b = 2; break;
  case 0xfb: b = 3; break;
  case 0xf7: b = 4; break;
  case 0xef: b = 5; break;
  case 0xdf: b = 6; break;
  case 0xbf: b = 7; break;
  case 0x7f: b = 8; break;
  default:   b = 0 ; break;
  }
}
return (b); //将b中的键值代号送入函数返回值
}
/**********************************************************************************************/

路过

鸡蛋
1

鲜花

握手

雷人

刚表态过的朋友 (1 人)

全部作者的其他最新日志

评论 (0 个评论)

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

返回顶部