久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3030|回復: 6
打印 上一主題 下一主題
收起左側

下面單片機程序中while((s5==0)&&(count<500000)) 怎么理解

  [復制鏈接]
跳轉到指定樓層
樓主
ID:244748 發表于 2018-3-12 19:42 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include "button.h"
#include "reg51.h"
sbit s4=P3^3;
sbit s5=P3^2;
sbit s6=P3^1;
sbit s7=P3^0;

void delay_button(unsigned char m)
{
         unsigned char n;
         for(m;m>0;m--)
         {
                 for(n=250;n>0;n--)
                {}
         }
}
unsigned char keyboard()
{
     unsigned char button_flag=0;
         int count=0;
         if(s4==0)
         {
                   delay_button(10);
                  if(s4==0)
                  {
                          while((s4==0)&&(count<500000))
                          {
                                button_flag=4;
                                count++;
                          }
                  }
         }
               
         if(s5==0)
         {
                   delay_button(10);
                  if(s5==0)
                  {
                           while((s5==0)&&(count<500000))
                           {
                           button_flag=5;
                           count++;
                           }
                  }
         }
         
         if(s6==0)
         {
                    delay_button(10);
                   if(s6==0)
                   {
                           while((s6==0)&&(count<500000))
                           {
                                 button_flag=6;
                                 count++;
                           }
                         }
          }
               
         if(s7==0)
         {
                    delay_button(10);
                   if(s7==0)
                   {
                           while((s7==0)&&(count<500000))
                           {
                                 button_flag=7;
                                 count++;
                           }
                   }
         }

         if(count>500000)
         count=0;
         return button_flag;
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:290919 發表于 2018-3-12 20:16 | 只看該作者
當s5的值為0并且count的值小于500000這兩個條件都為真,進入while()循環;否則不進入while()循環。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:290919 發表于 2018-3-12 20:18 | 只看該作者
s5的值為0并且count<500000兩個條件都為真的時候進入While()循環

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

地板
ID:290299 發表于 2018-3-12 21:24 | 只看該作者
&&是按位與   (s5==0)&&(count<500000)同時為真時執行

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

5#
ID:244748 發表于 2018-3-13 08:13 來自手機 | 只看該作者
為什么count<500000,而不是其他
回復

使用道具 舉報

6#
ID:164602 發表于 2018-3-13 10:26 | 只看該作者
這條語句就是松鍵消抖的功能。
鍵被按下就等于零(S1==0),后面就是控制按鍵的時間的(count<50000)。
這兩個條件同時滿足,說明鍵是按著的,而且時間不是很長。
如果松開鍵,或者按鍵時間太長,都會跳出循環,避免程序死在這里。

個人認為,這樣的程序不好。
對于像你的程序,這樣的簡單按鍵功能,還可以使用,看不問題,但如果按鍵功能復雜一點,那么,就會在按下鍵不松的一段時間內,程序會讓那個功能重復很多次(事實上,你的程序已經重復了很多次,最大可以重復49999次,只是功能簡單,眼睛看不出來而已)。

評分

參與人數 1黑幣 +60 收起 理由
admin + 60 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

7#
ID:454000 發表于 2019-1-30 21:16 | 只看該作者
while((s5==0)&&(count<500000))
分解來分析:(s5==0)&&(count<500000)
有三個結果1.(1&&1)// (s5==0是真)&&(count<500000也是真)
               2.(0&&1)// (s5==0是假)&&(count<500000是真)
               3.(1&&0)// (s5==0是真)&&(count<500000是假)
最終while(中只有1或者0),     當while(1時)執行button_flag=5;count++; 否則就跳

評分

參與人數 7黑幣 +260 收起 理由
shuisheng60 + 35
Trump1438 + 35
#include51.h + 35
刀刀見紅 + 35
areyouok + 35
jinsheng7533967 + 35 絕世好帖!
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本不卡一区二区三区在线观看 | 日韩精品中文字幕一区二区三区 | 中文字幕在线人 | 欧美高清视频一区 | 黄色在线免费观看视频网站 | 国产精品免费一区二区三区四区 | 亚洲综合色视频在线观看 | 男女视频在线观看 | 最新国产在线 | 国产在线视频一区 | 羞羞视频在线网站观看 | 国产日日操 | 日韩成人免费视频 | 欧美日韩精品 | 免费小视频在线观看 | 国产精品xxxx| 日本一区二区三区免费观看 | 色婷婷一区 | 久久伊人久久 | 欧美一级在线观看 | 成人中文字幕在线观看 | 91久久精| 草草视频在线免费观看 | 99r在线| 午夜一区 | 看羞羞视频免费 | 免费观看www7722午夜电影 | 久久福利网站 | 亚洲不卡av在线 | 欧美一区二区三区国产 | 日韩成人免费中文字幕 | 亚洲精久 | 久久99精品国产自在现线小黄鸭 | 精品久久久久久 | 日本在线黄色 | 国产综合精品一区二区三区 | 国产 日韩 欧美 制服 另类 | 精品www| 欧美日韩在线高清 | 日韩高清国产一区在线 | 欧美一区不卡 |