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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2895|回復: 14
收起左側

一個C語言開關程序問題

  [復制鏈接]
ID:393245 發表于 2019-8-25 00:58 | 顯示全部樓層 |閱讀模式
請問一個開關問題:
    if(P1^0 == 0)
        {
            delayms(10);
            if(P1^0 == 0)
                {
                      P0^0 = 1 ;
                }
        }

我想在這個開關設置一個計數程序,計數10次。
就是說按下10次后,不管有沒有按下,P0^0   都沒有輸出(P0^0 = 0)。
怎么編寫?

回復

使用道具 舉報

ID:529540 發表于 2019-8-31 16:29 | 顯示全部樓層
14# 加一,應該在松手檢測后計數位++
回復

使用道具 舉報

ID:389919 發表于 2019-8-29 15:48 | 顯示全部樓層
小伙子們,這個功能函數如果不加松手檢測可能會持續累加按鍵次數,根本不能正常計數
回復

使用道具 舉報

ID:604484 發表于 2019-8-27 21:20 | 顯示全部樓層
你的計數呢
回復

使用道具 舉報

ID:213173 發表于 2019-8-27 17:31 | 顯示全部樓層
這段代碼明顯是樓主想當然寫的。判斷一個開關或按鍵不可能對P1全部端口測試,所以 if(P1^0 == 0)并不是異或運算表達式,而是樓主想判斷P1.0端口的電平。要寫成 sbit key = P1^0; if(key == 0)......
回復

使用道具 舉報

ID:603976 發表于 2019-8-27 16:09 | 顯示全部樓層
if( P1^0 == 0)                 //按鍵按下
{
        delayms(10);       //消抖
        if(P1^0 == 0)     //再次判斷按鈕按下
          {
                if( keycount <10)
               {
                   keycount++;       //計數
                   P0^0 = 1;
                }
                else
                P0^0 = 0;
            }
        }
}
//說按下10次后,不管有沒有按下,P0^0   都沒有輸出(P0^0 = 0)
回復

使用道具 舉報

ID:235200 發表于 2019-8-27 11:40 | 顯示全部樓層
if(P1^0 == 0)                 //按鍵按下
        {
            delayms(10);       //消抖
            if(P1^0 == 0)     //再次判斷按鈕按下
                {
                      count++;       //計數
                      if (count==10)
                      {
                         P0^0 = ~P0^0 ;            //求反輸出
                         count=0;
                       }
                }
        }
//注意P0口是否接了上拉電阻,如果未接,可能實現不了輸出高電平
回復

使用道具 舉報

ID:592379 發表于 2019-8-27 10:01 | 顯示全部樓層
if(pcount<10)  
{
  if(P1^0 == 0)
        {
            delayms(10);
pcount++;
            if(P1^0 == 0)
                {
                      P0^0 = 1 ;
                }
        }
}
else
{
P0^0 = 0;
}
回復

使用道具 舉報

ID:393245 發表于 2019-8-26 22:20 | 顯示全部樓層
yzwzfyz 發表于 2019-8-25 13:05
太笨,不適合選單片機行業。

我知道我笨
不用你說
回復

使用道具 舉報

ID:393245 發表于 2019-8-26 22:19 | 顯示全部樓層
aaaaabangw 發表于 2019-8-25 13:21
要計數就加一個計數標志位,判斷標志位,滿足條件就對應輸出就行了

能不能舉個例子呀
謝謝
回復

使用道具 舉報

ID:393245 發表于 2019-8-26 22:18 | 顯示全部樓層
chenyinhu 發表于 2019-8-25 06:08
定義一個p=0   if (p1^0==0)    delay..     if  p1..{p++;if  p=10{p0*0=0    p=0}else p0*0=1}

試過了,
沒有效果
回復

使用道具 舉報

ID:458699 發表于 2019-8-25 13:21 | 顯示全部樓層
要計數就加一個計數標志位,判斷標志位,滿足條件就對應輸出就行了
回復

使用道具 舉報

ID:123289 發表于 2019-8-25 13:05 | 顯示全部樓層
太笨,不適合選單片機行業。
回復

使用道具 舉報

ID:568565 發表于 2019-8-25 06:10 來自手機 | 顯示全部樓層
p到底是9還是10我沒仔細推,要是我編程序的話我會這樣,沒實際實驗過不知道能不能行的通
回復

使用道具 舉報

ID:568565 發表于 2019-8-25 06:08 來自手機 | 顯示全部樓層
定義一個p=0   if (p1^0==0)    delay..     if  p1..{p++;if  p=10{p0*0=0    p=0}else p0*0=1}
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品精品 | 精品亚洲一区二区 | 天天爽夜夜爽精品视频婷婷 | 综合五月婷 | 国产精品久久久久久久久久久免费看 | 国产精品爱久久久久久久 | 成人在线视频网站 | 韩日一区二区三区 | 成人在线视频观看 | 婷婷狠狠 | 欧美精品日韩精品国产精品 | 国产精品黄色 | 国产成人久久av免费高清密臂 | 天天躁日日躁xxxxaaaa | 一区二区三区小视频 | 粉嫩av在线 | 精品久久久久香蕉网 | 日韩视频在线免费观看 | 欧美一级片免费看 | 在线成人免费视频 | 不卡的av电影 | 日韩欧美一区二区三区 | 韩国av一区二区 | 性欧美xxxx | 密色视频 | 亚洲二区视频 | 亚洲欧美视频一区 | 亚洲 中文 欧美 日韩 在线观看 | 国产精品毛片一区二区三区 | 欧美不卡一区二区三区 | 亚洲成人网在线 | 国产精品视频久久 | 啪啪免费网站 | 亚洲欧美一区二区三区视频 | 一级毛片免费看 | 99re| 亚洲精品在线观 | 久久久久久久久淑女av国产精品 | 亚洲午夜精品一区二区三区 | 日日骑| 中文字幕av亚洲精品一部二部 |