请教等待按键释放的问题

2019-07-16 06:12发布

while(!KEY);  //等待按键释放
这个指令可以判断按键释放 ,但是缺点是按下的时候CPU一直处于等待的状态。。。
这样带来的效果是:如果是数码管显示程序,那按键不放开,数码管就灭了。。。。
这个太坑爹了

还有什么办法能检测按键,同时又可以让CPU不用等待,去做别的事情?
达到的效果就是按键不放开数码管也不会灭?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
sailor_yan
1楼-- · 2019-07-16 20:50
很简单,在加一个break控制!只用while程序不严谨,如果那个PIN出问题就一直为low,程序不是一直要等待在这里!while(!k7){ 延时;break;}。
while(T1==0)                 //超时限制,
        {
            timeout++;
                if(timeout>10000)
                    break;
        }
123478288
2楼-- · 2019-07-17 01:02
sailor_yan 发表于 2012-3-22 22:44
很简单,在加一个break控制!只用while程序不严谨,如果那个PIN出问题就一直为low,程序不是一直要等待在这 ...

我找到方法了,把显示函数放进while(!)里面,象这样
while(!K6)
     {
     DisplayHour(hour);
      DisplayMinute(minute);
      DisplaySecond(second);
      daojishi(daoji);
    }
我这个方法比较笨,有空我再试试楼上这个方法。。。。

一周热门 更多>