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

標題: 51單片機程序如何解決按鍵長按問題? [打印本頁]

作者: try..    時間: 2019-12-18 19:01
標題: 51單片機程序如何解決按鍵長按問題?
程序如何解決案件長按問題

作者: gb302    時間: 2019-12-18 22:53
確定長按的時間長短后,用一個定時器,利用定時器中斷觸發。
作者: mffhxa    時間: 2019-12-18 23:14
定義一個0.5s的時延函數,當按鍵按下時,計算0.5s時延函數執行的次數,比如3s以上是長按,以下是短按,那么只需判斷次數是大于還是小于6即可。
void Scan_Keys()
{
  if(K1 == 0)
  {
    Delay(100);       //按鍵去抖動處理
    if(K1 == 0)       //確認有按鍵按下
    {
      count = 0;      //延時次數變量清0
      while(K1 == 0)  //按鍵按下狀態
      {
        Delay(5000);   //0.5s時延
        count++;      //按鍵按下的時間是0.5s的個數
      }
      if(count < 6)  //短按
      {
        .............;  //do something.
      }
      else            //長按
      
        ............;{//do something.
      }
    }
  }
}

作者: moluxiyan    時間: 2019-12-19 09:00
按時間區分呀
作者: 43824992    時間: 2019-12-19 09:40
弄一個判斷按鍵是否按下,延時一會之后判斷是否放開的程序就行。
作者: 我會想你的    時間: 2021-5-17 21:24
恍然大悟,謝謝
作者: 1747572468    時間: 2021-5-19 10:51
就是防抖處理,按鍵按下后多加個延時




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