打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
51单片机按键程序中 while(!key)的作用

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

#include <reg52.h>

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);一般用在当按一下,松开才执行一下面的动作的应用中。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
单片机按键连接方法总结(五种按键扩展方案详细介绍)
PID温度控制系统源序程序
按键(独立按键、矩阵键盘)——附带程序_按键程序设计流程图_Guan
简单的51单片机键盘C程序
单片机4*4矩阵键盘-Changing's Blog
【新提醒】HC32L072开发板之 KEY控制LED
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服