标题: 51单片机按键问题 [打印本页]

作者: 河外流星    时间: 2011-8-10 18:00
标题: 51单片机按键问题

//-----------------------------------第一行按键的检测----------------------------
P0=0xfe;
temp=P0;
temp=temp&0xf0;
//如果有按键按下
while(temp!=0xf0)
{
delay(5); //消抖之后如果依然按下,则再次赋值检测
temp=P0;
temp=temp&0xf0;
while(temp!=0xf0) //有键按下
{
switch(temp)
{
case 0xe0:
beep=0;
keyNum=1;
break;
case 0xd0:
beep=0;
keyNum=2;
break;
case 0xb0:
beep=0;
keyNum=3;
break;
case 0x70:
beep=0;
keyNum=4;
break;
}
}
}

这是我写的键盘侦听函数,不能返回按键值,大家帮忙看看是怎么回事??


作者: 周义超    时间: 2011-9-11 09:45
 试试在这两行之间加上 temp=P0;

作者: 周义超    时间: 2011-9-11 09:46

在switch语句前再上的(补充)






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1