鍵盤輸入工作原理
實現(xiàn)獨立式鍵盤的識別以及控制
在單片機應用系統(tǒng)中,有時只需要幾個簡單的獨立按鍵就可滿足控制要求。獨立式鍵盤工作原理。四個獨立按鍵與單片機的P2.4~P2.7相連,同時也通過上拉電阻與+5V電源相連。

每個按鍵單獨占用一根I/O接線,每根I/O接線的工作狀態(tài)不會影響到其他I/O接線。當S21鍵按下時,數(shù)碼管顯示“1”,S22鍵按下時,數(shù)碼管顯示“2”,同樣,S23或S24按下時,數(shù)碼管分別顯示“3”或“4”。實現(xiàn)矩陣式鍵盤的識別及控制??刂瓢存I較多時,為減少對單片機I/O端口的占用,通常要把鍵盤排列成矩陣形式。每個按鍵按下后,數(shù)碼管都能準確地對應顯示。
鍵盤
鍵盤是單片機應用系統(tǒng)中常用的輸入設備,通過鍵盤可以輸入數(shù)據(jù)、命令以及各種參
數(shù),實現(xiàn)人機通信。

鍵盤按照結(jié)構(gòu)原理可分為兩類:一類是觸點式開關(guān)鍵盤,如機械式開關(guān)、導電橡膠式開關(guān)等。另一類是無觸點式開關(guān)鍵盤,如電氣式、磁感應等。前者造價低,后者使用壽命長。
按照接口原理,鍵盤又可分為以下兩類:一類是編碼鍵盤,如電腦鍵盤。編碼鍵盤的按鍵產(chǎn)生固定的字符,是由硬件電路實現(xiàn)的,電路較復雜,在單片機中不常用。另一類為非編碼鍵盤。
它的按鍵只提供按鍵的狀態(tài),按鍵的具體功能由編程者自己定義,由程序?qū)崿F(xiàn)。此外,非編碼鍵盤根據(jù)鍵盤與CPU的連接方式不同,又分為獨立式鍵盤和矩陣式鍵盤。目前在單片機系統(tǒng)中被廣泛應用的鍵盤為非編碼鍵盤和觸點式開關(guān)鍵盤。

鍵盤使用時抖動的問題
鍵盤的抖動問題是按鍵的機械觸點接觸不穩(wěn)定造成的。機械式按鍵按下或釋放時,由于機械彈性作用的影響,通常伴隨有一定時間的觸點機械抖動,然后其觸點才穩(wěn)定下來。
在開關(guān)閉合和斷開瞬間都會有鍵盤信號不穩(wěn)定的現(xiàn)象,抖動時間的長短與開關(guān)的機械特性有關(guān),一般為5~10 ms。從圖中可以看出,在觸點抖動期間檢測鍵盤的通與斷狀態(tài),可能導致判斷出錯,即按鍵一次按下或釋放被錯誤地認為是多次操作,這種情況是不允許出現(xiàn)的。
為了克服按鍵觸點機械抖動所致的檢測誤判,必須采取去抖動措施,常用的方法有兩種:一種是采用硬件去抖動電路,用雙穩(wěn)態(tài)電路、單穩(wěn)態(tài)電路、濾波電路等,但在實際應用中不常采用;另一種是采用軟件去抖動,其原理為當?shù)谝淮螜z測到有鍵按下時,調(diào)用一延時10 ms程序,然后再去檢測該鍵,確定其是否按下。

因為按鍵的抖動時間一般在5~10 ms之間,而按鍵閉合或者斷開的穩(wěn)定時間在幾百毫秒到幾秒之間,延時10 ms并不會影響對按鍵觸點閉合或者斷開的判別。
獨立式鍵盤工作原理
單片機的P2.4~P2.7分別與四個獨立按鍵相連,同時也通過四個上拉電阻與+5 V電源相連。當按鍵未按下時,P2.4~P2.7上的電位為+5 V。當有按鍵按下時,對應的端口因按鍵的閉合而直接與地相連,其電位變?yōu)?V。基于此可以通過掃描P2.4~P2.7的電位情況來識別各個按鍵的狀態(tài)。

獨立式鍵盤編程控制
由以上分析可知,判別有無按鍵按下,先掃描P2.4~P2.7有無電位的變化,檢測有電位變化時要延時10 ms再次檢測,以消除按鍵抖動帶來的不利影響。
由于P2.4~P2.7的電位變化檢測是先后完成的,故四個按鍵實際上存在優(yōu)先順序的問題,這完全由編程決定。獨立式鍵盤的優(yōu)點是按鍵配置靈活,編程簡單。缺點是占用1/O端口多。因此,獨立式鍵盤適合于要求按鍵數(shù)量較少的場合。