第7講按鍵輸入ppt課件_第1頁
第7講按鍵輸入ppt課件_第2頁
第7講按鍵輸入ppt課件_第3頁
第7講按鍵輸入ppt課件_第4頁
第7講按鍵輸入ppt課件_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、主講人:施保華主講人:施保華AVR單片機C言語程序設計三峽大學電子設計及創(chuàng)新實驗室三峽大學電子設計及創(chuàng)新實驗室32學時學時在單片機嵌入式系統(tǒng)中,按鍵和鍵盤是一個根本和常用的接口,它是構(gòu)成人機對話通道的一種常用的方式。按鍵和鍵盤能實現(xiàn)向嵌入式系統(tǒng)輸入數(shù)據(jù)、傳輸命令等功能,是人工干涉、設置和控制系統(tǒng)運轉(zhuǎn)的主要手段。我們先討論簡單的單個按鍵的輸入。圖9-2 是簡單按鍵輸入接口硬件銜接電路圖,圖中單片機的三個I/O 口PC7、PC6、PC5作為輸入口輸入方式,分別與K3、K2、K1 三個按鍵銜接。其中K2 是規(guī)范的銜接方式,當沒有按下K2 時,PC6 的輸入為高電平,按下K2 輸入為低電平。PC6 引

2、腳上的電平值反映了按鍵的形狀。按鍵K1 是一種經(jīng)濟的接法,它充分利用了AVR 單片機I/O 口的內(nèi)部上拉特點。在K1的銜接中,除了把PC5 定義為輸入方式時DDRC.5=0,同時設置PC5 口的上拉電阻有效(PORTC.5=1),這樣當K1 處在斷開形狀時,PC5 引腳在內(nèi)部上拉電阻的作用下為穩(wěn)定的高電平假設上拉電阻無效,那么PC5 處在高阻輸入態(tài),PC5 的輸入易遭到干擾,不穩(wěn)定,按下K1 輸入為低電平與K2 銜接方式比較,K1 銜接電路中省掉了一個外部上拉電阻,而在K2的銜接方法中,由于外部運用了上拉電阻,所以只需設置PC6 口為輸入方式即可,該口內(nèi)部的上拉電阻有效與否那么不用思索了。而對

3、于K3 的銜接方式,我們不提倡運用,因當K3 按下閉合時,PC7 口直接與Vcc 接通了,有能夠會呵斥大的短路電流流過PC7 引腳,從而把端口燒毀。因此電阻R2 不僅起到上拉的作用,還有限流的作用,通常在5K-50K 之間。根據(jù)按鍵銜接電路可知,按鍵形狀確實認就是判別按鍵能否閉合,反映在輸入口的電平就是和按鍵相連的I/O 引腳呈現(xiàn)出高電平或低電平。假設輸入高電平表示斷開的話,那么低電平那么表示按鍵閉合,所以簡單的講,在程序中經(jīng)過檢測引腳電平的高低,便可確認按鍵能否按下。但對于實踐的按鍵確認并不是象上面描畫的那么簡單。首先要思索的是按鍵消抖的問題。通常,按鍵的開關為機械彈性觸點開關,它是利用機械

4、觸點接觸和分別實現(xiàn)電路的通、斷。由于機械觸點的彈性作用,加上人們按鍵時的力度、方向的不同,按鍵開關從按下到接觸穩(wěn)定要經(jīng)過數(shù)毫秒的彈跳抖動,既在按下的幾十毫秒時間里會延續(xù)產(chǎn)生多個脈沖。釋放按鍵時,電路也不會一下斷開,同樣會產(chǎn)生抖動圖9-3。這兩次抖動的時間分別為10-20ms 左右,而按鍵的穩(wěn)定閉合期通常大于0.3-0.5 秒。因此,為了確保MCU 對一次按鍵動作只確認一次,在確認按鍵能否閉合時,必需求進展消抖處置。否那么,由于MCU 軟件執(zhí)行的速度很快,非常能夠?qū)⒍秳赢a(chǎn)生的多個脈沖誤以為多次的按鍵。消除按鍵的抖動既可采用硬件方法,也可采用軟件的方法。運用硬件消抖的方式,需求在按鍵銜接的硬件設計

5、上添加硬件消抖電路,如采用R-S 觸發(fā)器或RC 積分電路等。采用硬件消抖方式添加了系統(tǒng)的本錢,而利用軟件方式消抖那么是比較經(jīng)濟的做法,但添加了軟件設計的復雜性。軟件方式消抖的根本原理是在軟件中對按鍵進展兩次測試確認,既在第一次檢測到按鍵按下后,間隔15ms 左右再次檢測該按鍵能否按下,只需在兩次都測到按鍵按下時才最終確認有鍵按下,從而消除了抖動的影響在按鍵接口軟件中,除了要思索按鍵消抖外,普通還要判別按鍵的釋放,只需檢測到按鍵釋放以后,才干確定為一次完好的按鍵動作完成。,在程序中一旦檢測到按鍵輸入口為低電平常圖9-2,便采用調(diào)用軟件延時程序延時15ms。然后再次檢測按鍵輸入口,假設還是低電平那

6、么表示按鍵按下,轉(zhuǎn)入執(zhí)行按鍵處置程序。假設第二次檢測按鍵輸入口為高電平,那么放棄本次按鍵的檢測,從頭開場一次新的按鍵檢測過程。10.2 10.2 鍵盤接口原理鍵盤接口原理1. 1. 鍵盤輸入的特點鍵盤輸入的特點鍵盤:一組按鍵開關的集合。鍵盤:一組按鍵開關的集合。 行線電壓信號經(jīng)過鍵盤開關機械觸點的斷開、閉合,行線電壓信號經(jīng)過鍵盤開關機械觸點的斷開、閉合,輸出波形如圖輸出波形如圖10-610-6。2. 2. 按鍵確實認按鍵確實認 檢測行線電平檢測行線電平 高電平:斷開;低電平:閉合,高電平:斷開;低電平:閉合,常用軟件來消除按鍵抖動。常用軟件來消除按鍵抖動。 根本思想:檢測到有鍵按下,鍵對應的行

7、線為低,軟根本思想:檢測到有鍵按下,鍵對應的行線為低,軟件延時件延時10ms10ms后,行線如仍為低,那么確認該行有鍵按下。后,行線如仍為低,那么確認該行有鍵按下。3.3.如何消除按鍵的抖動如何消除按鍵的抖動 當鍵松開時,行線變高,軟件延時當鍵松開時,行線變高,軟件延時10ms10ms后,行線仍后,行線仍為為高,闡明按鍵已松開。高,闡明按鍵已松開。采取以上措施,躲開了兩個抖動期采取以上措施,躲開了兩個抖動期t1t1和和t3t3的影響。的影響。10.2.2 10.2.2 鍵盤接口的任務原理鍵盤接口的任務原理獨立式按鍵接口和行列式鍵盤接口。獨立式按鍵接口和行列式鍵盤接口。1.1.獨立式鍵盤接口獨立

8、式鍵盤接口 各鍵相互獨立,每個按鍵各接一根輸入線,經(jīng)過檢各鍵相互獨立,每個按鍵各接一根輸入線,經(jīng)過檢測輸入線的電平形狀可很容易判別那個鍵被按下。測輸入線的電平形狀可很容易判別那個鍵被按下。此種接口適于鍵數(shù)較少或操作速度較高的場所。此種接口適于鍵數(shù)較少或操作速度較高的場所。圖圖10-710-7a a為中斷方式的獨立式鍵盤任務電路為中斷方式的獨立式鍵盤任務電路圖圖10-710-7b b為查詢方式的獨立式鍵盤任務電路。為查詢方式的獨立式鍵盤任務電路。2. 行列式行列式(矩陣式矩陣式)鍵盤接口鍵盤接口 用于按鍵數(shù)目較多的場所,由行線和列線組成,用于按鍵數(shù)目較多的場所,由行線和列線組成,按鍵位于行、列的

9、交叉點上。如圖按鍵位于行、列的交叉點上。如圖10-1010-10所示。所示。 按鍵數(shù)目較多的場所,行列式鍵盤與獨立式鍵盤按鍵數(shù)目較多的場所,行列式鍵盤與獨立式鍵盤相比,要節(jié)省很多的相比,要節(jié)省很多的I/OI/O口線??诰€。1行列式鍵盤任務原理行列式鍵盤任務原理 無鍵按下,該行線為高電平,當有鍵按下時,無鍵按下,該行線為高電平,當有鍵按下時,行線電平由列線的電平來決議。行線電平由列線的電平來決議。 由于行、列線為多鍵共用,各按鍵彼此將相互發(fā)由于行、列線為多鍵共用,各按鍵彼此將相互發(fā)生影響,必需將行、列線信號配合起來并作適當?shù)奶幧绊?,必需將行、列線信號配合起來并作適當?shù)奶幚恚鸥纱_定閉合鍵的位置

10、。理,才干確定閉合鍵的位置。2 2按鍵的識別方法按鍵的識別方法a. a. 掃描法掃描法 圖圖10-1010-10b b中中3 3號鍵被按下為例,來闡明此鍵號鍵被按下為例,來闡明此鍵時如何被識別出來的。時如何被識別出來的。識別鍵盤有無鍵被按下的方法,分兩步進展:識別鍵盤有無鍵被按下的方法,分兩步進展:第第1 1步:識別鍵盤有無鍵按下;步:識別鍵盤有無鍵按下;第第2 2步:如有鍵被按下,識別出詳細的按鍵。步:如有鍵被按下,識別出詳細的按鍵。 把一切列線置把一切列線置0 0,檢查各行線電平能否有變化,如,檢查各行線電平能否有變化,如有變化,闡明有鍵按下,如無變化,那么無鍵按下。有變化,闡明有鍵按下,

11、如無變化,那么無鍵按下。 上述方法稱為掃描法,即先把某一列置低電平,上述方法稱為掃描法,即先把某一列置低電平,其他各列為高電平,檢查各行線電平的變化,假設某其他各列為高電平,檢查各行線電平的變化,假設某行線電平為低,可確定此行列交叉點處的按鍵被按行線電平為低,可確定此行列交叉點處的按鍵被按下。下。 b. b. 線反轉(zhuǎn)法線反轉(zhuǎn)法 只需兩步便能獲得此按鍵所在的行列值,線反轉(zhuǎn)只需兩步便能獲得此按鍵所在的行列值,線反轉(zhuǎn)法的原理如圖法的原理如圖10-1110-11。NoImage第第1 1步:列線輸出為全低電平,那么行線中電平由高變低步:列線輸出為全低電平,那么行線中電平由高變低的所在行為按鍵所在行。的

12、所在行為按鍵所在行。第第2 2步:行線輸出為全低電平,那么列線中電平由高變低步:行線輸出為全低電平,那么列線中電平由高變低所在列為按鍵所在列。所在列為按鍵所在列。 結(jié)合上述兩步,可確定按鍵所在行和列。結(jié)合上述兩步,可確定按鍵所在行和列。3 3鍵盤的編碼鍵盤的編碼 根據(jù)實踐需求靈敏編碼。根據(jù)實踐需求靈敏編碼。10.2.3 10.2.3 鍵盤的任務方式鍵盤的任務方式 單片機在忙于各項任務義務時,如何兼顧鍵盤的輸單片機在忙于各項任務義務時,如何兼顧鍵盤的輸入,取決于鍵盤的任務方式。入,取決于鍵盤的任務方式。原那么:即要保證能及時呼應按鍵操作,又不要過多占原那么:即要保證能及時呼應按鍵操作,又不要過多

13、占用用CPUCPU的任務時間。的任務時間。 通常,鍵盤任務方式有通常,鍵盤任務方式有3 3種,即編程掃描、定時掃種,即編程掃描、定時掃描和中斷掃描。描和中斷掃描。1. 1. 編程掃描方式編程掃描方式 只需當單片機空閑時,才調(diào)用鍵盤掃描子程序,只需當單片機空閑時,才調(diào)用鍵盤掃描子程序,掃描鍵盤。掃描鍵盤。任務過程:任務過程:1 1在鍵盤掃描子程序中,先判別有無鍵按下。在鍵盤掃描子程序中,先判別有無鍵按下。方法:方法:PAPA口口8 8位輸出全位輸出全0 0,讀,讀PCPC口低口低4 4位形狀,假設位形狀,假設PC0PC0PC3PC3為全為全1 1,那么闡明鍵盤無鍵按下;假設不全為,那么闡明鍵盤無

14、鍵按下;假設不全為1 1,那么闡明,那么闡明鍵盤能夠有鍵按下。鍵盤能夠有鍵按下。2 2用軟件來消除按鍵抖動的影響。如有鍵按下,那么用軟件來消除按鍵抖動的影響。如有鍵按下,那么進展下一步。進展下一步。3 3求按下鍵的鍵號。求按下鍵的鍵號。4 4等待按鍵釋放后,再進展按鍵功能的處置操作。等待按鍵釋放后,再進展按鍵功能的處置操作。2. 2. 定時掃描任務方式定時掃描任務方式 利用單片機內(nèi)的定時器,產(chǎn)生利用單片機內(nèi)的定時器,產(chǎn)生10ms10ms的定時中斷,對的定時中斷,對鍵盤進展掃描。鍵盤進展掃描。3.3.中斷任務方式中斷任務方式 只需在鍵盤有鍵按下時,才執(zhí)行鍵盤掃描程序,如只需在鍵盤有鍵按下時,才執(zhí)行鍵盤掃描程序,如無鍵按下,單片機將不理睬鍵盤。無鍵按下,單片機將不理睬鍵盤。 鍵盤所做的任

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論