您的位置 首页 芯闻

51单片机按键程序中while(!key)的效果是什么

我相信大家也是常常遇到过这一句代码while(!key);,那么大家知道这句代码是有什么用吗?在这我就和大家分享一下,还是用代码来说话吧:inc

我信任我们也是常常遇到过这一句代码while(!key);,那么我们知道这句代码是有什么用吗?在这我就和我们共享一下,仍是用代码来说话吧:

#include

typedef unsigned int uint;

typedef unsigned char uchar;

sbit key=P1^0;

void delay(uint x)

{

uchar i;

while(x–)for(i=0;i<120;i++);

}

void scan_key(void)

{

uchar j;

if(key==0)//判别按键是否被按下

delay(10);//按键消抖

if(key==0)//再次判别是否被下

{

while(!key);//等候按键开释

j++;//J加1

}

}

我们不难看出程序中while(!key);的效果吧,在这起到是等候按键按开的效果,避免一向不按开按键判别过错。当你的按键一向没有开释,key=0;那么while(!key);中的!key就为1,它这个句子一向为真,永远地循环下去。当你松开按键,key=1,那么 while(!key);中的!key为0,这个句子为假,履行j++;。所以while(!key);一般用在当按一下,松开才履行一下面的动作的使用中。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/xinwen/317957.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部