飛卡單片機(jī)與嵌入式系統(tǒng)實(shí)踐第5章3_第1頁(yè)
飛卡單片機(jī)與嵌入式系統(tǒng)實(shí)踐第5章3_第2頁(yè)
飛卡單片機(jī)與嵌入式系統(tǒng)實(shí)踐第5章3_第3頁(yè)
飛卡單片機(jī)與嵌入式系統(tǒng)實(shí)踐第5章3_第4頁(yè)
飛卡單片機(jī)與嵌入式系統(tǒng)實(shí)踐第5章3_第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)介

2015年6月《單片機(jī)與嵌入式系統(tǒng)實(shí)踐》第五章嵌入式系統(tǒng)人機(jī)接口技術(shù)目錄5.3鍵盤接口

5.3.1鍵盤結(jié)構(gòu)與按鍵識(shí)別

5.3.2按鍵抖動(dòng)與消除方法

5.3.3鍵操作與鍵值處理

5.3.4

項(xiàng)目實(shí)踐矩陣式鍵盤的使用15.3.1鍵盤結(jié)構(gòu)與按鍵識(shí)別

通常人們把按壓式或觸摸式常開型按鈕開關(guān)稱為按鍵,而鍵盤則是一組按鍵的集合。在常態(tài)情況下,鍵盤每個(gè)按鍵的觸點(diǎn)處于斷開狀態(tài),只有當(dāng)按下時(shí)才閉合形成回路(1)鍵盤的分類

編碼鍵盤

非編碼鍵盤

獨(dú)立式鍵盤

矩陣式鍵盤25.3.1鍵盤結(jié)構(gòu)與按鍵識(shí)別

(2)獨(dú)立式鍵盤接口

獨(dú)立式連接是指每一個(gè)按鍵單獨(dú)占用一根I/O接口線,因而每根I/O接口線上按鍵的工作狀態(tài)不會(huì)影響其他I/O接口線的工作狀態(tài),電路如下圖所示。在嵌入式系統(tǒng)中當(dāng)使用按鍵數(shù)量較少的時(shí)候,經(jīng)常使用這種連接的獨(dú)立式非編碼鍵盤。35.3.1鍵盤結(jié)構(gòu)與按鍵識(shí)別

(3)矩陣式鍵盤接口

以行列形式連接的非編碼鍵盤又稱為矩陣式鍵盤,其結(jié)構(gòu)的特點(diǎn)是用I/O接口線組成行、列結(jié)構(gòu),行、列線不相通,通過一個(gè)按鍵設(shè)置在行、列交叉點(diǎn)上控制行線和列線的連通,電路結(jié)構(gòu)如下所示。在按鍵數(shù)量較多時(shí),這種連接方式可以減少占用I/O口線。45.3.1鍵盤結(jié)構(gòu)與按鍵識(shí)別

(4)按鍵識(shí)別

在鍵盤操作中當(dāng)確認(rèn)有按鍵按下后有一個(gè)非常重要的步驟來確定到底是哪一個(gè)按鍵被按下,這個(gè)操作就稱為“按鍵識(shí)別”。按鍵識(shí)別常用的方法有兩種:逐行掃描法和行列反轉(zhuǎn)法。1)逐行掃描法

單片機(jī)每次向矩陣式鍵盤的某一行Xi(i=1~4)輸出掃描信號(hào),即使其為0,然后通過讀取列線Yj(j=1~4)的狀態(tài)來確定鍵閉合的位置。列線Yj通過上拉電阻接置+5V。當(dāng)無按鍵按下時(shí),行線Xi和列線Yj斷開,列線Y1~Y4呈現(xiàn)高電平。當(dāng)某一按鍵閉合時(shí),該鍵所在行、列線短接。若該行線輸出為0,則該列線的電平被拉成0(其余3根列線電平仍為1),此時(shí)單片機(jī)就可以此判斷出閉合按鍵所在的行、列及鍵值。55.3.1鍵盤結(jié)構(gòu)與按鍵識(shí)別

2)行列反轉(zhuǎn)法

行列反轉(zhuǎn)法的操作步驟是:操作時(shí),單片機(jī)先輸出行有效信號(hào),讀入此刻列線的狀態(tài)得到前半個(gè)特征字;然后再輸出列有效信號(hào),讀入此刻行線的狀態(tài)得到后半個(gè)特征字;經(jīng)過組合、處理得到按鍵的特征字。所謂的“行列反轉(zhuǎn)”其實(shí)是指行線和列線的輸入、輸出狀態(tài)切換,由于在該方法中任意一個(gè)按鍵的特征字只需一次行列反轉(zhuǎn)就可唯一確定,因而在識(shí)別效率上要優(yōu)于前面介紹的逐行掃描法,尤其是當(dāng)矩陣鍵盤行列數(shù)量較大時(shí)本方法具有明顯的優(yōu)勢(shì)。65.3.2按鍵抖動(dòng)與消除方法

在鍵盤應(yīng)用中,為了降低成本,不論是獨(dú)立式鍵盤還是矩陣式鍵盤,通常都采用觸點(diǎn)式機(jī)械彈性按鍵,由于觸點(diǎn)具有彈性作用,在按鍵閉合和釋放的瞬間均有一連串抖動(dòng)過程,不會(huì)馬上穩(wěn)定地接通或斷開,這就是“按鍵抖動(dòng)”。75.3.2按鍵抖動(dòng)與消除方法

由于按鍵抖動(dòng)的存在,一次按鍵操作常常會(huì)引起被誤讀多次。為確保按鍵的一次閉合或彈開僅作一次處理必須采取措施去除鍵抖動(dòng),這就是“按鍵消抖”。

消除抖動(dòng)的方法有硬件消抖和軟件消抖兩種。所謂硬件消抖就是采用專門的硬件消抖電路來消除抖動(dòng)的影響,軟件消抖就是在鍵盤處理程序中,采用延時(shí)的辦法多次判斷按鍵當(dāng)前狀態(tài)來消除抖動(dòng)的影響。85.3.2按鍵抖動(dòng)與消除方法

(1)硬件消抖

在鍵數(shù)較少時(shí)可用硬件方法消除鍵抖動(dòng),如下圖所示的RS觸發(fā)器為常用的硬件去抖。圖中兩個(gè)“與非”門構(gòu)成一個(gè)RS觸發(fā)器。當(dāng)按鍵未按下時(shí),輸出為1;當(dāng)鍵按下時(shí),輸出為0。此時(shí)即使用按鍵的機(jī)械性能,使按鍵因彈性抖動(dòng)而產(chǎn)生瞬時(shí)斷開(抖動(dòng)跳開B),中要按鍵不返回原始狀態(tài)A,雙穩(wěn)態(tài)電路的狀態(tài)不改變,輸出保持為0,不會(huì)產(chǎn)生抖動(dòng)的波形。95.3.2按鍵抖動(dòng)與消除方法

(2)軟件消抖

如果按鍵較多,常用軟件方法去抖,即檢測(cè)出鍵閉合后執(zhí)行一個(gè)延時(shí)程序,一般為5ms~10ms的延時(shí),讓前沿抖動(dòng)消失后再一次檢測(cè)鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下。當(dāng)檢測(cè)到按鍵釋放后,也要給5ms~10ms的延時(shí),待后沿抖動(dòng)消失后才能轉(zhuǎn)入該鍵的處理程序。在軟件消抖過程中延時(shí)和檢測(cè)程序可能需要多次重復(fù)操作,確保在鍵閉合穩(wěn)定時(shí)再讀取鍵的狀態(tài),并且必須判別到鍵釋放穩(wěn)定后再作后續(xù)處理。105.3.3鍵操作與鍵值處理

(2)同時(shí)按鍵處理

同時(shí)按鍵即兩個(gè)或多個(gè)按鍵在同一時(shí)刻被按下的情況又稱“串鍵”,可以采用不同的方法來處理。最常用的方法為n鍵鎖定技術(shù),即只處理一個(gè)鍵,對(duì)任何其他按下又松開的鍵不進(jìn)行處理。n鍵鎖定技術(shù)又分為“先入有效”和“后留有效”兩種處理方法?!跋热胗行А钡姆椒ㄊ?,當(dāng)兩個(gè)或多個(gè)按鍵被按下時(shí),只有第一個(gè)按下的鍵是有效的,其余均無效;“后留有效”的方法是,當(dāng)多個(gè)按鍵按下時(shí),只有最后松開的鍵是有效的,其余均無效。115.3.3鍵操作與鍵值處理

(3)一鍵一義與一鍵多義所謂一鍵一義,是指一個(gè)按鍵代表一個(gè)確切的命令或一個(gè)數(shù)字,編程時(shí)無需知道在此之前的按鍵情況,只要根據(jù)當(dāng)前按鍵的編碼把程序直接分支到相應(yīng)的處理模塊入口。所謂一鍵多義,是指一個(gè)按鍵有多種功能,既可作多種命令鍵又可作數(shù)字鍵或者按鍵功能會(huì)隨著被下按的次數(shù)而切換。在一鍵多義的情況下,按鍵代表的功能不是由一次按鍵組成,而是由一個(gè)按鍵序列所組成。對(duì)于一鍵多義,在處理時(shí)使用狀態(tài)變量法來進(jìn)行。125.3.4項(xiàng)目實(shí)踐

矩陣式鍵盤的使用要求:

使用4×4矩陣式鍵盤描述0~F共16個(gè)按鍵,并利用1位七段數(shù)碼管顯示當(dāng)前被按下鍵對(duì)應(yīng)的鍵值(即0~F的數(shù)值)。方案設(shè)計(jì):

按照設(shè)計(jì)要求和單片機(jī)的引腳分布,在硬件電路上鍵盤輸入模塊可選擇2個(gè)4位端口用于連接4×4矩陣式鍵盤的行線和列線;顯

溫馨提示

  • 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)論