矩阵键盘扫描时遇到了问题

2019-07-15 19:55发布

C语言编程,利用51单片机控制一些东西,矩阵键盘扫描时遇到了问题,可以计算出键值号,比如key=1,但是如果我再按一下1号键,key还是等于1,那么我该怎么判断同一个键被连续按了多少次呢?热心人帮帮我,谢谢了!!!作为奖励给大家一本很好的电子书,《世界是平的--21世纪简史》
The World is Flat.pdf 下载积分: 积分 -1 分
1.6 MB, 下载次数: 48, 下载积分: 积分 -1 分
世界是平的(完整).pdf 下载积分: 积分 -1 分
1.31 MB, 下载次数: 50, 下载积分: 积分 -1 分
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
blueli
2019-07-16 10:57
bj2008wyou 发表于 2014-5-2 23:41
不明白后面你想说明什么,好像没描述清楚呢

uchar scan_key()
{
uchar hang,lie;
P2=0X0F;
if(P2!=0X0F)
delayms(10);
if(P2!=0X0F)
{
   switch(P2&0X0F)
   {
             case 0x0e:hang=0;break;
          case 0x0d:hang=1;break;
          case 0x0b:hang=2;break;
          case 0x07:hang=3;break;
   }
   P2=0XF0;
   switch(P2&0XF0)
   {
             case 0xe0:lie=0;break;
          case 0xd0:lie=1;break;
          case 0xb0:lie=2;break;
          case 0x70:lie=3;break;
   
   }
   P2=0X0F;
   while(P2!=0X0F);
   key=hang*4+lie;
}
return(key);
}
就这样一个矩阵键盘扫描函数,怎么编一个函数判断同一个按键被连续按了多少次

一周热门 更多>