简单的按键程序没有搞定,大家帮帮我啊!
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); //调用按键处理
}
}
发表时间:2003年3月22日8:41:16