18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> 單片機 >> 正文

51單片機按鍵程序中 while(!key)的作用

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2013-4-14

我相信大家也是常常遇到過這一句代碼while(!key);,那麽(me) 大家知道這句代碼是有什麽(me) 用嗎?在這我就和大家分享一下,還是用代碼來說話吧:

#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;那麽(me) while(!key);中的!key就為(wei) 1,它這個(ge) 語句一直為(wei) 真,永遠地循環下去。當你鬆開按鍵,key=1,那麽(me) while(!key);中的!key為(wei) 0,這個(ge) 語句為(wei) 假,執行j++;。 所以while(!key);一般用在當按一下,鬆開才執行一下麵的動作的應用中。

Tags:51單片機,while,語句  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢