單片機(jī)與4x4鍵盤去抖松手檢測(cè)程序_第1頁
單片機(jī)與4x4鍵盤去抖松手檢測(cè)程序_第2頁
單片機(jī)與4x4鍵盤去抖松手檢測(cè)程序_第3頁
單片機(jī)與4x4鍵盤去抖松手檢測(cè)程序_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)與4x4鍵盤去抖松手檢測(cè)程序剛寫的一個(gè)4*4鍵盤,去抖松手檢測(cè)程序。項(xiàng)目中要用4*4鍵盤,掃描的程 序有。但是去抖,和松手檢測(cè)的程序沒有,那么為了提 高效率,可靠性,以及更加合理化。到網(wǎng)上找了一些關(guān) 于”狀態(tài)機(jī)ftldquo;的資料,按照它的思路寫了一 個(gè),寫了半天,寫好一個(gè),經(jīng)過特發(fā)帖紀(jì)錄一下。/對(duì)按鍵掃描的值進(jìn)行處理去抖松手檢測(cè)uint8_t key_scan(void)static uint8_t key_state 二 0;static uint8_t key_num_flagl=0:uint8_t temp_key_num=0;uint8_t return_

2、key_num=0;temp_key_num=KeyMap() ;/讀取4*4鍵盤返回的按鍵值 不要去抖switch (key_state) /檢測(cè)狀態(tài) case key_state_0:if (temp_key_num!=O) /如果按鍵返回不是0說明 有按鍵按下key_num_flagl=temp_key_num; /記錄下 第一次按 鍵按下的值key_state=key_state_l; /進(jìn)入下一個(gè)狀態(tài) 去抖break;case key_state_l:if (temp_key_num!=O) /如果按鍵返回不是0說明 按鍵是按下的if (key_num_f lagl=t emp_ke

3、y_num) / / 判斷是否和上次記錄按鍵值一樣。return_key_num二temp_key_num; / 按鍵仍按下, 賦值給返回按鍵值key_state = key_state_2;/狀態(tài)轉(zhuǎn)換到鍵釋放態(tài)else key_state=key_state_O; /回到初始狀態(tài)else/沒有按鍵按下key_state=key_state_O; /回到初始狀態(tài)break;case key_state_2:if (temp_key_num=O) /如果沒有按鍵按下。說明 按鍵松手了key_state = key_state_0;/按鍵已釋放,轉(zhuǎn)換到按鍵初始態(tài)else return_key_num=key_num_f lagl;/如果沒有松手那就返回之前記錄的值/如果沒有這句的話,那么返回就是0。這個(gè)適合4*4鍵盤掃描,假如沒有這句/那么只有狀態(tài)1時(shí)候返回一次return_k

溫馨提示

  • 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. 人人文庫網(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)論