矩陣式鍵盤工作原理
1.按鍵的分類按鍵按照結構原理可分為兩類,一類是觸點式開關按鍵,如機械式開關、導電橡膠式開關等;另一類是無觸點式開關按鍵,如電氣式按鍵,磁感應按鍵等。前者造價低,后者壽命長。目前,微機系統(tǒng)中最常見的是觸點式開關按鍵。
按鍵按照接口原理可分為編碼鍵盤與非編碼鍵盤兩類,這兩類鍵盤的主要區(qū)別是識別鍵符及給出相應鍵碼的方法。編碼鍵盤主要是用硬件來實現(xiàn)對鍵的識別,非編碼鍵盤主要是由軟件來實現(xiàn)鍵盤的定義與識別。
全編碼鍵盤能夠由硬件邏輯自動提供與鍵對應的編碼,此外,一般還具有去抖動和多鍵、竄鍵保護電路。這種鍵盤使用方便,但需要較多的硬件,價格較貴,一般的單片機應用系統(tǒng)較少采用。非編碼鍵盤只簡單地提供行和列的矩陣,其它工作均由軟件完成。由于其經濟實用,較多地應用于單片機系統(tǒng)中。下面將重點介紹非編碼鍵盤接口。
2.鍵輸入原理
在單片機應用系統(tǒng)中,除了復位按鍵有專門的復位電路及專一的復位功能外,其它按鍵都是以開關狀態(tài)來設置控制功能或輸入數(shù)據(jù)的。當所設置的功能鍵或數(shù)字鍵按下時,計算機應用系統(tǒng)應完成該按鍵所設定的功能,鍵信息輸入是與軟件結構密切相關的過程。
對于一組鍵或一個鍵盤,總有一個接口電路與 CPU 相連。 CPU 可以采用查詢或中斷方式了解有無將鍵輸入,并檢查是哪一個鍵按下,將該鍵號送入累加器 ACC ,然后通過跳轉指令轉入執(zhí)行該鍵的功能程序,執(zhí)行完后再返回主程序。
3.按鍵結構與特點
微機鍵盤通常使用機械觸點式按鍵開關,其主要功能是把機械上的通斷轉換成為電氣上的邏輯關系。也就是說,它能提供標準的 TTL 邏輯電平,以便與通用數(shù)字系統(tǒng)的邏輯電平相容。
機械式按鍵再按下或釋放時,由于機械彈性作用的影響,通常伴隨有一定時間的觸點機械抖動,然后其觸點才穩(wěn)定下來。其抖動過程如圖 7.2 所示,抖動時間的長短與開關的機械特性有關,一般為 5 ~ 10 ms 。
按鍵觸點的機械抖動
在觸點抖動期間檢測按鍵的通與斷狀態(tài),可能導致判斷出錯,即按鍵一次按下或釋放被錯誤地認為是多次操作,這種情況是不允許出現(xiàn)的。為了克服按鍵觸點機械抖動所致的檢測誤判,必須采取去抖動措施。這一點可從硬件、軟件兩方面予以考慮。在鍵數(shù)較少時,可采用硬件去抖,而當鍵數(shù)較多時,采用軟件去抖。
在硬件上可采用在鍵輸出端加 R-S 觸發(fā)器 ( 雙穩(wěn)態(tài)觸發(fā)器 ) 或單穩(wěn)態(tài)觸發(fā)器構成去抖動電路。圖 7.3 是一種由 R-S 觸發(fā)器構成的去抖動電路,當觸發(fā)器一旦翻轉,觸點抖動不會對其產生任何影響。
軟件上采取的措施是:在檢測到有按鍵按下時,執(zhí)行一個 10 ms 左右(具體時間應視所使用的按鍵進行調整)的延時程序后,再確認該鍵電平是否仍保持閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認該鍵處于閉合狀態(tài)。同理,在檢測到該鍵釋放后,也應采用相同的步驟進行確認,從而可消除抖動的影響。
4.按鍵編碼
一組按鍵或鍵盤都要通過 I/O 口線查詢按鍵的開關狀態(tài)。根據(jù)鍵盤結構的不同,采用不同的編碼。無論有無編碼,以及采用什么編碼,最后都要轉換成為與累加器中數(shù)值相對應的鍵值,以實現(xiàn)按鍵功能程序的跳轉。
5.編制鍵盤程序
一個完善的鍵盤控制程序應具備以下功能:
(1) 檢測有無按鍵按下,并采取硬件或軟件措施,消除鍵盤按鍵機械觸點抖動的影響。
(2) 有可靠的邏輯處理辦法。每次只處理一個按鍵,其間對任何按鍵的操作對系統(tǒng)不產生影響,且無論一次按鍵時間有多長,系統(tǒng)僅執(zhí)行一次按鍵功能程序。
(3) 準確輸出按鍵值(或鍵號),以滿足跳轉指令要求。
編輯:admin 最后修改時間:2018-05-08