新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)按鍵程序中while(!key)的作用是什么

        51單片機(jī)按鍵程序中while(!key)的作用是什么

        作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
        我相信大家也是常常遇到過這一句代碼while(!key);,那么大家知道這句代碼是有什么用嗎?在這我就和大家分享一下,還是用代碼來說話吧:

        #include

        本文引用地址:http://www.104case.com/article/201611/323642.htm

        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);的作用吧,在這起到是等待按鍵按開的作用,防止一直不按開按鍵判斷錯(cuò)誤。當(dāng)你的按鍵一直沒有釋放,key=0;那么while(!key);中的!key就為1,它這個(gè)語句一直為真,永遠(yuǎn)地循環(huán)下去。當(dāng)你松開按鍵,key=1,那么 while(!key);中的!key為0,這個(gè)語句為假,執(zhí)行j++;。所以while(!key);一般用在當(dāng)按一下,松開才執(zhí)行一下面的動(dòng)作的應(yīng)用中。



        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 体育| 丘北县| 五台县| 雅安市| 新平| 仪陇县| 宿松县| 新疆| 禹城市| 昌黎县| 兴宁市| 陆良县| 周口市| 新安县| 云安县| 云浮市| 新余市| 陆河县| 惠东县| 滨州市| 抚顺县| 登封市| 铁力市| 行唐县| 明星| 彰化县| 石棉县| 梁山县| 铁力市| 钦州市| 广水市| 湘西| 大渡口区| 竹山县| 彩票| 新田县| 镇康县| 寿阳县| 五大连池市| 沾益县| 广南县|