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

3 鍵盤仿真
評論