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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機程序如何解決按鍵長按問題?

[復制鏈接]
跳轉到指定樓層
樓主
ID:667149 發(fā)表于 2019-12-18 19:01 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
程序如何解決案件長按問題
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:10193 發(fā)表于 2019-12-18 22:53 | 只看該作者
確定長按的時間長短后,用一個定時器,利用定時器中斷觸發(fā)。
回復

使用道具 舉報

板凳
ID:195446 發(fā)表于 2019-12-18 23:14 | 只看該作者
定義一個0.5s的時延函數(shù),當按鍵按下時,計算0.5s時延函數(shù)執(zhí)行的次數(shù),比如3s以上是長按,以下是短按,那么只需判斷次數(shù)是大于還是小于6即可。
void Scan_Keys()
{
  if(K1 == 0)
  {
    Delay(100);       //按鍵去抖動處理
    if(K1 == 0)       //確認有按鍵按下
    {
      count = 0;      //延時次數(shù)變量清0
      while(K1 == 0)  //按鍵按下狀態(tài)
      {
        Delay(5000);   //0.5s時延
        count++;      //按鍵按下的時間是0.5s的個數(shù)
      }
      if(count < 6)  //短按
      {
        .............;  //do something.
      }
      else            //長按
      
        ............;{//do something.
      }
    }
  }
}
回復

使用道具 舉報

地板
ID:470332 發(fā)表于 2019-12-19 09:00 | 只看該作者
按時間區(qū)分呀
回復

使用道具 舉報

5#
ID:662518 發(fā)表于 2019-12-19 09:40 | 只看該作者
弄一個判斷按鍵是否按下,延時一會之后判斷是否放開的程序就行。
回復

使用道具 舉報

6#
ID:839438 發(fā)表于 2021-5-17 21:24 | 只看該作者
恍然大悟,謝謝
回復

使用道具 舉報

7#
ID:773168 發(fā)表于 2021-5-19 10:51 來自觸屏版 | 只看該作者
就是防抖處理,按鍵按下后多加個延時
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表