欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機松手檢測程序有問題嗎 [打印本頁]

作者: 我是caiji    時間: 2020-5-2 17:13
標題: 單片機松手檢測程序有問題嗎
問一下松手檢測不應該是if(k3!=0)和while(k3!=0)嗎,為什么別人這樣寫Proteus仿真都沒問題的
if(K3==0)     //K3按下
{
    while(K3==0);
     bb++;
    point_lcd(0x04,bb);
          if(K3==0)    //松手檢測
         {
           while(K3==0);
           delay(20);
          }
}
else if(K4==0)    //k4按下

{
    while(K4==0);
    bb=bb+2;
    point_lcd(0x04,bb);
           if(K4==0)     //松手檢測
          {
          while(K4==0);
          delay(20);
           }
}

作者: xianfajushi    時間: 2020-5-2 18:53
按鍵按下值為0就寫==0若電路按鍵按下為1就寫==1進行判斷是否釋放。
作者: xxpp2011    時間: 2020-5-2 19:31
看電路接法吧,有按鍵按下低電平也有按鍵按下高電平的。
作者: TTQ001    時間: 2020-5-2 21:14
用于檢查開或關狀態的值取決于按鍵的連接類型,例如 按下以接地(k == 0或k!= 1)或按下以連接電源(k == 1或k!= 0)。
作者: 我是caiji    時間: 2020-5-2 23:24
xianfajushi 發表于 2020-5-2 18:53
按鍵按下值為0就寫==0若電路按鍵按下為1就寫==1進行判斷是否釋放。

他這個是按下為0,我是不理解釋放不就是1了嗎,為什么是==0判斷呢,松手不應該檢測是不是為1嗎
作者: hantu    時間: 2020-5-3 01:07
你的代碼錯了,應該是下面這樣子:

if(K3==0)     //K3按下
{
    //while(K3==0);  // (這里是錯的,不能要)
    //(這里還缺了個延時消抖,你得加上)
     bb++;                   //(這行最好是移到下個if的花括號里面)
    point_lcd(0x04,bb); //(還有這行也是)
          if(K3==0)    //松手檢測 (這里可不是松手檢測,這是確認按鍵是否真的按下了)
         {
           while(K3==0);  // (這里才是松手檢測!)
           delay(20);
          }
}

作者: newsunnet    時間: 2020-5-3 02:45
有一些問題
作者: xingningjie    時間: 2020-5-3 08:27
鍵按下值為0就寫==0若電路按鍵按下為1就寫==1進行判斷是否釋放。看電路接法吧,有按鍵按下低電平也有按鍵按下高電平的。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1