版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、重點(diǎn)內(nèi)容:輸入設(shè)備種類(lèi)及結(jié)構(gòu)鍵盤(pán)與單片機(jī)的接口 本章小結(jié),第11章 輸入設(shè)備,一、輸入設(shè)備種類(lèi)及結(jié)構(gòu),1、開(kāi)關(guān)和按鍵,在單片機(jī)系統(tǒng)中常用的開(kāi)關(guān)為DIP(雙列直插式)封裝。在一般使用中將DIP開(kāi)關(guān)的兩端分別接在電路中需要鏈接和斷開(kāi)的地方,當(dāng)DIP開(kāi)關(guān)推到“ON”端時(shí)兩端的線路接通,當(dāng)推到“OFF”端時(shí)兩端斷開(kāi)連接,DIP開(kāi)關(guān)原理的簡(jiǎn)單示意圖如圖11.1所示。 按鍵按照結(jié)構(gòu)原理可分為兩類(lèi),一類(lèi)是觸點(diǎn)式開(kāi)關(guān)按鍵,如機(jī)械
2、式開(kāi)關(guān)、導(dǎo)電橡膠式開(kāi)關(guān)等。另一類(lèi)是無(wú)觸點(diǎn)式開(kāi)關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。前者價(jià)格便宜,后者壽命長(zhǎng),安全性好但比較貴。,,,,一、輸入設(shè)備種類(lèi)及結(jié)構(gòu),2、按鍵去抖動(dòng),按鍵通常使用機(jī)械觸點(diǎn)式按鍵開(kāi)關(guān)。機(jī)械式按鍵再按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨有一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),然后其觸點(diǎn)才穩(wěn)定下來(lái)。其抖動(dòng)過(guò)程如圖11.2所示,抖動(dòng)時(shí)間的長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性有關(guān),一般為5?10ms。 在觸點(diǎn)抖動(dòng)期間檢測(cè)按鍵的通與斷
3、狀態(tài),可能導(dǎo)致判斷出錯(cuò)。即按鍵一次按下或釋放被錯(cuò)誤地認(rèn)為是多次操作,這種情況是不允許出現(xiàn)的。為了克服按鍵觸點(diǎn)機(jī)械抖動(dòng)所致的檢測(cè)誤判,必須采取去抖動(dòng)措施,可從硬件、軟件兩方面予以考慮。,,,,一、輸入設(shè)備種類(lèi)及結(jié)構(gòu),2、按鍵去抖動(dòng),1.硬件去抖在硬件上可采用在鍵輸出端加R-S觸發(fā)器(雙穩(wěn)態(tài)觸發(fā)器)或單穩(wěn)態(tài)觸發(fā)器構(gòu)成去抖動(dòng)電路(如圖11.2所示),一般在鍵數(shù)較少的情況下采用,在此不作介紹。,,,,一、輸入設(shè)備種類(lèi)及結(jié)構(gòu),2、按鍵去抖動(dòng),2
4、.軟件去抖軟件上采取的措施是:在檢測(cè)到有按鍵按下時(shí),執(zhí)行一個(gè)10ms左右(具體時(shí)間應(yīng)視所使用的按鍵進(jìn)行調(diào)整)的延時(shí)程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認(rèn)該鍵處于閉合狀態(tài);同理,在檢測(cè)到該鍵釋放后,也應(yīng)采用相同的步驟進(jìn)行確認(rèn),從而可消除抖動(dòng)的影響。軟件去抖動(dòng)流程圖如下圖11.4 所示:,,,,一、輸入設(shè)備種類(lèi)及結(jié)構(gòu),3、非編碼獨(dú)立式鍵盤(pán),開(kāi)關(guān)和按鍵只能實(shí)現(xiàn)電路中簡(jiǎn)單的電氣信號(hào)選擇,在需要向CPU輸
5、入數(shù)據(jù)是要用到鍵盤(pán)。鍵盤(pán)是一個(gè)由開(kāi)關(guān)組成的矩陣,是重要的輸入設(shè)備。在小型微機(jī)系統(tǒng)中,如單板微型計(jì)算機(jī)、帶有微處理器的專(zhuān)用設(shè)備中,鍵盤(pán)的規(guī)模小,可采用簡(jiǎn)單實(shí)用的接口方式,在軟件控制下完成鍵盤(pán)的輸入功能。獨(dú)立式按鍵是指直接用I/O口線構(gòu)成的單個(gè)按鍵電路。每根I/O線上按鍵的工作狀態(tài)不會(huì)影響其他I/O口線的工作狀態(tài)。獨(dú)立式鍵盤(pán)的示意圖如圖11.5所示。,,,,一、輸入設(shè)備種類(lèi)及結(jié)構(gòu),4、非編碼矩陣式鍵盤(pán),在鍵盤(pán)中按鍵數(shù)量較多時(shí),為了減少I(mǎi)/
6、O口的資源占用,通常將按鍵排列成矩陣形式,如圖11.6所示。.矩陣式鍵盤(pán)與單片機(jī)的接口將在本章的11.2.2進(jìn)行詳細(xì)介紹。,,,,一、輸入設(shè)備種類(lèi)及結(jié)構(gòu),4、非編碼矩陣式鍵盤(pán),編碼鍵盤(pán) 全編碼鍵盤(pán)能夠由硬件邏輯自動(dòng)提供與鍵對(duì)應(yīng)的編碼,此外,一般還具有去抖動(dòng)和多鍵、竄鍵等的保護(hù)電路。這種鍵盤(pán)使用方便,但需要較多的硬件,價(jià)格較貴,在一般的小型系統(tǒng)中使用的不是很多。但是隨著硬件設(shè)計(jì)的越來(lái)越復(fù)雜,加上硬件設(shè)計(jì)也傾向于使用集成度較高的模塊,所
7、以編碼式鍵盤(pán)在實(shí)際應(yīng)用中也越來(lái)越普及。從掌握單片機(jī)接口及其程序設(shè)計(jì)的角度看,對(duì)于非編碼獨(dú)立式、行列式鍵盤(pán)的接口及其鍵值的程序讀取還是比較重要的,其編程思想在其他接口模塊中也經(jīng)常用到,所以請(qǐng)讀者務(wù)必掌握。,,,,一、輸入設(shè)備種類(lèi)及結(jié)構(gòu),5、編碼鍵盤(pán),全編碼鍵盤(pán)能夠由硬件邏輯自動(dòng)提供與鍵對(duì)應(yīng)的編碼,此外,一般還具有去抖動(dòng)和多鍵、竄鍵等的保護(hù)電路。這種鍵盤(pán)使用方便,但需要較多的硬件,價(jià)格較貴,在一般的小型系統(tǒng)中使用的不是很多。但是隨著硬件
8、設(shè)計(jì)的越來(lái)越復(fù)雜,加上硬件設(shè)計(jì)也傾向于使用集成度較高的模塊,所以編碼式鍵盤(pán)在實(shí)際應(yīng)用中也越來(lái)越普及。從掌握單片機(jī)接口及其程序設(shè)計(jì)的角度看,對(duì)于非編碼獨(dú)立式、行列式鍵盤(pán)的接口及其鍵值的程序讀取還是比較重要的,其編程思想在其他接口模塊中也經(jīng)常用到,所以請(qǐng)讀者務(wù)必掌握。,,,,二、鍵盤(pán)與單片機(jī)的接口,1、編碼鍵盤(pán),獨(dú)立式鍵盤(pán)與單片機(jī)的接口 單片機(jī)控制系統(tǒng)中,往往只需要幾個(gè)功能鍵,此時(shí),可采用獨(dú)立式按鍵結(jié)構(gòu)。獨(dú)立式按鍵是直接用I/O口線構(gòu)成
9、的單個(gè)按鍵電路,其特點(diǎn)是每個(gè)按鍵單獨(dú)占用一根I/O口線,每個(gè)按鍵的工作不會(huì)影響其它I/O口線的狀態(tài)。獨(dú)立式按鍵的典型應(yīng)用如圖11.7所示。,,,二、鍵盤(pán)與單片機(jī)的接口,1、獨(dú)立式鍵盤(pán)與單片機(jī)的接口,獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根I/O口線,因此,在按鍵較多時(shí),I/O口線浪費(fèi)較大,不宜采用。圖11.7中按鍵輸入均采用低電平有效,此外,上拉電阻保證了按鍵斷開(kāi)時(shí),I/O口線有確定的高電平。當(dāng)I/O口線
10、內(nèi)部有上拉電阻時(shí),外電路可不接上拉電阻。獨(dú)立式按鍵的程序設(shè)計(jì)一般采用查詢法編程。所謂查詢法編程,就是先逐位查詢每根I/O口線的輸入狀態(tài),如果某一根I/O口線輸入為低電平,則可確認(rèn)該I/O口線所對(duì)應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序。因此,實(shí)現(xiàn)比較簡(jiǎn)單。,,,二、鍵盤(pán)與單片機(jī)的接口,1、獨(dú)立式鍵盤(pán)與單片機(jī)的接口,【例11-1】本例采用的原理圖如圖11.7所示,當(dāng)按下ki鍵時(shí),要求在keil中用printf函數(shù)輸出如下字樣:“您
11、已經(jīng)按下i號(hào)鍵”,例如,當(dāng)按下k0鍵時(shí),此時(shí)輸出字樣為:“您已經(jīng)按下0號(hào)鍵”。試編寫(xiě)程序?qū)崿F(xiàn)如上功能。分析:題目要求用printf函數(shù)進(jìn)行輸出,因此首先要進(jìn)行串口初始化。程序詳細(xì)請(qǐng)參考教材:,,,二、鍵盤(pán)與單片機(jī)的接口,2、矩陣式鍵盤(pán)與單片機(jī)的接口,在單片機(jī)系統(tǒng)中按鍵數(shù)量較多時(shí),為了減少I(mǎi)/O口的占用,常常將按鍵排列成矩陣形式。1.矩陣式鍵盤(pán)的原理與識(shí)別由圖11.6可知,一個(gè)4×4的行、列結(jié)構(gòu)可以構(gòu)成一個(gè)含有16個(gè)按鍵
12、的鍵盤(pán),顯然,在按鍵數(shù)量較多時(shí),矩陣式鍵盤(pán)較之獨(dú)立式按鍵鍵盤(pán)要節(jié)省很多I/O口。矩陣式鍵盤(pán)中,行、列線分別連接到按鍵開(kāi)關(guān)的兩端,行線通過(guò)上拉電阻接到+5V上。當(dāng)無(wú)鍵按下時(shí),行線處于高電平狀態(tài);當(dāng)有鍵按下時(shí),行、列線將導(dǎo)通,此時(shí),行線電平將由與此行線相連的列線電平?jīng)Q定。這是識(shí)別按鍵是否按下的關(guān)鍵。然而,矩陣鍵盤(pán)中的行線、列線和多個(gè)鍵相連,各按鍵按下與否均影響該鍵所在行線和列線的電平,各按鍵間將相互影響,因此,必須將行線、列線信號(hào)配合起來(lái)
13、作適當(dāng)處理,才能確定閉合鍵的位置。鍵盤(pán)識(shí)別按鍵的方法很多,其中,最常見(jiàn)的方法是掃描法。下面以圖11.6中8號(hào)鍵的識(shí)別為例來(lái)說(shuō)明掃描法識(shí)別按鍵的過(guò)程。,,,二、鍵盤(pán)與單片機(jī)的接口,2、矩陣式鍵盤(pán)與單片機(jī)的接口,按鍵按下時(shí),與此鍵相連的行線與列線導(dǎo)通,行線在無(wú)鍵按下時(shí)處在高電平,顯然,如果讓所有的列線也處在高電平,那么,按鍵按下與否不會(huì)引起行線電平的變化,因此,必須使所有列線處在低電平,只有這樣,當(dāng)有鍵按下時(shí),該鍵所在的行電平才會(huì)由高電平
14、變?yōu)榈碗娖健PU根據(jù)行電平的變化,便能判定相應(yīng)的行有鍵按下。8號(hào)鍵按下時(shí),第2行一定為低電平,然而,第2行為低電平時(shí),不一定是8號(hào)鍵按下,因?yàn)?、10、11號(hào)鍵按下同樣使第2行為低電平。為進(jìn)一步確定具體鍵,不能使所有列線在同一時(shí)刻都處在低電平,可在某一時(shí)刻只讓一條列線處于低電平,其余列線均處于高電平,另一時(shí)刻,讓下一列處在低電平,依此循環(huán),這種依次輪流每次選通一列的工作方式稱(chēng)為鍵盤(pán)掃描。采用鍵盤(pán)掃描后,再來(lái)觀察8號(hào)鍵按下時(shí)的工作過(guò)程,
15、當(dāng)?shù)?列處于低電平時(shí),第2行處于低電平,而第1、2、3列處于低電平時(shí),第2行卻處在高電平,由此可判定按下的鍵應(yīng)是第2行與第0列的交叉點(diǎn),即8號(hào)鍵。,,,二、鍵盤(pán)與單片機(jī)的接口,2、矩陣式鍵盤(pán)與單片機(jī)的接口,2.鍵盤(pán)的編碼對(duì)于獨(dú)立式按鍵鍵盤(pán),因按鍵數(shù)量少,可根據(jù)實(shí)際需要靈活編碼。對(duì)于矩陣式鍵盤(pán),按鍵的位置由行號(hào)和列號(hào)唯一確定,因此可分別對(duì)行號(hào)和列號(hào)進(jìn)行二進(jìn)制編碼,然后將兩值合成一個(gè)字節(jié),高4位是行號(hào),低4位是列號(hào)。如圖11.4中的8號(hào)
16、鍵,它位于第2行,第0列,因此,其鍵盤(pán)編碼應(yīng)為20H。采用上述編碼對(duì)于不同行的鍵離散性較大,不利于散轉(zhuǎn)指令對(duì)按鍵進(jìn)行處理。因此,可采用依次排列鍵號(hào)的方式對(duì)安排進(jìn)行編碼。以圖11.4中的4×4鍵盤(pán)為例,可將鍵號(hào)編碼為:01H、02H、03H…0EH、0FH、10H等16個(gè)鍵號(hào)。編碼相互轉(zhuǎn)換可通過(guò)計(jì)算或查表的方法實(shí)現(xiàn)。,,,二、鍵盤(pán)與單片機(jī)的接口,2、矩陣式鍵盤(pán)與單片機(jī)的接口,3.鍵盤(pán)的工作方式在單片機(jī)應(yīng)用系統(tǒng)中,鍵盤(pán)掃描只是
17、CPU的工作內(nèi)容之一。CPU對(duì)鍵盤(pán)的響應(yīng)取決于鍵盤(pán)的工作方式,鍵盤(pán)的工作方式應(yīng)根據(jù)實(shí)際應(yīng)用系統(tǒng)中CPU的工作狀況而定,其選取的原則是既要保證CPU能及時(shí)響應(yīng)按鍵操作,又不要過(guò)多占用CPU的工作時(shí)間。通常,鍵盤(pán)的工作方式有三種,即編程掃描、定時(shí)掃描和中斷掃描。(1)編程掃描方式編程掃描方式是利用CPU完成其它工作的空余調(diào)用鍵盤(pán)掃描子程序來(lái)響應(yīng)鍵盤(pán)輸入的要求。在執(zhí)行鍵功能程序時(shí),CPU不再響應(yīng)鍵輸入要求,直到CPU重新掃描鍵盤(pán)為止。鍵
18、盤(pán)掃描程序一般應(yīng)包括以下內(nèi)容:●判別有無(wú)鍵按下?!矜I盤(pán)掃描取得閉合鍵的行、列值?!裼糜?jì)算法或查表法得到鍵值?!衽袛嚅]合鍵是否釋放,如沒(méi)釋放則繼續(xù)等待?!駥㈤]合鍵鍵號(hào)保存,同時(shí)轉(zhuǎn)去執(zhí)行該閉合鍵的功能。,,,二、鍵盤(pán)與單片機(jī)的接口,2、矩陣式鍵盤(pán)與單片機(jī)的接口,(2)定時(shí)掃描方式:定時(shí)掃描方式就是每隔一段時(shí)間對(duì)鍵盤(pán)掃描一次,它利用單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生一定時(shí)間(例如10ms)的定時(shí),當(dāng)定時(shí)時(shí)間到就產(chǎn)生定時(shí)器溢出中斷,C
19、PU響應(yīng)中斷后對(duì)鍵盤(pán)進(jìn)行掃描,并在有鍵按下時(shí)識(shí)別出該鍵,再執(zhí)行該鍵的功能程序。 (3)中斷掃描方式中斷掃描方式是通過(guò)產(chǎn)生中斷而去鍵盤(pán)執(zhí)行掃描程序。對(duì)于上述兩種鍵盤(pán)掃描方式,無(wú)論是否按鍵,CPU都要定時(shí)掃描鍵盤(pán),而單片機(jī)應(yīng)用系統(tǒng)工作時(shí),并非經(jīng)常需要鍵盤(pán)輸入,因此,CPU經(jīng)常處于空掃描狀態(tài),浪費(fèi)了CPU資源。但是,如果采用中斷掃描工作方式,當(dāng)鍵按下后,產(chǎn)生一個(gè)中斷,再去執(zhí)行鍵盤(pán)掃描程序,這樣將大大節(jié)約CPU資源。,,,二、鍵盤(pán)與單片機(jī)的
20、接口,2、矩陣式鍵盤(pán)與單片機(jī)的接口,圖11.5是中斷掃描方式的硬件電路圖。其工作過(guò)程如下:當(dāng)無(wú)鍵按下時(shí),CPU處理自己的工作,當(dāng)有鍵按下時(shí),產(chǎn)生中斷請(qǐng)求,CPU轉(zhuǎn)去執(zhí)行鍵盤(pán)掃描子程序,并識(shí)別鍵號(hào)。當(dāng)鍵盤(pán)無(wú)鍵按下時(shí),與門(mén)各輸入端均為高電平,保持輸出端為高電平;當(dāng)有鍵按下時(shí), 端為低電平,向CPU申請(qǐng)中斷,若CPU開(kāi)放外部中斷,則會(huì)響應(yīng)中斷請(qǐng)求,轉(zhuǎn)去執(zhí)行鍵盤(pán)掃描子程序。,,,二、鍵盤(pán)與單片機(jī)的接口,2、矩陣式鍵盤(pán)與單片機(jī)的接口,圖11.5是
21、中斷掃描方式的硬件電路圖。其工作過(guò)程如下:當(dāng)無(wú)鍵按下時(shí),CPU處理自己的工作,當(dāng)有鍵按下時(shí),產(chǎn)生中斷請(qǐng)求,CPU轉(zhuǎn)去執(zhí)行鍵盤(pán)掃描子程序,并識(shí)別鍵號(hào)。當(dāng)鍵盤(pán)無(wú)鍵按下時(shí),與門(mén)各輸入端均為高電平,保持輸出端為高電平;當(dāng)有鍵按下時(shí), 端為低電平,向CPU申請(qǐng)中斷,若CPU開(kāi)放外部中斷,則會(huì)響應(yīng)中斷請(qǐng)求,轉(zhuǎn)去執(zhí)行鍵盤(pán)掃描子程序?!纠?1-2】 采用中斷掃描的方式,按圖11.9的電路編寫(xiě)鍵盤(pán)接口程序。程序參考教材,,,三、本章小結(jié),本章小
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)原理與c51程序設(shè)計(jì)--chap03
- 單片機(jī)原理與c51程序設(shè)計(jì)--chap07
- 單片機(jī)原理與c51語(yǔ)言程序設(shè)計(jì)與基礎(chǔ)教程課后習(xí)題答案
- 單片機(jī)原理與應(yīng)用及c51程序設(shè)計(jì)(第二版)課后答案
- c51單片機(jī)課程設(shè)計(jì)
- 單片機(jī)原理及應(yīng)用及c51程序設(shè)計(jì)第三章習(xí)題答案
- c51單片機(jī)課程設(shè)計(jì)
- c51單片機(jī)畢業(yè)設(shè)計(jì)
- c51單片機(jī)畢業(yè)設(shè)計(jì)
- 51單片機(jī)c語(yǔ)言程序設(shè)計(jì)源代碼
- C51單片機(jī)畢業(yè)設(shè)計(jì).doc
- C51單片機(jī)畢業(yè)設(shè)計(jì).doc
- 單片機(jī)c51的特點(diǎn)與使用
- 51單片機(jī)脈沖產(chǎn)生程序設(shè)計(jì)
- c51單片機(jī)實(shí)戰(zhàn)100例
- 基于c51單片機(jī)設(shè)計(jì)
- c51單片機(jī)課程設(shè)計(jì)定時(shí)鬧鐘
- 基于c51單片機(jī) 溫度計(jì)設(shè)計(jì)
- c51倒計(jì)時(shí)程序設(shè)計(jì)
- c51單片機(jī)03數(shù)碼管
評(píng)論
0/150
提交評(píng)論