欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機按鍵長短按源程序(不需要通過等待來判定)
[打印本頁]
作者:
九零后大將
時間:
2018-7-25 22:18
標題:
單片機按鍵長短按源程序(不需要通過等待來判定)
從做項目編寫的程序里拆解出來
單片機源程序如下:
uint m;
static uchar flag_key=1; //按鍵松開標志
static uchar pass=0; //長按動作標志,為1時,長按已動作,為0時長按未動作
if(KEY==0)
{
flag_key=0; //按鍵按下標志
m++;
}
else
flag_key=1; //按鍵松開標志
if((flag_key==1)&&(m>10)&&(m<500)) //按鍵松開,并且m值處于10~500之間,為短按
{
m=0; //m值清零
//短按操作內容
}
if((m>=500)&&(pass==0)) //判斷是否是長按并且是否已動作,如果是長按并且未動作執行下面括號內的語句
{
pass=1; //長按動作置1表示長按已動作
//長按操作內容
}
if(KEY==1) //判斷按鍵是否松開,松開的話執行下面語句
{
pass=0; //長按動作標志位置0為下次長按做準備
m=0; //m值清零,為下次按鍵按下做準備
}
m值大小根據需要進行調整
復制代碼
以上程序51hei提供打包下載:
按鍵長短按.rar
(524 Bytes, 下載次數: 165)
2018-7-25 22:17 上傳
點擊文件名下載附件
作者:
維超
時間:
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