情境五實(shí)際應(yīng)用矩陣鍵盤_第1頁
情境五實(shí)際應(yīng)用矩陣鍵盤_第2頁
情境五實(shí)際應(yīng)用矩陣鍵盤_第3頁
情境五實(shí)際應(yīng)用矩陣鍵盤_第4頁
情境五實(shí)際應(yīng)用矩陣鍵盤_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

單片機(jī)學(xué)習(xí)領(lǐng)域情景6應(yīng)用矩陣鍵盤請分組單步執(zhí)行數(shù)碼控制程序從每組中請一個同學(xué)回答數(shù)碼控制程序中所用指令的作用通過程序執(zhí)行過程進(jìn)一步講解子程序調(diào)用和堆棧的概念重點(diǎn)堆棧的操作過程單片機(jī)與鍵盤接口單片機(jī)與鍵盤接口按鍵按照結(jié)構(gòu)原理可分為兩類,一類是觸點(diǎn)式開關(guān)按鍵,如機(jī)械式開關(guān)、導(dǎo)電橡膠式開關(guān)等;另一類是無觸點(diǎn)開關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。前者造價低,后者壽命長。按鍵按照接口原理可分為編碼鍵盤與非編碼鍵盤兩類。這兩類鍵盤的主要區(qū)別是識別鍵符及給出相應(yīng)鍵碼的方法。編碼鍵盤主要是用硬件來實(shí)現(xiàn)對按鍵的識別,硬件結(jié)構(gòu)復(fù)雜;非編碼鍵盤主要是由軟件來實(shí)現(xiàn)按鍵的定義與識別,硬件結(jié)構(gòu)簡單,軟件編程量大。這里將要介紹的獨(dú)立式按鍵和矩陣式鍵盤都是非編碼鍵盤。單片機(jī)與鍵盤接口分類:一、獨(dú)立式按鍵

獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一根I/O口線,因此,在按鍵較多時,I/O口線浪費(fèi)較大,不宜采用。單片機(jī)與鍵盤接口二、矩陣式按鍵

通常,矩陣式鍵盤的列線由單片機(jī)輸出口控制,行線連接單片機(jī)的輸入口。單片機(jī)與鍵盤接口按鍵的去抖機(jī)械式按鍵在按下或釋放時,由于機(jī)械彈性作用的影響,通常伴隨有一定時間的觸點(diǎn)機(jī)械抖動,然后其觸點(diǎn)才穩(wěn)定下來,抖動時間一般為510ms,在觸點(diǎn)抖動期間檢測按鍵的通與斷狀態(tài),可能導(dǎo)致判斷出錯。鍵盤輸入中要解決的問題:

一、按鍵的確認(rèn):

即判斷按鍵是否閉合。通過檢測電平的高低狀態(tài),就能確認(rèn)是否有鍵按下。

二、按鍵抖動的消除

按鍵較多時,常采用軟件方法消除抖動。即在第一次檢測到有按鍵被按下時,執(zhí)行一段延時12-15ms的子程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,如保持為閉合狀態(tài)電平就可確認(rèn)真正有鍵按下,從而消除抖動的影響。單片機(jī)與鍵盤接口按鍵的去抖

(a)檢測按鍵(b)釋放按鍵按鍵去抖流程圖單片機(jī)與鍵盤接口矩陣式按鍵

鍵盤編程掃描法識別按鍵一般應(yīng)包括以下內(nèi)容:(1)判別有無鍵按下。(2)鍵盤掃描取得閉合鍵的行、列位置。(3)用計算法或查表法得到鍵值。(4)判斷閉合鍵是否釋放,如沒釋放則繼續(xù)等待。(5)將閉合鍵的鍵值保存,同時轉(zhuǎn)去執(zhí)行該閉合鍵的功能。開發(fā)板按鍵矩陣由4行4列組成4行:R1、R2、R3、R4,接P3.0、P3.1、P3.2、P3.3。4列:C1、C2、C3、C4,接P3.4、P3.5、P3.6、P3.7。按鍵的識別:識別按鍵的方法很多,最常見的方法是掃描法。由列線送入全“0”掃描字、行線讀入行線狀態(tài)來判斷的。其方法是:給列線的所有I/O線均置成低電平,然后將行線電平狀態(tài)讀入累加器A中。如果有鍵按下,總會有一根行線電平被拉至低電平,從而使行輸入不全為1。鍵盤中哪一個鍵按下是由列線逐列置低電平后,檢查行輸入狀態(tài)。其方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下之鍵不在此列。如果不全為1,則所按下的鍵必在此列。而且是在與電平為“0”的行線相交點(diǎn)上的那個鍵。程序設(shè)計流程圖如下:列線輸出0,行線寫1輸入行線數(shù)據(jù)行線數(shù)據(jù)數(shù)據(jù)不全為“1”延時去抖列線輸出0,行線寫1輸入行線數(shù)據(jù)行線數(shù)據(jù)數(shù)據(jù)不全為“1”轉(zhuǎn)鍵處理程序判斷是否有鍵按下程序設(shè)置列掃描次數(shù)首列號送R6DPTR指向列掃描碼表查表求列掃描碼輸出列掃描碼輸入行線狀態(tài)0行有鍵按下1行有鍵按下2行有鍵按下3行有鍵按下計算0行鍵值計算1行鍵值計算2行鍵值計算3

溫馨提示

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

最新文檔

評論

0/150

提交評論