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