版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、鍵盤開發(fā)與設計,,一. 鍵盤電路基礎,1.鍵盤的作用 鍵盤是嵌入式系統(tǒng)中人機交互界面不可缺少的外圍設備,客戶可以通過鍵盤進行數據輸入、命令控制、程序生產等操作,是非常重要的輸入工具。,一. 鍵盤電路基礎,2.基本原理 基本的鍵盤都是不同按鍵開關的組合。目前常使用的按鍵是機械式按鍵。它是通過機械觸點的通斷作用,實現電壓信號高低的輸入。,一. 鍵盤電路基礎,3.按鍵確認 按鍵的閉合與斷開,在系統(tǒng)中的響應分別是高電平或者是低
2、電平。故在設計過程中可以采用兩種方式來設計按鍵接口。 (1).上拉式按鍵接口 (2).下拉式按鍵接口,特點:每個按鍵占用一條I/O線,當按鍵數量較多時,I/O口利用率不高,但程序編制簡單。適用于所需按鍵較少的場合。,特點:電路連接復雜,但提高了I/O口利用率,軟件編程較復雜。適用于需使用大量按鍵的場合。,,圖2 矩陣式鍵盤接口,1、獨立式鍵盤接口,各鍵相互獨立,每個按鍵各接一根輸入線,通過檢測輸入線的電平狀態(tài)可很容易判斷哪
3、個鍵被按下。,此種接口適于鍵數較少或操作速度較高的場合。,芯片內有上拉電阻 芯片內無上拉電阻,獨立按鍵綜合練習,實驗任務1.設計四個按鍵,可用板上的AN14-17這四個。起到加1、減1、清零、鎖定的作用。2.功能如下:按下AN16,計數值加1,按下AN15計數值減1,通過單片機的P1端口的P1.0到P1.3顯示出相應的二進制計數值。當計數值增到16時計數值變?yōu)?,當計數值減到0時計數值保持在0.長按A
4、N17一秒,計數值清0.長按AN14一秒,計數值呈鎖定狀態(tài),此時再按其他3個鍵計數值的值都不會發(fā)生變化;直到再次長按AN14一秒,計數值鎖定狀態(tài)解除。完成后可思考:擴展功能——通過數碼管顯示count,2、矩陣式鍵盤接口,,一.鍵盤電路基礎,4.按鍵消抖 (1).抖動的原因:由于按鍵的機械特性,其機械觸點不能夠立刻完全閉合或斷開,因此會產生一系列的電平抖動信號。,一. 鍵盤電路基礎,(2).消抖辦法 硬件消抖:在鍵數較少
5、時可用硬件方法消除鍵抖動。如圖所示。,一. 鍵盤電路基礎,軟件消抖 在軟件中編寫鍵盤消抖處理程序,因為在嵌入式系統(tǒng)中,大部分產品使用的都是價格便宜且容易發(fā)生抖動的開關按鍵。如果鍵盤能夠在進行消抖處理后還能正確地讀取所按下的鍵值,則表明該鍵被按下。,二. 鍵盤電路設計方法,1.直接式鍵盤接口電路設計 將各按鍵開關單獨連接到一個單片機的輸入引腳上,每個按鍵占用一個單片機的I/O口。也稱為獨立式鍵盤。 優(yōu)缺點:配置靈活,但占用
6、的I/O過多,成本較高,因此實用輸入按鍵較少的情況。,二. 鍵盤電路設計方法,2.直接式鍵盤的軟件設計 在直接式鍵盤中,可以通過檢測與按鍵相連I/O接口的電平值來判斷按鍵是否按下。,程序開始,,按鍵按下,,是,延時,按鍵按下,,,主程序,,是,否,否,二. 鍵盤電路設計方法,3.陣列式鍵盤接口電路設計 按鍵開關被組合成了行和列的矩陣,單片機的I/O接口一部分作為行線,一部分作為列線,按鍵布置在行線和列線的交叉點上。行列式鍵盤
7、中的按鍵數量可以達到行線數與列線數的乘積。,,,二. 鍵盤電路設計方法,4.陣列式鍵盤的軟件設計 讀取陣列式鍵盤的按鍵值,必須采用掃描鍵值的方式。下面以掃描第四行為例: 首先置單片機的P1_3口為低,其他引腳都為高,然后再讀取P1口的值,與該行各個鍵盤按下后P1口的值相匹配。,,,,,,,,鍵盤控制流程,單片機對矩陣式鍵盤接口處理的一般過程如圖3所示。,鍵掃描,消抖,求鍵碼,等待釋放,,按鍵處理,鍵盤處理流程框圖,4x4 矩
8、陣鍵盤檢測按鍵的方法:先拉低第一行的電平,檢測1~4 列有無鍵按下,如有返回鍵值,如無看下行再拉低第二行的電平,檢測1~4 列有無鍵按下,如有返回鍵值,如無看下行先拉低第三行的電平,檢測1~4 列有無鍵按下,如有返回鍵值,如無看下行再拉低第四行的電平,檢測1~4 列有無鍵按下,如有返回鍵值,如無則返回無鍵按下,采用最原始的做法:,上面的函數功能是實現了但是有2 個致命的缺陷:1、沒有鍵盤消抖和松手檢測2、代碼過長,1. 鍵掃
9、描,鍵掃描就是要判斷有無鍵按下,當掃描到有鍵按下時再進行下一步處理,否則退出鍵盤處理程序。獨立式鍵盤掃描只需讀取IO口狀態(tài),而矩陣式鍵盤描通常有兩種實現方法:逐行掃描法和線反轉法。,逐行掃描法。依次從第一至最末行線上發(fā)出低電平信號, 如果該行線所連接的鍵沒有按下的話, 則列線所接的端口得到的是全“1”信號, 如果有鍵按下的話, 則得到非全“1”信號。,鍵盤接口的消抖 1.消除鍵抖動,由于按鍵按下時的機械動作,在按
10、鍵被按下或松開的瞬間,其輸出電壓會產生波動,稱為鍵的抖動。,2.消抖,為確保每按一次鍵單片機只進行一次處理,使鍵盤可靠地工作,必須消除按鍵抖動。消抖方法有硬件消抖和軟件延時兩種。,鍵閉合及斷開時的抖動,(1)硬件消抖法:就是在鍵盤中附加去抖動電路,從根上消除抖動產生的可能性。右圖所示電路實際上是由R-S觸發(fā)器構成的單脈沖電路。當按鈕開關按下時Q端輸出低電平,當開關松開時Q端恢復高電平,即輸出一個負脈沖,以此消除抖動。,硬件去抖動電路,(
11、2)軟件消抖法:鍵按下的時間與操作者的按鍵動作有關,約為十分之幾到幾秒不等。而鍵抖動時間與按鍵的機械特性有關,一般為5~10ms不等。軟件消抖法即是采用延時(一般延時10~20ms)的方法,以避開按鍵的抖動,即在按鍵已穩(wěn)定地閉合或斷開時才讀出其狀態(tài)。,,軟件消抖法延時區(qū)間示意圖,3. 計算鍵碼,鍵碼是每個按鍵的標識。被按鍵確定下來之后,接下來的工作是計算閉合鍵的鍵碼,然后才能根據鍵碼進行對應的操作。,為編程方便,鍵碼通常都是以鍵的排列順
12、序安排,按照從左到右、從上向下的順序編排。鍵碼可根據行號列號以查表求得,也可通過計算得到。我們將結合實例加以介紹。,4.等待釋放,等待釋放是為了保證鍵的一次閉合僅進行一次處理。求得鍵碼后,然后通過不斷進行鍵掃描,如有鍵按下,則繼續(xù)掃描,否則認為鍵已釋放。,5.按鍵處理,根據系統(tǒng)功能要求,利用單片機控制完成特定操作。,鍵盤接口的控制方式,在單片機的運行過程中,何時進行鍵盤掃描和處理,可有下列三種情況:1.查詢方式:單片機通過調用鍵盤掃描
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- windowsce矩陣鍵盤開發(fā)
- 矩陣鍵盤值顯示實驗
- 矩陣鍵盤說明書
- 基于protues矩陣鍵盤c程序
- 矩陣鍵盤原理圖.docx
- 最容易理解矩陣鍵盤c程序
- eda課程設計--矩陣鍵盤接口設計
- 矩陣鍵盤eda技術課程設計
- 矩陣鍵盤eda技術課程設計
- 基于fpga的矩陣鍵盤接口電路的設計
- 矩陣鍵盤程序c程序,51單片機.
- 課程設計4乘4矩陣鍵盤設計
- 單片機控制的矩陣鍵盤程序集
- 單片機課程設計--矩陣鍵盤 led顯示
- 英飛拓v2115矩陣鍵盤操作手冊
- 基于stm32的矩陣鍵盤識別算法研究與實現
- 行列反轉掃描法在矩陣鍵盤中的應用及編程思想
- 基于c51單片機矩陣鍵盤控制蜂鳴器的應用
- 單片機課程設計報告(4×4矩陣鍵盤)
- 課程設計-制作單片機的4x4矩陣鍵盤
評論
0/150
提交評論