在大多數鍵盤中,按一個鍵會關閉一個橋接xy矩陣中兩條線的觸點。如果使用微控制器檢測鍵閉合,則檢查(x + y)行的狀態需要相同數量的I/O引腳。電路圖1僅占用一個空閑I/O引腳,每當有人按下一個鍵時,通過產生一個脈沖與微控制器通信。脈沖的寬度與按下的按鍵數成正比,微控制器通過測量脈沖的寬度來識別按下的按鍵。
IC 2 ,一種流行的555定時器的CMOS LMC555版本,作為單穩態單次多諧振蕩器工作。在電路的靜止狀態下,引腳7處IC 2 內部的晶體管分流C 6 ,引腳3處的IC 2 輸出仍然存在在邏輯低。按鍵盤上的任意鍵連接兩組中的兩個電阻 - 一個組中的R 1 和R 2 ,R 3 ,R 4 ,R 5 在另一個 - 與R 6 串聯。兩個電阻的總和以10-kΩ為增量變化,總電阻與按下的按鍵數量成正比。
按任意鍵通過R 6 ,R 7 和所選鍵盤電阻吸取電流,并提高IC 2 的電壓引腳7.在C 1 充電后,引入一個足以消除鍵盤開關觸點閉合反彈的短延遲,CMOS比較器IC 1 檢測到R上建立的小電壓降<子> 7 。 IC 1 (引腳6)的輸出從5變為0V,進而觸發IC 2 的引腳2。定時器IC 2 的輸出(引腳3)變為高電平,并開始以取決于所選鍵的時間常數對電容器C 6 充電。當C 6 上的電壓達到V CC 的三分之二或3.333V時,引腳3變為低電平并放電C 6 。下面的等式計算IC 2 的輸出脈沖寬度,T:T =1.1?-R S ?-C 6 ,其中R S 等于所選鍵盤電阻的總和,范圍從10到120kΩ。脈沖寬度范圍為110至1320微秒,增量為110微秒。
脈沖寬度的最小相對變化發生在最長脈沖比,110/1320或8.33%。該比率提供了足夠的余量,允許使用標準的±1%容差或更好的組件,如圖1中那些±0.5和±1%。電阻器R 13 且R 14 補償IC 2 的內部分壓器通過將引腳5的電壓強制為電源電壓V CC 的三分之二。
鍵盤電路的輸出脈沖驅動Microchip 16F630微控制器的外部中斷輸入RA 2 。清單1給出了16F630的一個中斷程序,用于測量脈沖寬度,驗證其容差是否在±40μsec內,并返回與按下的鍵對應的1到12的數值。作為防止錯誤數據的安全措施,如果脈沖寬度超出一定限度,例程將返回錯誤代碼。
審核編輯 黃宇
-
微控制器
+關注
關注
48文章
7649瀏覽量
152106 -
鍵盤接口
+關注
關注
0文章
23瀏覽量
9489
發布評論請先 登錄
相關推薦
評論