單片機(jī)按鍵去抖動(dòng)程序設(shè)計(jì)思路_第1頁
單片機(jī)按鍵去抖動(dòng)程序設(shè)計(jì)思路_第2頁
單片機(jī)按鍵去抖動(dòng)程序設(shè)計(jì)思路_第3頁
單片機(jī)按鍵去抖動(dòng)程序設(shè)計(jì)思路_第4頁
單片機(jī)按鍵去抖動(dòng)程序設(shè)計(jì)思路_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、單片機(jī)按鍵去抖動(dòng)程序設(shè)計(jì)思路徐麗紅王佰營(yíng)在單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)中,人機(jī)界面部分的友好程度,很大一部分取決于鍵盤處理程序。在按鍵時(shí)按得快了沒有反應(yīng),按慢了一連響應(yīng)幾次,總給人緊迫感或遲鈍感,不能使人滿意。用以下思路設(shè)計(jì)的鍵處理程序取得了滿意效果。判斷有沒有鍵值:若有鍵值:判斷是否為首次按下:A:若首次按下:判斷是否與上次按下的鍵值相同a.若相同再判斷:是否已經(jīng)按下了300ms?1).若已經(jīng)按下300ms則將此鍵做為連鍵處理。2).若不是連鍵則判斷:是否按下20ms?1.若確認(rèn)按下20ms,得到有效鍵值等待彈起2.若不是按下20ms直接結(jié)束處理(ret)。b若不相同則將標(biāo)志清零結(jié)束處理(ret)。B

2、:若不是首次按下:將鍵值暫存起來,標(biāo)志置位結(jié)束處理。若無鍵值:判斷是否有鍵值已被確認(rèn)A.若有鍵已被確認(rèn):判斷按鍵是否首次抬起a.若首次抬起:判斷抬起延時(shí)時(shí)間(20ms)是否到達(dá)1.若延時(shí)到則將標(biāo)志處理結(jié)束處理。2.若延時(shí)未到直接結(jié)束處理(ret)。b.若非首次抬起:直接結(jié)束處理(ret)。B若沒有鍵被確認(rèn):直接結(jié)束處理(ret)。具體程序?qū)崿F(xiàn)流程圖如下:(所有延時(shí)均為非阻塞式延時(shí))Lcllscan_key為調(diào)用鍵掃描程序;down=0?bi-dowu=lKey_tttip=a,?bsur?=l?2懸scan_key中更得nt_ddo=50key-keyliimpbkeydo=0baure=O切

3、_up=0key_hiip*-aH?_dow.!n=10mjJilowiFl50打i_do賈血=b-_up=7laclPEDATDIRcmpland#00110110bldp#DP_B01saclkey_tmpbcndk_down,NEQ;CATCHKEY?ldp#DP_B01splk#00h,bknot1retk_down:laclbknot1bcndnot_first,NEQ;first?laclkey_tmpsaclkey_oksplk#04,splk#50,splk#11h,splk#00h,splk#00h,retnot_first:laclkey_clkbcndT_over,ret

4、T_over:laclkey_okxorkey_tmpbcndIs_same,splk#00h,retIs_same:splk#4,laclbcontinuebcndIs_fast,OK_key:splk#11h,splk#11h,retkey_clkkey_dlybknot1bksurebcontinue;NtimesEQ;12ms?;12msEQ;samekey?bknot1key_clkNEQ;continue?bcontinuebksure;key_dly-Is_fast:laclkey_dlysub#01hEQ;500/300ms?saclkey_dlybcndtuch_set,key_dlyrettuch_set:splk#25,bOK_key該程序中:防抖時(shí)間是12ms;是否為連鍵延遲時(shí)間是500ms,連鍵重復(fù)處理時(shí)間是300ms;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論