if(key==0)
{
delay_ms(20)//延时,可加长至40ms
if(key==0)
{
while(key==0)//等待按键抬起
a++
}
}
while(m != 0xf0) //注意这里没有分号{ // while(P0 != f7) 不就可以了么?
m = P0 //这不就表示已经回到初始值,按键已经起来了么?
m = m &0xf0
}
----
while(P0 != f7)//这仅仅是检测一个按键。
如果还有其它按键按下,还是应该等待一下。
最好是:
while(P0 &0xf0 != 0xf0)//这就可以代替上面的四行,还能节省一个变量。
----
原来的程序,共有四个部分,连续的、依次执行。
其实,如果在第一个部分,就检测到了按键,后面的三个部分,就不应该再执行了。
判断按键释放的程序段,在每个部分都有。
其实,在最后,用上一个,即可。
他的这个程序,在逻辑上,是有错的,不用细看了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)