简单的按键程序没有搞定,大家帮帮我啊!void Keyscan()
{
uchar Keyvalue;
P3=P3|0x38; //接按键的口输出高电平 P32 p33 p34接按键
Keyvalue=P3; //读回来
这里读回来总是FF并且P3也马上变为FF 为什么呢?我是用keil模拟的! Keyvalue=~Keyvalue; //取反
Keyvalue=Keyvalue&0x38; //如果某个按键按下 keyvalue相应的位为1 其他位为零。
if(Keyvalue)
{
delay(10); //延时10毫秒去抖 再次判断
P3=P3|0x38;
Keyvalue=P3;
Keyvalue=~Keyvalue;
Keyvalue=Keyvalue&0x38;
if(Keyvalue)
keycl(Keyvalue); //调用按键处理
}
}