從做項目編寫的程序里拆解出來
單片機源程序如下:
- 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 上傳
點擊文件名下載附件
|