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