單片機原理與c51程序設(shè)計--chap11_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、重點內(nèi)容:輸入設(shè)備種類及結(jié)構(gòu)鍵盤與單片機的接口   本章小結(jié),第11章 輸入設(shè)備,一、輸入設(shè)備種類及結(jié)構(gòu),1、開關(guān)和按鍵,在單片機系統(tǒng)中常用的開關(guān)為DIP(雙列直插式)封裝。在一般使用中將DIP開關(guān)的兩端分別接在電路中需要鏈接和斷開的地方,當(dāng)DIP開關(guān)推到“ON”端時兩端的線路接通,當(dāng)推到“OFF”端時兩端斷開連接,DIP開關(guān)原理的簡單示意圖如圖11.1所示。 按鍵按照結(jié)構(gòu)原理可分為兩類,一類是觸點式開關(guān)按鍵,如機械

2、式開關(guān)、導(dǎo)電橡膠式開關(guān)等。另一類是無觸點式開關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。前者價格便宜,后者壽命長,安全性好但比較貴。,,,,一、輸入設(shè)備種類及結(jié)構(gòu),2、按鍵去抖動,按鍵通常使用機械觸點式按鍵開關(guān)。機械式按鍵再按下或釋放時,由于機械彈性作用的影響,通常伴隨有一定時間的觸點機械抖動,然后其觸點才穩(wěn)定下來。其抖動過程如圖11.2所示,抖動時間的長短與開關(guān)的機械特性有關(guān),一般為5?10ms。 在觸點抖動期間檢測按鍵的通與斷

3、狀態(tài),可能導(dǎo)致判斷出錯。即按鍵一次按下或釋放被錯誤地認(rèn)為是多次操作,這種情況是不允許出現(xiàn)的。為了克服按鍵觸點機械抖動所致的檢測誤判,必須采取去抖動措施,可從硬件、軟件兩方面予以考慮。,,,,一、輸入設(shè)備種類及結(jié)構(gòu),2、按鍵去抖動,1.硬件去抖在硬件上可采用在鍵輸出端加R-S觸發(fā)器(雙穩(wěn)態(tài)觸發(fā)器)或單穩(wěn)態(tài)觸發(fā)器構(gòu)成去抖動電路(如圖11.2所示),一般在鍵數(shù)較少的情況下采用,在此不作介紹。,,,,一、輸入設(shè)備種類及結(jié)構(gòu),2、按鍵去抖動,2

4、.軟件去抖軟件上采取的措施是:在檢測到有按鍵按下時,執(zhí)行一個10ms左右(具體時間應(yīng)視所使用的按鍵進(jìn)行調(diào)整)的延時程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認(rèn)該鍵處于閉合狀態(tài);同理,在檢測到該鍵釋放后,也應(yīng)采用相同的步驟進(jìn)行確認(rèn),從而可消除抖動的影響。軟件去抖動流程圖如下圖11.4 所示:,,,,一、輸入設(shè)備種類及結(jié)構(gòu),3、非編碼獨立式鍵盤,開關(guān)和按鍵只能實現(xiàn)電路中簡單的電氣信號選擇,在需要向CPU輸

5、入數(shù)據(jù)是要用到鍵盤。鍵盤是一個由開關(guān)組成的矩陣,是重要的輸入設(shè)備。在小型微機系統(tǒng)中,如單板微型計算機、帶有微處理器的專用設(shè)備中,鍵盤的規(guī)模小,可采用簡單實用的接口方式,在軟件控制下完成鍵盤的輸入功能。獨立式按鍵是指直接用I/O口線構(gòu)成的單個按鍵電路。每根I/O線上按鍵的工作狀態(tài)不會影響其他I/O口線的工作狀態(tài)。獨立式鍵盤的示意圖如圖11.5所示。,,,,一、輸入設(shè)備種類及結(jié)構(gòu),4、非編碼矩陣式鍵盤,在鍵盤中按鍵數(shù)量較多時,為了減少I/

6、O口的資源占用,通常將按鍵排列成矩陣形式,如圖11.6所示。.矩陣式鍵盤與單片機的接口將在本章的11.2.2進(jìn)行詳細(xì)介紹。,,,,一、輸入設(shè)備種類及結(jié)構(gòu),4、非編碼矩陣式鍵盤,編碼鍵盤 全編碼鍵盤能夠由硬件邏輯自動提供與鍵對應(yīng)的編碼,此外,一般還具有去抖動和多鍵、竄鍵等的保護(hù)電路。這種鍵盤使用方便,但需要較多的硬件,價格較貴,在一般的小型系統(tǒng)中使用的不是很多。但是隨著硬件設(shè)計的越來越復(fù)雜,加上硬件設(shè)計也傾向于使用集成度較高的模塊,所

7、以編碼式鍵盤在實際應(yīng)用中也越來越普及。從掌握單片機接口及其程序設(shè)計的角度看,對于非編碼獨立式、行列式鍵盤的接口及其鍵值的程序讀取還是比較重要的,其編程思想在其他接口模塊中也經(jīng)常用到,所以請讀者務(wù)必掌握。,,,,一、輸入設(shè)備種類及結(jié)構(gòu),5、編碼鍵盤,全編碼鍵盤能夠由硬件邏輯自動提供與鍵對應(yīng)的編碼,此外,一般還具有去抖動和多鍵、竄鍵等的保護(hù)電路。這種鍵盤使用方便,但需要較多的硬件,價格較貴,在一般的小型系統(tǒng)中使用的不是很多。但是隨著硬件

8、設(shè)計的越來越復(fù)雜,加上硬件設(shè)計也傾向于使用集成度較高的模塊,所以編碼式鍵盤在實際應(yīng)用中也越來越普及。從掌握單片機接口及其程序設(shè)計的角度看,對于非編碼獨立式、行列式鍵盤的接口及其鍵值的程序讀取還是比較重要的,其編程思想在其他接口模塊中也經(jīng)常用到,所以請讀者務(wù)必掌握。,,,,二、鍵盤與單片機的接口,1、編碼鍵盤,獨立式鍵盤與單片機的接口 單片機控制系統(tǒng)中,往往只需要幾個功能鍵,此時,可采用獨立式按鍵結(jié)構(gòu)。獨立式按鍵是直接用I/O口線構(gòu)成

9、的單個按鍵電路,其特點是每個按鍵單獨占用一根I/O口線,每個按鍵的工作不會影響其它I/O口線的狀態(tài)。獨立式按鍵的典型應(yīng)用如圖11.7所示。,,,二、鍵盤與單片機的接口,1、獨立式鍵盤與單片機的接口,獨立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一根I/O口線,因此,在按鍵較多時,I/O口線浪費較大,不宜采用。圖11.7中按鍵輸入均采用低電平有效,此外,上拉電阻保證了按鍵斷開時,I/O口線有確定的高電平。當(dāng)I/O口線

10、內(nèi)部有上拉電阻時,外電路可不接上拉電阻。獨立式按鍵的程序設(shè)計一般采用查詢法編程。所謂查詢法編程,就是先逐位查詢每根I/O口線的輸入狀態(tài),如果某一根I/O口線輸入為低電平,則可確認(rèn)該I/O口線所對應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序。因此,實現(xiàn)比較簡單。,,,二、鍵盤與單片機的接口,1、獨立式鍵盤與單片機的接口,【例11-1】本例采用的原理圖如圖11.7所示,當(dāng)按下ki鍵時,要求在keil中用printf函數(shù)輸出如下字樣:“您

11、已經(jīng)按下i號鍵”,例如,當(dāng)按下k0鍵時,此時輸出字樣為:“您已經(jīng)按下0號鍵”。試編寫程序?qū)崿F(xiàn)如上功能。分析:題目要求用printf函數(shù)進(jìn)行輸出,因此首先要進(jìn)行串口初始化。程序詳細(xì)請參考教材:,,,二、鍵盤與單片機的接口,2、矩陣式鍵盤與單片機的接口,在單片機系統(tǒng)中按鍵數(shù)量較多時,為了減少I/O口的占用,常常將按鍵排列成矩陣形式。1.矩陣式鍵盤的原理與識別由圖11.6可知,一個4×4的行、列結(jié)構(gòu)可以構(gòu)成一個含有16個按鍵

12、的鍵盤,顯然,在按鍵數(shù)量較多時,矩陣式鍵盤較之獨立式按鍵鍵盤要節(jié)省很多I/O口。矩陣式鍵盤中,行、列線分別連接到按鍵開關(guān)的兩端,行線通過上拉電阻接到+5V上。當(dāng)無鍵按下時,行線處于高電平狀態(tài);當(dāng)有鍵按下時,行、列線將導(dǎo)通,此時,行線電平將由與此行線相連的列線電平?jīng)Q定。這是識別按鍵是否按下的關(guān)鍵。然而,矩陣鍵盤中的行線、列線和多個鍵相連,各按鍵按下與否均影響該鍵所在行線和列線的電平,各按鍵間將相互影響,因此,必須將行線、列線信號配合起來

13、作適當(dāng)處理,才能確定閉合鍵的位置。鍵盤識別按鍵的方法很多,其中,最常見的方法是掃描法。下面以圖11.6中8號鍵的識別為例來說明掃描法識別按鍵的過程。,,,二、鍵盤與單片機的接口,2、矩陣式鍵盤與單片機的接口,按鍵按下時,與此鍵相連的行線與列線導(dǎo)通,行線在無鍵按下時處在高電平,顯然,如果讓所有的列線也處在高電平,那么,按鍵按下與否不會引起行線電平的變化,因此,必須使所有列線處在低電平,只有這樣,當(dāng)有鍵按下時,該鍵所在的行電平才會由高電平

14、變?yōu)榈碗娖健PU根據(jù)行電平的變化,便能判定相應(yīng)的行有鍵按下。8號鍵按下時,第2行一定為低電平,然而,第2行為低電平時,不一定是8號鍵按下,因為9、10、11號鍵按下同樣使第2行為低電平。為進(jìn)一步確定具體鍵,不能使所有列線在同一時刻都處在低電平,可在某一時刻只讓一條列線處于低電平,其余列線均處于高電平,另一時刻,讓下一列處在低電平,依此循環(huán),這種依次輪流每次選通一列的工作方式稱為鍵盤掃描。采用鍵盤掃描后,再來觀察8號鍵按下時的工作過程,

15、當(dāng)?shù)?列處于低電平時,第2行處于低電平,而第1、2、3列處于低電平時,第2行卻處在高電平,由此可判定按下的鍵應(yīng)是第2行與第0列的交叉點,即8號鍵。,,,二、鍵盤與單片機的接口,2、矩陣式鍵盤與單片機的接口,2.鍵盤的編碼對于獨立式按鍵鍵盤,因按鍵數(shù)量少,可根據(jù)實際需要靈活編碼。對于矩陣式鍵盤,按鍵的位置由行號和列號唯一確定,因此可分別對行號和列號進(jìn)行二進(jìn)制編碼,然后將兩值合成一個字節(jié),高4位是行號,低4位是列號。如圖11.4中的8號

16、鍵,它位于第2行,第0列,因此,其鍵盤編碼應(yīng)為20H。采用上述編碼對于不同行的鍵離散性較大,不利于散轉(zhuǎn)指令對按鍵進(jìn)行處理。因此,可采用依次排列鍵號的方式對安排進(jìn)行編碼。以圖11.4中的4×4鍵盤為例,可將鍵號編碼為:01H、02H、03H…0EH、0FH、10H等16個鍵號。編碼相互轉(zhuǎn)換可通過計算或查表的方法實現(xiàn)。,,,二、鍵盤與單片機的接口,2、矩陣式鍵盤與單片機的接口,3.鍵盤的工作方式在單片機應(yīng)用系統(tǒng)中,鍵盤掃描只是

17、CPU的工作內(nèi)容之一。CPU對鍵盤的響應(yīng)取決于鍵盤的工作方式,鍵盤的工作方式應(yīng)根據(jù)實際應(yīng)用系統(tǒng)中CPU的工作狀況而定,其選取的原則是既要保證CPU能及時響應(yīng)按鍵操作,又不要過多占用CPU的工作時間。通常,鍵盤的工作方式有三種,即編程掃描、定時掃描和中斷掃描。(1)編程掃描方式編程掃描方式是利用CPU完成其它工作的空余調(diào)用鍵盤掃描子程序來響應(yīng)鍵盤輸入的要求。在執(zhí)行鍵功能程序時,CPU不再響應(yīng)鍵輸入要求,直到CPU重新掃描鍵盤為止。鍵

18、盤掃描程序一般應(yīng)包括以下內(nèi)容:●判別有無鍵按下?!矜I盤掃描取得閉合鍵的行、列值?!裼糜嬎惴ɑ虿楸矸ǖ玫芥I值?!衽袛嚅]合鍵是否釋放,如沒釋放則繼續(xù)等待?!駥㈤]合鍵鍵號保存,同時轉(zhuǎn)去執(zhí)行該閉合鍵的功能。,,,二、鍵盤與單片機的接口,2、矩陣式鍵盤與單片機的接口,(2)定時掃描方式:定時掃描方式就是每隔一段時間對鍵盤掃描一次,它利用單片機內(nèi)部的定時器產(chǎn)生一定時間(例如10ms)的定時,當(dāng)定時時間到就產(chǎn)生定時器溢出中斷,C

19、PU響應(yīng)中斷后對鍵盤進(jìn)行掃描,并在有鍵按下時識別出該鍵,再執(zhí)行該鍵的功能程序。 (3)中斷掃描方式中斷掃描方式是通過產(chǎn)生中斷而去鍵盤執(zhí)行掃描程序。對于上述兩種鍵盤掃描方式,無論是否按鍵,CPU都要定時掃描鍵盤,而單片機應(yīng)用系統(tǒng)工作時,并非經(jīng)常需要鍵盤輸入,因此,CPU經(jīng)常處于空掃描狀態(tài),浪費了CPU資源。但是,如果采用中斷掃描工作方式,當(dāng)鍵按下后,產(chǎn)生一個中斷,再去執(zhí)行鍵盤掃描程序,這樣將大大節(jié)約CPU資源。,,,二、鍵盤與單片機的

20、接口,2、矩陣式鍵盤與單片機的接口,圖11.5是中斷掃描方式的硬件電路圖。其工作過程如下:當(dāng)無鍵按下時,CPU處理自己的工作,當(dāng)有鍵按下時,產(chǎn)生中斷請求,CPU轉(zhuǎn)去執(zhí)行鍵盤掃描子程序,并識別鍵號。當(dāng)鍵盤無鍵按下時,與門各輸入端均為高電平,保持輸出端為高電平;當(dāng)有鍵按下時, 端為低電平,向CPU申請中斷,若CPU開放外部中斷,則會響應(yīng)中斷請求,轉(zhuǎn)去執(zhí)行鍵盤掃描子程序。,,,二、鍵盤與單片機的接口,2、矩陣式鍵盤與單片機的接口,圖11.5是

21、中斷掃描方式的硬件電路圖。其工作過程如下:當(dāng)無鍵按下時,CPU處理自己的工作,當(dāng)有鍵按下時,產(chǎn)生中斷請求,CPU轉(zhuǎn)去執(zhí)行鍵盤掃描子程序,并識別鍵號。當(dāng)鍵盤無鍵按下時,與門各輸入端均為高電平,保持輸出端為高電平;當(dāng)有鍵按下時, 端為低電平,向CPU申請中斷,若CPU開放外部中斷,則會響應(yīng)中斷請求,轉(zhuǎn)去執(zhí)行鍵盤掃描子程序?!纠?1-2】 采用中斷掃描的方式,按圖11.9的電路編寫鍵盤接口程序。程序參考教材,,,三、本章小結(jié),本章小

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論