51單片機定時器按鍵判斷方法

51單片機定時器按鍵判斷方法

ID:27312305

大?。?5.37 KB

頁數(shù):4頁

時間:2018-12-02

51單片機定時器按鍵判斷方法_第1頁
51單片機定時器按鍵判斷方法_第2頁
51單片機定時器按鍵判斷方法_第3頁
51單片機定時器按鍵判斷方法_第4頁
資源描述:

《51單片機定時器按鍵判斷方法》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。

1、51單片機定時器按鍵判斷方法本文介紹了一種使用定時器精確判斷按鍵時間的方法,可以通過查詢keypress_time來判斷當前按鍵時間,結合處理程序,可以對按鍵行為進行更加方便的控制。以下為51單片機部分代碼。#defineKEY_TIME_S5#defineKEY_TIME_L150volatilebitkey_check_flag=0;volatileunsignedcharkeypress_time=0;//按鍵檢查voidcheck_key(void){if(key_check_flag==1)//為了只在定時器更新時檢查,減少cpu浪費{key_check_f

2、lag=0;4if(keypress_time>KEY_TIME_S&&keypress_time<(2*KEY_TIME_S))//單擊事件判斷{//在此添加單擊事件處理程序}if(keypress_time>KEY_TIME_L){//在此添加長按事件處理程序}}}//定時器2初始化voidTimer2Init(void)//10毫秒@12.000MHz{AUXR&=0xFB;//定時器時鐘12T模式T2L=0xF0;//設置定時初值T2H=0xD8;//設置定時初值AUXR

3、=0x10;//定時器2開始計時IE2

4、=0x04;4}//定時器2中斷檢查按鍵狀態(tài)vo

5、idkey_check(void)interrupt12{IE2&=~0x04;//若需要手動清除中斷標志,可先關閉中斷,此時系統(tǒng)會自動清除內部的中斷標志key_check_flag=1;if(key==0){keyup_time=0;if(keypress_time<255)keypress_time++;elsekeypress_time=255;}else4{keypress_time=0;if(keyup_time<255)keyup_time++;elsekeyup_time=255;}IE2

6、=0x04;}4

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。