電容式觸摸替代機(jī)械式按鍵
一個(gè)4x4矩陣鍵盤(pán)的典型波型如下圖所示
本文引用地址:http://cafeforensic.com/article/132685.htm圖2 掃描線波形
如圖所示,任何時(shí)刻都有掃描線逐一下拉至GND接地端,其數(shù)量不會(huì)超過(guò)處于邏輯 ‘0’狀態(tài)的掃描線。同時(shí)有多條掃描線處于邏輯 ‘0’狀態(tài),會(huì)減低檢測(cè)出按鈕按壓的精確度。
為了替代鍵盤(pán),電容感應(yīng)控制器必須扮演一個(gè)機(jī)械式鍵盤(pán)的角色,并讓host認(rèn)為它就是機(jī)械鍵盤(pán) ,host的輸出線(掃描線)必須變?yōu)檩斎?,而host端的輸入線(讀取線)則會(huì)成為電容感應(yīng)控制器的輸出端。根據(jù)掃描線狀態(tài)以及按鈕觸摸狀態(tài),系統(tǒng)須視情況由控制器來(lái)更新讀取線。步驟如下所述。在一個(gè)12按鈕(如圖3所示)的產(chǎn)品中,按鈕必須排成3x4矩陣,其中3是掃描線數(shù)量,4則是讀取線數(shù)量。
1. 開(kāi)啟掃描線上的中斷。
2. 把中斷設(shè)置成邊緣觸發(fā)(在兩端)。
3. 為3條掃描線啟動(dòng)一個(gè) ‘3’字節(jié)數(shù)組,由于我們需要4條讀取線(每條分配1個(gè)位),因此選擇BYTE(字節(jié))。如果超過(guò)8條讀取線,則應(yīng)使用WORD。
4. 對(duì)于任何使用電容感應(yīng)算法的手指觸摸系統(tǒng),讀取12個(gè)按鈕,并利用相對(duì)應(yīng)的數(shù)值來(lái)更新字節(jié)數(shù)組。注意:讀取線應(yīng)是active low狀態(tài),因?yàn)槊慨?dāng)按壓按鈕時(shí),掃描線上的 ‘0’就會(huì)傳送至讀取線,在默認(rèn)狀態(tài)下,讀取線會(huì)上拉至Vcc。
5. 所有掃描線中斷都無(wú)需開(kāi)啟。只有當(dāng)掃描線上報(bào)告有按鈕按壓事件時(shí),中斷才會(huì)開(kāi)啟,不然應(yīng)處于關(guān)閉狀態(tài)。這樣的設(shè)計(jì)有助于在電容式觸摸控制器中降低CPU的負(fù)荷。
6. 在掃描線中斷時(shí),讀取這些線并視狀況更新讀取線(參考下圖)?! ?/p>
3 鍵盤(pán)仿真
評(píng)論