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

標題: 單片機按鍵長短按源程序(不需要通過等待來判定) [打印本頁]

作者: 九零后大將    時間: 2018-7-25 22:18
標題: 單片機按鍵長短按源程序(不需要通過等待來判定)
從做項目編寫的程序里拆解出來

單片機源程序如下:
  1. uint m;
  2.         static        uchar flag_key=1;                //按鍵松開標志
  3.         static uchar pass=0;                        //長按動作標志,為1時,長按已動作,為0時長按未動作
  4.         if(KEY==0)
  5.         {
  6.                 flag_key=0;                //按鍵按下標志
  7.                 m++;
  8.         }
  9.         else
  10.                 flag_key=1;                //按鍵松開標志
  11.         if((flag_key==1)&&(m>10)&&(m<500))        //按鍵松開,并且m值處于10~500之間,為短按
  12.         {
  13.                 m=0;                                                        //m值清零
  14.                         //短按操作內容                                                        
  15.         }
  16.         if((m>=500)&&(pass==0))                                //判斷是否是長按并且是否已動作,如果是長按并且未動作執行下面括號內的語句
  17.         {                                                
  18.                 pass=1;                                                        //長按動作置1表示長按已動作
  19.                 //長按操作內容
  20.         }
  21.         if(KEY==1)                                                        //判斷按鍵是否松開,松開的話執行下面語句
  22.         {
  23.                 pass=0;                                                        //長按動作標志位置0為下次長按做準備
  24.                 m=0;                                                        //m值清零,為下次按鍵按下做準備
  25.         }
  26. m值大小根據需要進行調整
復制代碼

以上程序51hei提供打包下載:
按鍵長短按.rar (524 Bytes, 下載次數: 165)





作者: 維超    時間: 2018-7-26 10:25
好思路,下載收藏以后借鑒
作者: yadjt    時間: 2019-2-11 08:58
學習學習,謝謝分享!
作者: jeffphoon    時間: 2019-2-19 08:38
剛好要用到,謝謝了!!
作者: 快樂眼淚    時間: 2019-4-20 19:56
正在學習,收藏了!
作者: yasi666    時間: 2019-9-18 15:13
學習了,謝謝分享
作者: chscn    時間: 2019-9-18 18:27
看了代碼 ,感覺還是要 不停的調用這個“函數”,再判斷
作者: stlong    時間: 2019-9-19 08:49
感謝樓主,已學習
作者: m182892    時間: 2019-9-19 14:57
這種方法有沒有做按鍵雙擊的。
作者: hmgqljz111    時間: 2019-9-19 15:27
謝謝樓主分享
作者: 守候楓林紅葉時    時間: 2019-10-17 19:11
謝謝分享!學習了。
作者: 榆林上校    時間: 2019-11-6 02:54
嗯,不錯的資料,謝謝分享!
作者: 精彩一刻    時間: 2020-11-22 00:04
剛剛在學單片機,搜了下長、短按的方法,就看到這個帖子了。
首先多謝樓主,學習了。
其次看了下代碼,是不是這樣的:
短按總是檢測按鍵彈起時執行動作,意思是按鍵按下后m開始計時,然后判斷彈起了,且是很短的延時就是短按。
如果按下后計時時間較長,那就是長按了。
但是我想無論長按還是短按都是在檢測下按鍵被按下后立即動作,此時如何判斷短按還是長按呢?且只能執行短按或長按的動作,而不能先執行短按的動作,再接著執行長按的動作,這個是不是比較不好實現呢?
作者: HEGUANGKUO65667    時間: 2021-10-23 13:19
請問各位師傅,有沒有獨立按鍵實現多個功能,使用定時器寫的程序。發來學習一下。謝謝。
作者: 楊天想    時間: 2021-10-23 16:17
HEGUANGKUO65667 發表于 2021-10-23 13:19
請問各位師傅,有沒有獨立按鍵實現多個功能,使用定時器寫的程序。發來學習一下。謝謝。

短按,長按,雙擊?




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