版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單片機(jī)應(yīng)用技術(shù)湖北職業(yè)技術(shù)學(xué)院機(jī)電工程系第2講鍵盤與單片機(jī)的接口項(xiàng)目二電子打鈴裝置《單片機(jī)應(yīng)用技術(shù)》精品課程組單片機(jī)應(yīng)用技術(shù)湖北職業(yè)技術(shù)學(xué)院機(jī)電工程系第2講鍵盤與單片1單片機(jī)應(yīng)用技術(shù)本講主要內(nèi)容
1鍵盤工作原理2獨(dú)立式按鍵3矩陣式按鍵4鍵盤程序設(shè)計(jì)示例單片機(jī)應(yīng)用技術(shù)本講主要內(nèi)容
2單片機(jī)應(yīng)用技術(shù)按鍵按照結(jié)構(gòu)原理可分為兩類,一類是觸點(diǎn)式開關(guān)按鍵,如機(jī)械式開關(guān)、導(dǎo)電橡膠式開關(guān)等;另一類是無觸點(diǎn)式開關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。前者造價(jià)低,后者壽命長。目前,微機(jī)系統(tǒng)中最常見的是觸點(diǎn)式開關(guān)按鍵。
3.2.1鍵盤工作原理1.按鍵的分類單片機(jī)應(yīng)用技術(shù)按鍵按照結(jié)構(gòu)原理可分為兩類,一類是觸點(diǎn)式開關(guān)按3單片機(jī)應(yīng)用技術(shù)
按鍵按照接口原理可分為編碼鍵盤與非編碼鍵盤兩類,這兩類鍵盤的主要區(qū)別是識(shí)別鍵符及給出相應(yīng)鍵碼的方法。編碼鍵盤主要是用硬件來實(shí)現(xiàn)對(duì)鍵的識(shí)別,非編碼鍵盤主要是由軟件來實(shí)現(xiàn)鍵盤的定義與識(shí)別。全編碼鍵盤能夠由硬件邏輯自動(dòng)提供與鍵對(duì)應(yīng)的編碼,此外,一般還具有去抖動(dòng)和多鍵、竄鍵保護(hù)電路。這種鍵盤使用方便,但需要較多的硬件,價(jià)格較貴,一般的單片機(jī)應(yīng)用系統(tǒng)較少采用。非編碼鍵盤只簡(jiǎn)單地提供行和列的矩陣,其它工作均由軟件完成。由于其經(jīng)濟(jì)實(shí)用,較多地應(yīng)用于單片機(jī)系統(tǒng)中。下面將重點(diǎn)介紹非編碼鍵盤接口。
單片機(jī)應(yīng)用技術(shù)按鍵按照接口原理可分為編碼鍵4單片機(jī)應(yīng)用技術(shù)在單片機(jī)應(yīng)用系統(tǒng)中,除了復(fù)位按鍵有專門的復(fù)位電路及專一的復(fù)位功能外,其它按鍵都是以開關(guān)狀態(tài)來設(shè)置控制功能或輸入數(shù)據(jù)的。當(dāng)所設(shè)置的功能鍵或數(shù)字鍵按下時(shí),計(jì)算機(jī)應(yīng)用系統(tǒng)應(yīng)完成該按鍵所設(shè)定的功能,鍵信息輸入是與軟件結(jié)構(gòu)密切相關(guān)的過程。對(duì)于一組鍵或一個(gè)鍵盤,總有一個(gè)接口電路與CPU相連。CPU可以采用查詢或中斷方式了解有無將鍵輸入,并檢查是哪一個(gè)鍵按下,將該鍵號(hào)送入累加器ACC,然后通過跳轉(zhuǎn)指令轉(zhuǎn)入執(zhí)行該鍵的功能程序,執(zhí)行完后再返回主程序。2.鍵輸入原理單片機(jī)應(yīng)用技術(shù)在單片機(jī)應(yīng)用系統(tǒng)中,除了復(fù)位按鍵有專門的復(fù)位電5單片機(jī)應(yīng)用技術(shù)微機(jī)鍵盤通常使用機(jī)械觸點(diǎn)式按鍵開關(guān),其主要功能是把機(jī)械上的通斷轉(zhuǎn)換成為電氣上的邏輯關(guān)系。也就是說,它能提供標(biāo)準(zhǔn)的TTL邏輯電平,以便與通用數(shù)字系統(tǒng)的邏輯電平相容。機(jī)械式按鍵再按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨有一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),然后其觸點(diǎn)才穩(wěn)定下來。其抖動(dòng)過程如圖7.2所示,抖動(dòng)時(shí)間的長短與開關(guān)的機(jī)械特性有關(guān),一般為5
10ms。3.按鍵結(jié)構(gòu)與特點(diǎn)單片機(jī)應(yīng)用技術(shù)微機(jī)鍵盤通常使用機(jī)械觸點(diǎn)式按鍵6單片機(jī)應(yīng)用技術(shù)按鍵觸點(diǎn)的機(jī)械抖動(dòng)
單片機(jī)應(yīng)用技術(shù)按鍵觸點(diǎn)的機(jī)械抖動(dòng)7單片機(jī)應(yīng)用技術(shù)在觸點(diǎn)抖動(dòng)期間檢測(cè)按鍵的通與斷狀態(tài),可能導(dǎo)致判斷出錯(cuò),即按鍵一次按下或釋放被錯(cuò)誤地認(rèn)為是多次操作,這種情況是不允許出現(xiàn)的。為了克服按鍵觸點(diǎn)機(jī)械抖動(dòng)所致的檢測(cè)誤判,必須采取去抖動(dòng)措施。這一點(diǎn)可從硬件、軟件兩方面予以考慮。在鍵數(shù)較少時(shí),可采用硬件去抖,而當(dāng)鍵數(shù)較多時(shí),采用軟件去抖。在硬件上可采用在鍵輸出端加R-S觸發(fā)器(雙穩(wěn)態(tài)觸發(fā)器)或單穩(wěn)態(tài)觸發(fā)器構(gòu)成去抖動(dòng)電路。圖7.3是一種由R-S觸發(fā)器構(gòu)成的去抖動(dòng)電路,當(dāng)觸發(fā)器一旦翻轉(zhuǎn),觸點(diǎn)抖動(dòng)不會(huì)對(duì)其產(chǎn)生任何影響。單片機(jī)應(yīng)用技術(shù)在觸點(diǎn)抖動(dòng)期間檢測(cè)按鍵的通與斷8單片機(jī)應(yīng)用技術(shù)軟件上采取的措施是:在檢測(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)的影響。
4.按鍵編碼一組按鍵或鍵盤都要通過I/O口線查詢按鍵的開關(guān)狀態(tài)。根據(jù)鍵盤結(jié)構(gòu)的不同,采用不同的編碼。無論有無編碼,以及采用什么編碼,最后都要轉(zhuǎn)換成為與累加器中數(shù)值相對(duì)應(yīng)的鍵值,以實(shí)現(xiàn)按鍵功能程序的跳轉(zhuǎn)。單片機(jī)應(yīng)用技術(shù)軟件上采取的措施是:在檢測(cè)到有9單片機(jī)應(yīng)用技術(shù)
5.編制鍵盤程序一個(gè)完善的鍵盤控制程序應(yīng)具備以下功能:(1)檢測(cè)有無按鍵按下,并采取硬件或軟件措施,消除鍵盤按鍵機(jī)械觸點(diǎn)抖動(dòng)的影響。(2)有可靠的邏輯處理辦法。每次只處理一個(gè)按鍵,其間對(duì)任何按鍵的操作對(duì)系統(tǒng)不產(chǎn)生影響,且無論一次按鍵時(shí)間有多長,系統(tǒng)僅執(zhí)行一次按鍵功能程序。(3)準(zhǔn)確輸出按鍵值(或鍵號(hào)),以滿足跳轉(zhuǎn)指令要求。單片機(jī)應(yīng)用技術(shù)5.編制鍵盤程序10單片機(jī)應(yīng)用技術(shù)
3.2.2獨(dú)立式按鍵
單片機(jī)控制系統(tǒng)中,往往只需要幾個(gè)功能鍵,此時(shí),可采用獨(dú)立式按鍵結(jié)構(gòu)。1.獨(dú)立式按鍵結(jié)構(gòu)獨(dú)立式按鍵是直接用I/O口線構(gòu)成的單個(gè)按鍵電路,其特點(diǎn)是每個(gè)按鍵單獨(dú)占用一根I/O口線,每個(gè)按鍵的工作不會(huì)影響其它I/O口線的狀態(tài)。獨(dú)立式按鍵的典型應(yīng)用如圖所示。獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根I/O口線,因此,在按鍵較多時(shí),I/O口線浪費(fèi)較大,不宜采用。單片機(jī)應(yīng)用技術(shù)3.2.2獨(dú)立式按鍵11單片機(jī)應(yīng)用技術(shù)
獨(dú)立式按鍵電路
單片機(jī)應(yīng)用技術(shù)獨(dú)立式按鍵電路
12單片機(jī)應(yīng)用技術(shù)2.獨(dú)立式按鍵的軟件結(jié)構(gòu)獨(dú)立式按鍵的軟件常采用查詢式結(jié)構(gòu)。先逐位查詢每根I/O口線的輸入狀態(tài),如某一根I/O口線輸入為低電平,則可確認(rèn)該I/O口線所對(duì)應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序。圖中的I/O口采用P1口,請(qǐng)讀者自行編制相應(yīng)的軟件。
單片機(jī)應(yīng)用技術(shù)2.獨(dú)立式按鍵的軟件結(jié)構(gòu)13單片機(jī)應(yīng)用技術(shù)3.2.3矩陣式按鍵
單片機(jī)系統(tǒng)中,若使用按鍵較多時(shí),通常采用矩陣式(也稱行列式)鍵盤。
1.矩陣式鍵盤的結(jié)構(gòu)及原理矩陣式鍵盤由行線和列線組成,按鍵位于行、列線的交叉點(diǎn)上,其結(jié)構(gòu)如圖所示。由圖可知,一個(gè)4×4的行、列結(jié)構(gòu)可以構(gòu)成一個(gè)含有16個(gè)按鍵的鍵盤,顯然,在按鍵數(shù)量較多時(shí),矩陣式鍵盤較之獨(dú)立式按鍵鍵盤要節(jié)省很多I/O口。單片機(jī)應(yīng)用技術(shù)3.2.3矩陣式按鍵14單片機(jī)應(yīng)用技術(shù)矩陣式鍵盤結(jié)構(gòu)
單片機(jī)應(yīng)用技術(shù)矩陣式鍵盤結(jié)構(gòu)
15單片機(jī)應(yīng)用技術(shù)矩陣式鍵盤中,行、列線分別連接到按鍵開關(guān)的兩端,行線通過上拉電阻接到+5V上。當(dāng)無鍵按下時(shí),行線處于高電平狀態(tài);當(dāng)有鍵按下時(shí),行、列線將導(dǎo)通,此時(shí),行線電平將由與此行線相連的列線電平?jīng)Q定。這是識(shí)別按鍵是否按下的關(guān)鍵。然而,矩陣鍵盤中的行線、列線和多個(gè)鍵相連,各按鍵按下與否均影響該鍵所在行線和列線的電平,各按鍵間將相互影響,因此,必須將行線、列線信號(hào)配合起來作適當(dāng)處理,才能確定閉合鍵的位置。單片機(jī)應(yīng)用技術(shù)矩陣式鍵盤中,行、列線分別連接16單片機(jī)應(yīng)用技術(shù)
2.矩陣式鍵盤按鍵的識(shí)別識(shí)別按鍵的方法很多,其中,最常見的方法是掃描法。下面以圖7.5中8號(hào)鍵的識(shí)別為例來說明掃描法識(shí)別按鍵的過程。按鍵按下時(shí),與此鍵相連的行線與列線導(dǎo)通,行線在無鍵按下時(shí)處在高電平。顯然,如果讓所有的列線也處在高電平,那么,按鍵按下與否不會(huì)引起行線電平的變化,因此,必須使所有列線處在低電平。只有這樣,當(dāng)有鍵按下時(shí),該鍵所在的行電平才會(huì)由高電平變?yōu)榈碗娖健PU根據(jù)行電平的變化,便能判定相應(yīng)的行有鍵按下。8號(hào)鍵按下時(shí),第2行一定為低電平。然而,第2行為低電平時(shí),能否肯定是8號(hào)鍵按下呢?單片機(jī)應(yīng)用技術(shù)2.矩陣式鍵盤按鍵的識(shí)別17單片機(jī)應(yīng)用技術(shù)回答是否定的,因?yàn)?、10、11號(hào)鍵按下,同樣會(huì)使第2行為低電平。為進(jìn)一步確定具體鍵,不能使所有列線在同一時(shí)刻都處在低電平,可在某一時(shí)刻只讓一條列線處于低電平,其余列線均處于高電平,另一時(shí)刻,讓下一列處在低電平,依此循環(huán),這種依次輪流每次選通一列的工作方式稱為鍵盤掃描。采用鍵盤掃描后,再來觀察8號(hào)鍵按下時(shí)的工作過程,當(dāng)?shù)?列處于低電平時(shí),第2行處于低電平,而第1、2、3列處于低電平時(shí),第2行卻處在高電平,由此可判定按下的鍵應(yīng)是第2行與第0列的交叉點(diǎn),即8號(hào)鍵。單片機(jī)應(yīng)用技術(shù)回答是否定的,因?yàn)?、10、118單片機(jī)應(yīng)用技術(shù)
3.鍵盤的編碼對(duì)于獨(dú)立式按鍵鍵盤,因按鍵數(shù)量少,可根據(jù)實(shí)際需要靈活編碼。對(duì)于矩陣式鍵盤,按鍵的位置由行號(hào)和列號(hào)惟一確定,因此可分別對(duì)行號(hào)和列號(hào)進(jìn)行二進(jìn)制編碼,然后將兩值合成一個(gè)字節(jié),高4位是行號(hào),低4位是列號(hào)。如圖7.5中的8號(hào)鍵,它位于第2行,第0列,因此,其鍵盤編碼應(yīng)為20H。采用上述編碼對(duì)于不同行的鍵離散性較大,不利于散轉(zhuǎn)指令對(duì)按鍵進(jìn)行處理。因此,可采用依次排列鍵號(hào)的方式對(duì)按排進(jìn)行編碼。以圖7.5中的4×4鍵盤為例,可將鍵號(hào)編碼為:01H、02H、03H、…、0EH、0FH、10H等16個(gè)鍵號(hào)。編碼相互轉(zhuǎn)換可通過計(jì)算或查表的方法實(shí)現(xiàn)。單片機(jī)應(yīng)用技術(shù)3.鍵盤的編碼19單片機(jī)應(yīng)用技術(shù)
4.鍵盤的工作方式對(duì)鍵盤的響應(yīng)取決于鍵盤的工作方式,鍵盤的工作方式應(yīng)根據(jù)實(shí)際應(yīng)用系統(tǒng)中CPU的工作狀況而定,其選取的原則是既要保證CPU能及時(shí)響應(yīng)按鍵操作,又不要過多占用CPU的工作時(shí)間。通常,鍵盤的工作方式有三種,即編程掃描、定時(shí)掃描和中斷掃描。
1)編程掃描方式編程掃描方式是利用CPU完成其它工作的空余時(shí)間,調(diào)用鍵盤掃描子程序來響應(yīng)鍵盤輸入的要求。在執(zhí)行鍵功能程序時(shí),CPU不再響應(yīng)鍵輸入要求,直到CPU重新掃描鍵盤為止。單片機(jī)應(yīng)用技術(shù)4.鍵盤的工作方式20單片機(jī)應(yīng)用技術(shù)鍵盤掃描程序一般應(yīng)包括以下內(nèi)容:(1)判別有無鍵按下。(2)鍵盤掃描取得閉合鍵的行、列值。(3)用計(jì)算法或查表法得到鍵值。(4)判斷閉合鍵是否釋放,如沒釋放則繼續(xù)等待。(5)將閉合鍵鍵號(hào)保存,同時(shí)轉(zhuǎn)去執(zhí)行該閉合鍵的功能。單片機(jī)應(yīng)用技術(shù)鍵盤掃描程序一般應(yīng)包括以下內(nèi)容:21單片機(jī)應(yīng)用技術(shù)
四.鍵盤程序設(shè)計(jì)示例
在左圖中,用P1口接一個(gè)4X4鍵盤。設(shè):SO-S9為數(shù)字鍵,鍵值為0-9,用于向單片機(jī)系統(tǒng)輸入數(shù)據(jù);S10-S15為命令鍵,鍵值為A-F,用于對(duì)計(jì)算機(jī)系統(tǒng)送操作命令;每鍵只1個(gè)功能;行線接P1口的高4位;列線接P1口的低4位。單片機(jī)應(yīng)用技術(shù)四.鍵盤程序設(shè)計(jì)示例在左圖中,用22單片機(jī)應(yīng)用技術(shù)(1)鍵盤掃描子程序KEY: MOV A,#0F0H MOV P1,AXRL A,P1 JZ KEYR;無鍵按下返回 ACALLDELAY ;延時(shí)去抖動(dòng) MOV 30H,P1 ;讀閉合鍵行位置 MOV P1,#0FH ;反轉(zhuǎn) MOV A,P1 ;讀閉合鍵列位置 ORL 30H,A ;合成鍵盤位置碼LOOP:MOV A,P1 ;等待鍵釋放 XRL A,#0FH JNZ LOOP ACALL DELAY ;延時(shí)去抖動(dòng) KEYR: RET單片機(jī)應(yīng)用技術(shù)(1)鍵盤掃描子程序23單片機(jī)應(yīng)用技術(shù)(2)鍵值轉(zhuǎn)換 鍵盤矩陣中各鍵的位置碼的特點(diǎn)是:對(duì)應(yīng)該鍵行、列的位為“0”,其他各位均為“1”。例如:S7鍵的位置碼是:11010111B=0D7H;S12鍵的位置碼是:01111110B=7EH。將各鍵的位置碼順序排列成鍵值表,用查表法進(jìn)行鍵值轉(zhuǎn)換。鍵值轉(zhuǎn)換子程序TRAN: MOVDPTR,#KEYTAB ;DPTR指向鍵值表 MOVR2,#0 ;鍵值初值送R2 MOVR3,#10H ;循環(huán)次數(shù)送R3LOOPT:MOVA,R2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024甲乙雙方關(guān)于2024年度小麥?zhǔn)召彽木娱g合同
- 多媒體技術(shù)及應(yīng)用知到智慧樹章節(jié)測(cè)試課后答案2024年秋海南師范大學(xué)
- 河道水毀清理維護(hù)施工合同
- 咖啡店臨時(shí)服務(wù)員合同模板
- 2025年度二零二五木坑果場(chǎng)承包經(jīng)營與農(nóng)業(yè)信息化建設(shè)合同3篇
- 海邊度假別墅海濱住宿協(xié)議
- 設(shè)立分公司信息共享協(xié)議
- 美容院健身教練合同模板
- 2024鐵路物流倉儲(chǔ)配送合同范本3篇
- 2024正規(guī)餐飲企業(yè)員工勞動(dòng)合同范本與食品安全管理協(xié)議3篇
- 電商整年銷售規(guī)劃
- 口腔癌放療護(hù)理
- 鉆桿購銷合同模板
- 《危重患者搶救流程》課件
- 煤炭部定額解釋
- 小學(xué)三年級(jí)乘除法豎式練習(xí)題一(每日20題)
- 北京市西城區(qū)2022-2023學(xué)年高三上學(xué)期期末試卷政治試卷 附答案
- 黃山景區(qū)旅游客源消費(fèi)特征分析
- 物業(yè)項(xiàng)目移交清單表
- VTE評(píng)分量表解讀 課件2024.8
- 信息技術(shù)咨詢服務(wù)合同5篇
評(píng)論
0/150
提交評(píng)論