第六章mcs-51單片機(jī)接口技術(shù)_第1頁(yè)
已閱讀1頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1,一、鍵盤基礎(chǔ)知識(shí) 二、MCS-51對(duì)非編碼鍵盤的接口 三、鍵盤的工作方式,§10.2 鍵盤接口原理,2,一 鍵盤基礎(chǔ)知識(shí),鍵盤是一組按鍵的組合,它是最常用的單片機(jī)輸入設(shè)備,操作人員可以通過鍵盤輸入數(shù)據(jù)或命令,實(shí)現(xiàn)簡(jiǎn)單的人機(jī)對(duì)話。,1、什么是鍵盤?,3,2、按鍵的分類,按鍵按照結(jié)構(gòu)原理可分為兩類:觸點(diǎn)式開關(guān)按鍵:如機(jī)械式開關(guān)等。無觸點(diǎn)式開關(guān)按鍵:如磁感應(yīng)按鍵。 前者造價(jià)低,后者壽命長(zhǎng)。 目前,微機(jī)系統(tǒng)中最常見

2、的是: 觸點(diǎn)式開關(guān)按鍵,4,鍵盤按其結(jié)構(gòu)形式可分為兩種:編碼鍵盤:由硬件邏輯自動(dòng)提供與鍵對(duì)應(yīng)的編碼。使用方便,但電路復(fù)雜,價(jià)格較貴,在單片機(jī)應(yīng)用系統(tǒng)中較少采用。非編碼鍵盤:由軟件來實(shí)現(xiàn)鍵盤的定義與識(shí)別。結(jié)構(gòu)簡(jiǎn)單、成本低廉,在單片機(jī)應(yīng)用系統(tǒng)中被普遍采用。,5,3、按鍵去抖動(dòng)處理,由于通常的按鍵所用的開關(guān)是機(jī)械開關(guān),當(dāng)開關(guān)閉合、斷開時(shí)并不是馬上穩(wěn)定地接通和斷開,而是在閉合與斷開瞬間均伴隨有一連串的抖動(dòng)。當(dāng)掃描表明有鍵

3、被按下之后,緊接著應(yīng)進(jìn)行去抖動(dòng)處理。抖動(dòng)時(shí)間長(zhǎng)、短與鍵的機(jī)械特性有關(guān),一般為5~l0ms。,6,如圖所示:,圖3-1,7,★請(qǐng)思考,什么是鍵抖動(dòng)?為什么鍵盤要考慮去抖動(dòng)? 一般常用去抖動(dòng)的方法有哪些?,8,什么是鍵抖動(dòng)? 由于通常的按鍵所用的開關(guān)是機(jī)械開關(guān),被按下時(shí),由于機(jī)械觸點(diǎn)的彈性及電壓突跳等原因,觸點(diǎn)閉合或斷開的瞬間會(huì)出現(xiàn)電壓抖動(dòng)。為什么鍵盤要考慮去抖動(dòng)? 鍵抖動(dòng)可能導(dǎo)致計(jì)算機(jī)將人工按一次鍵

4、操作識(shí)別為多次,為了消除干擾,保證在按鍵閉合穩(wěn)定狀態(tài)下讀取鍵值,需要對(duì)鍵盤進(jìn)行消抖處理。,9,一般常用去抖動(dòng)的方法有幾種?常用的消抖措施有硬件消抖和軟件消抖。硬件方法就是在鍵盤中附加去抖動(dòng)電路,從根本上消除抖動(dòng)產(chǎn)生的可能性;軟件方法則是采用時(shí)間延遲以躲過抖動(dòng)(大約延時(shí)10~30ms即可),待行線上狀態(tài)穩(wěn)定之后,再進(jìn)行狀態(tài)輸入。,10,就是在第一次檢測(cè)到有鍵按下時(shí)先不動(dòng)作,延時(shí)一段時(shí)間(一般為10ms),再次檢測(cè)按鍵的狀態(tài),如果仍保

5、持閉合狀態(tài),則確認(rèn)真正有鍵按下。當(dāng)檢測(cè)到按鍵釋放后,也要給5ms~10ms的延時(shí),待后沿抖動(dòng)消失后才能轉(zhuǎn)入按鍵的處理程序。,◆軟件消抖,11,對(duì)于兩個(gè)或多個(gè)按鍵同時(shí)按下的重鍵問題,可以采用“先入有效”或“后留有效”的原則加以處理。 “先入有效”:指當(dāng)多個(gè)按鍵同時(shí)按下時(shí),只有第一個(gè)按下的鍵有效,其它鍵無效。 “后留有效”:指當(dāng)多個(gè)按鍵同時(shí)按下時(shí),只有最后松開的按鍵有效,其它鍵均無效。,12,4、鍵盤接口的操作功能,從按一個(gè)鍵到鍵的功

6、能被執(zhí)行主要包括兩項(xiàng)工作:第一項(xiàng):鍵的識(shí)別,即在鍵盤中找出被按的是哪個(gè)鍵。第二項(xiàng):鍵功能的實(shí)現(xiàn)。 第一項(xiàng)工作使用接口電路實(shí)現(xiàn),第二項(xiàng)工作是通過執(zhí)行查詢/中斷服務(wù)程序來完成。我們先討論第一項(xiàng),即鍵盤接口問題。,13,鍵盤接口的操作功能:① 鍵盤掃描,以判定是否有鍵被按下(稱之為“閉合鍵”)。② 鍵識(shí)別,以確定閉合鍵的行列位置。③ 產(chǎn)生閉合鍵的鍵碼。④ 排除多鍵、竄鍵(復(fù)按)及去抖動(dòng)。,14,二 MCS-51對(duì)非編

7、碼鍵盤的接口,非編碼鍵盤有兩種形式:獨(dú)立式鍵盤接口:?jiǎn)纹瑱C(jī)系統(tǒng)中,如只需要幾個(gè)功能鍵,此時(shí),可采用獨(dú)立式按鍵結(jié)構(gòu)。矩陣式(行列式)鍵盤接口:?jiǎn)纹瑱C(jī)系統(tǒng)中,若使用按鍵較多時(shí),通常采用矩陣式鍵盤。,15,1、獨(dú)立式鍵盤接口,獨(dú)立式按鍵是直接用I/O口線構(gòu)成的單個(gè)按鍵電路,其特點(diǎn)是每個(gè)按鍵單獨(dú)占用一根I/O口線,每個(gè)按鍵的工作不會(huì)影響其它I/O口線的狀態(tài)。獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根I/O口線,因

8、此,在按鍵較多時(shí),I/O口線浪費(fèi)較大,不宜采用。,①按鍵硬件結(jié)構(gòu),16,MCS-51對(duì)獨(dú)立式非編碼鍵盤的接口,此種接口適于鍵數(shù)較少或操作速度較高的場(chǎng)合。,圖3-3,17,圖(a)為中斷方式的獨(dú)立式鍵盤工作電路,圖(b)為查詢方式的獨(dú)立式鍵盤工作電路,②工作原理: 當(dāng)任何一個(gè)鍵被按下時(shí),與其相連的輸入線被置成 “0”,平時(shí)該線為“1”。,工作方式:,18,,圖3-4,19,③獨(dú)立式按鍵的軟件結(jié)構(gòu) 常采用查詢式結(jié)構(gòu): 先

9、逐位查詢每根I/O口線的輸入狀態(tài),如某一根I/O口線輸入為低電平,則可確認(rèn)該I/O口線所對(duì)應(yīng)的按鍵已按下; 然后,再轉(zhuǎn)向該鍵的功能處理程序。,20,獨(dú)立式鍵盤處理程序流程,圖3-5,21,2、矩陣式(行列式)鍵盤接口,用于按鍵數(shù)目較多的場(chǎng)合,由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上。 行列式鍵盤與獨(dú)立式鍵盤相比,要節(jié)省很多的I/O口線。,①按鍵硬件結(jié)構(gòu),22,23,②矩陣式鍵盤工作原理,無鍵按下,該輸入(行)線為高電平,當(dāng)有鍵按

10、下時(shí),輸入(行)線電平由輸出(列)線的電平來決定。 由于行、列線為多鍵共用,各按鍵彼此將相互發(fā)生影響,必須將行、列線信號(hào)配合起來并作適當(dāng)?shù)奶幚?,才能確定閉合鍵的位置。,24,③矩陣式按鍵的識(shí)別方法,a. 掃描法 b. 線反轉(zhuǎn)法,25,第1步:識(shí)別鍵盤有無鍵按下。,第2步:如有鍵被按下,識(shí)別出具體的按鍵。,把所有列線置0,檢查各行線電平是否有變化,如有變化,說明有鍵按下,如無變化,則無鍵按下。,先把某一列置低電平,其余各列為高電平,

11、檢查各行線電平的變化,如果某行線電平為低,可確定此行列交叉點(diǎn)處的按鍵被按下。,a. 掃描法,26,過程:1.先判斷有無鍵按下,列線輸出0000,然后輸入行線狀態(tài): 若沒有鍵按下,則行線狀態(tài)為全1(1111); 若有任一鍵按下,則行線狀態(tài)不為全1。,27,圖3-7,28,過程:2.再確認(rèn)哪個(gè)鍵被按下,列線逐行輸出0,然后輸入行線狀態(tài): 若沒有鍵按下,則行線狀態(tài)為全1(1111); 若有任一鍵按下,則行線狀態(tài)不為全1。,29,掃描法

12、識(shí)別出具體按鍵的過程:,圖3-7,P1.7,P1.6,P1.4,P1.5,P1.3,P1.2,P1.0,P1.1,30,P1.7,P1.6,P1.4,P1.5,P1.3,P1.2,P1.0,P1.1,31,P1.7,P1.6,P1.4,P1.5,P1.3,P1.2,P1.0,P1.1,32,第1步:列線輸出為全低電平,則行線中電平由高變低的所在行為按鍵所在行。,第2步:行線輸出為全低電平,則列線中電平由高變低所在列為按鍵所在列。,b.

13、線反轉(zhuǎn)法,只需兩步便能獲得此按鍵所在的行列值。,33,圖3-7,34,圖3-7,35,比較說明:,掃描法對(duì)鍵的識(shí)別采用逐列掃描的方法獲得鍵的位置,當(dāng)被按下的鍵在最后一列時(shí)需要掃描N次(N為列數(shù)),當(dāng)N比較大時(shí)鍵盤工作速度較慢;而線反轉(zhuǎn)法則不論鍵盤有多少行和多少列只需經(jīng)過兩步即可獲得鍵的位置。,36,正邏輯表示--行列線數(shù)據(jù)求反組合,上例中的各鍵值分別為:88H、84H 、82H 、81H、,48H 、44H 、42H、41H、,28H

14、、24H、22H、21H、,18H、14H、12H、11H,④確定每個(gè)鍵的鍵值,負(fù)邏輯表示--行列線數(shù)據(jù)直接組合,上例中的各鍵值分別為: 77H、7BH 、7DH 、7EH、,B7H 、BBH 、BDH、BEH、,D7H、DBH、DDH、DEH、,E7H、 EBH、EDH、EEH,37,三 鍵盤的工作方式,單片機(jī)在忙于各項(xiàng)工作任務(wù)時(shí),如何兼顧鍵盤的輸入,取決于鍵盤的工作方式。原則:即要保證能及時(shí)響應(yīng)按鍵操作,又不要過多占用CPU的工作

15、時(shí)間。通常,鍵盤工作方式有3種:,編程掃描、定時(shí)掃描、中斷掃描,38,1. 編程掃描方式,工作過程:,(1)在鍵盤掃描子程序中,先判斷 有無鍵按下。,(2)用軟件來消除按鍵抖動(dòng)的影響。 如有鍵按下,則進(jìn)行下一步。,(3)求按下鍵的鍵號(hào)。,(4)等待按鍵釋放后,再進(jìn)行按鍵 功能的處理操作。,39,2. 定時(shí)掃描工作方式,利用單片機(jī)內(nèi)的定時(shí)器,產(chǎn)生10ms的定時(shí)中斷,對(duì)鍵盤進(jìn)行掃描。

16、只有在鍵盤有鍵按下時(shí),才執(zhí)行鍵盤掃描程序,如無鍵按下,單片機(jī)將不理睬鍵盤。,3.中斷工作方式,40,,小結(jié):鍵盤所做的工作分為三個(gè)層次:,41,第1層:?jiǎn)纹瑱C(jī)如何來監(jiān)視鍵盤的輸入。 三種工作方式: ①編程掃描②定時(shí)掃描③中斷掃描,第2層:確定具體按鍵的鍵號(hào)。 體現(xiàn)在按鍵的識(shí)別方法上就是: ①掃描法;②線反轉(zhuǎn)法。,第3層:執(zhí)行鍵處理程序。,42,10.2節(jié)要點(diǎn):,鍵盤的抖動(dòng)與消抖。非編碼鍵盤的兩種形式,各自的

溫馨提示

  • 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ù)僅提供信息存儲(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)論