lanfengxun 发表于 2013-1-31 17:04:08

矩形按键扫描程序有问题么?

uchar keyscan(void)
{
    uchar tag1,tag2;
        tag1 = 0xff;
        tag2 = 0xff;
        P2 = 0xf8;
        if((P2&0xf8)!=0xf8)    //若有键按下
        {
                Delay(1);         //消抖
      if(P2&0xf8!=0xf8)//的确是有按键被按下
                {
                        tag1 = P2;
                        P2 = 0x07;
                        tag2 = P2&0x07;
                }

        }
        return(~(tag1|tag2));
}


这种矩形按键扫描程序是否可行?
急求助!!!

Am-PCB 发表于 2013-1-31 18:29:56

首先,按键程序中一般要有while语句,判断按键释放,例程里都是这样,while((P2&0xf8)!=0xf8);另外,矩阵按键需要有行和列的扫描,这个程序应该只可以控制单排的按键。
页: [1]
查看完整版本: 矩形按键扫描程序有问题么?