汽車單片機(jī)技術(shù) 課件 3.3矩陣式鍵盤控制數(shù)碼管顯示0~F_第1頁(yè)
汽車單片機(jī)技術(shù) 課件 3.3矩陣式鍵盤控制數(shù)碼管顯示0~F_第2頁(yè)
汽車單片機(jī)技術(shù) 課件 3.3矩陣式鍵盤控制數(shù)碼管顯示0~F_第3頁(yè)
汽車單片機(jī)技術(shù) 課件 3.3矩陣式鍵盤控制數(shù)碼管顯示0~F_第4頁(yè)
汽車單片機(jī)技術(shù) 課件 3.3矩陣式鍵盤控制數(shù)碼管顯示0~F_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

矩陣式鍵盤控制數(shù)碼管顯示0~F本次課主要內(nèi)容1.基本任務(wù)使用單片機(jī)AT89C52設(shè)計(jì)一個(gè)4*4矩陣鍵盤,16個(gè)按鍵分別對(duì)應(yīng)0~9、A~F。當(dāng)有按鍵按下時(shí),數(shù)碼管顯示按下健的對(duì)應(yīng)字符;沒有按鍵按下時(shí),數(shù)碼管無顯示。編程,自行設(shè)計(jì)proteus仿真圖,實(shí)現(xiàn)功能。認(rèn)識(shí)鍵盤鍵盤是單片機(jī)應(yīng)用系統(tǒng)中人機(jī)交流不可缺少的輸入設(shè)備。鍵盤由一組規(guī)則排列的按鍵組成,一個(gè)按鍵實(shí)際上是一個(gè)開關(guān)元件。鍵盤通常使用機(jī)械觸點(diǎn)式按鍵開關(guān),其主要功能是把機(jī)械上的通斷轉(zhuǎn)換為電氣上的邏輯關(guān)系(1和0)。常見的鍵盤種類有:查詢(獨(dú)立)式鍵盤矩陣式鍵盤鍵盤分類按鍵按照結(jié)構(gòu)原理可分為兩類觸點(diǎn)式開關(guān)按鍵,如機(jī)械式開關(guān)、導(dǎo)電橡膠式開關(guān)等;無觸點(diǎn)開關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。前者造價(jià)低,后者壽命長(zhǎng)。按鍵按照接口原理可分為兩類

編碼鍵盤,主要是用硬件來實(shí)現(xiàn)對(duì)按鍵的識(shí)別,硬件結(jié)構(gòu)復(fù)雜;非編碼鍵盤,主要是由軟件來實(shí)現(xiàn)按鍵的定義與識(shí)別,硬件結(jié)構(gòu)簡(jiǎn)單,軟件編程量大。我們主要介紹單片機(jī)中常用的觸點(diǎn)式開關(guān)按鍵、非編碼鍵盤。鍵盤防抖動(dòng)措施機(jī)械式按鍵在按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),然后才能穩(wěn)定下來。觸點(diǎn)抖動(dòng)過程如右圖所示,抖動(dòng)時(shí)間的長(zhǎng)短與開關(guān)的機(jī)械特性有關(guān),一般為5

10ms。若有抖動(dòng),按鍵按下會(huì)被錯(cuò)誤地認(rèn)為是多次操作。

防抖動(dòng)措施為了克服按鍵觸點(diǎn)機(jī)械抖動(dòng)所致的檢測(cè)誤判,必須采取去抖動(dòng)措施,可從硬件、軟件兩方面予以考慮。鍵數(shù)較少時(shí),采用硬件去抖;鍵數(shù)較多時(shí),采用軟件去抖。

軟件去抖的步驟在檢測(cè)到有按鍵按下時(shí),執(zhí)行一個(gè)10ms左右(具體時(shí)間應(yīng)視所使用的按鍵進(jìn)行調(diào)整)的延時(shí)程序;再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認(rèn)該鍵處于閉合狀態(tài),從而消除抖動(dòng)的影響。軟件去抖流程圖在檢測(cè)到有按鍵按下時(shí)執(zhí)行一個(gè)10ms左右延時(shí)程序;再檢測(cè)該鍵電平是否仍保持閉合狀態(tài)。若按鍵仍保持閉合狀態(tài)電平,則確認(rèn)該鍵是處于閉合狀態(tài)。

矩陣式鍵盤的結(jié)構(gòu)原理矩陣式鍵盤的結(jié)構(gòu)在單片機(jī)應(yīng)用系統(tǒng)中,若使用的按鍵較多時(shí),通常采用矩陣式鍵盤。矩陣式鍵盤是由行線和列線組成的,按鍵位于行、列的交叉點(diǎn)上,其結(jié)構(gòu)如下圖所示。矩陣式鍵盤的結(jié)構(gòu)原理矩陣式鍵盤的結(jié)構(gòu)由上圖可知,一個(gè)4×4的行、列結(jié)構(gòu),可以構(gòu)成一個(gè)含有16個(gè)按鍵的鍵盤,節(jié)省了很多I/O口。按鍵開關(guān)的兩端分別接行線和列線,列線通過上拉電阻接到+5V的電源上。將所有行線的電平狀態(tài)讀入;判斷所有行線是否都保持高電平狀態(tài)。若無鍵按下,所有的行線仍保持高電平狀態(tài);若有鍵按下,行線中至少應(yīng)有一條線為低電平。如果第2行與第2列交叉點(diǎn)的鍵被按下,則第2行與第2列導(dǎo)通,第2行電平被拉低,讀入的行信號(hào)就為低電平,表示有鍵按下。判斷按鍵按下的方法在P1口輸出0x0f時(shí),若沒有按鍵按下,行線處于高電平狀態(tài),列線處于低電平狀態(tài);當(dāng)有按鍵按下,按鍵所在的行線和列線導(dǎo)通,此時(shí)的行線電平由與該行線相連的列線電平來決定。問題:那么,能否肯定認(rèn)為是第2行第2列的鍵被按下呢?識(shí)別按鍵的方法識(shí)別按鍵的方法是采用鍵盤掃描方法,其方法是往列線上按順序一列一列的送出低電平。先送第0列為低電平,其它列為高電平,讀入的行的電平狀態(tài)就表明了第0列的4個(gè)鍵的情況,若讀入的行值全為高電平,則表示無鍵按下;再送第1列為低電平,其它列為高電平,讀入的行的電平狀態(tài)則顯示了該列上的4個(gè)按鍵的情況,若讀入的行值全為高電平,則表示無鍵按下;然后依次輪流給各列送出低電平,直至4列全部送完,再?gòu)牡?列開始,依此循環(huán)。采用鍵盤掃描,我們?cè)賮碛^察第2行與第2列交叉點(diǎn)的鍵按下時(shí)的判斷過程,當(dāng)?shù)?列送出低電平時(shí),讀第2行為低電平,而其它列送出低電平時(shí),讀第2行卻為高電平,由此即可斷定按下的鍵應(yīng)是第2行與第2列交叉點(diǎn)的鍵。按鍵編碼由于矩陣式鍵盤的按鍵較多,按鍵的位置又是由行號(hào)和列號(hào)唯一確定的,因此可以對(duì)按鍵進(jìn)行編碼,并把得到的編碼稱為鍵值。鍵值=列號(hào)+行號(hào)×4。例如:第2行與第2列交叉點(diǎn)的鍵的鍵值為0AH(00001010b)。注意:行和列的編號(hào)都是從0開始,如4×4鍵盤,行號(hào)為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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)論