4乘4的键盘扫描程序

[复制链接]
4428|11
 楼主| lucky_boy 发表于 2007-7-23 22:14 | 显示全部楼层 |阅读模式
以下是一个4乘4的键盘扫描程序,好像没有延时去抖动什么的,不知道有没有问题,麻烦各位高手帮帮忙看一下有没有问题? 还需不需要加什么?


void Tkey(void)
{
  uchar readkey;
  uchar x_temp,y_temp;
  P1=0x0f;
  x_temp=P1&0x0f;
  if(x_temp==0x0f) goto keyout;
  P1=0xf0;
  y_temp=P1&0xf0;
  readkey=x_temp|y_temp;
  readkey=~readkey;


switch(readkey)
    {
        case 0x11:key=0; break;
       case 0x21:key=1; break;
     case 0x41:key=2; break;
     case 0x81:key=3; break;
     case 0x12:key=4; break;
     case 0x22:key=5; break;
     case 0x42:key=6; break;
     case 0x82:key=7; break;
     case 0x14:key=8; break;
     case 0x24:key=9; break;
     case 0x44:key=10;break;
     case 0x84:key=11;break;
     case 0x18:key=12;break;
     case 0x28:key=13;break;
     case 0x48:key=14;break;
     case 0x88:key=15;break;
     default:  key=16;break;
    }

keyout:_nop_();
}


ayb_ice 发表于 2007-7-24 07:58 | 显示全部楼层

没有延时,这样的程序才是高手写的....

xwj 发表于 2007-7-24 08:14 | 显示全部楼层

反转法按键,但根本就没消抖哦

当然就“没有延时”了
ayb_ice 发表于 2007-7-24 09:03 | 显示全部楼层

高手写程序都没有(很少)延时程序....

当然要完成延时功能....
gyt 发表于 2007-7-24 11:32 | 显示全部楼层

楼上说的太对了

sharks 发表于 2007-7-24 14:24 | 显示全部楼层
 楼主| lucky_boy 发表于 2007-7-24 19:06 | 显示全部楼层

4乘4的键盘扫描程序

那请问一下这个扫描程序是不是没有去抖动功能,还需要加延时程序?
mxinfa 发表于 2007-7-24 22:07 | 显示全部楼层

不用delay的延时

myhmz 发表于 2007-7-27 12:25 | 显示全部楼层

我写的也是的

我用反转法写的也不用消抖,好像也可以,,不知是怎么回事,到底要不要加消抖
午夜屠猪男 发表于 2007-7-27 12:28 | 显示全部楼层

高手怎么都喜欢卖关子啊

要说就说呗,卖什么关子啊?
jimoom 发表于 2007-7-27 13:07 | 显示全部楼层

就一个按键程序,有必要喊 高手高手吗?

就一个按键程序,有必要喊 高手高手吗?
这个按键程序 确实没做消抖,行不行看实际情况了。
小不点o 发表于 2010-10-20 11:12 | 显示全部楼层
在软件上和实际的不是一样的   软件都是理论上的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

33

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部