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