矩形按键扫描程序有问题么?
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));
}
这种矩形按键扫描程序是否可行?
急求助!!! 首先,按键程序中一般要有while语句,判断按键释放,例程里都是这样,while((P2&0xf8)!=0xf8);另外,矩阵按键需要有行和列的扫描,这个程序应该只可以控制单排的按键。
页:
[1]