通過映射多個按鍵,可以擴展MAX6959 LED顯示驅動器的鍵盤掃描范圍,從8鍵擴展到12鍵。該應用筆記介紹了一種擴展掃描的方法。
MAX6959是4位、9段LED驅動器,可自動掃描并消除8個按鍵開關的抖動,通過一個中斷引腳通知系統處理器消除鍵抖(引腳兼容的MAX6958可以驅動相同數量的LED,但沒有鍵盤掃描功能)。本文介紹的擴展按鍵掃描方案(從8鍵擴展到12鍵)需要在附加鍵上增添雙二極管。
表1. MAX6959 LED顯示驅動器的標準8鍵連接
INPUT1 | INPUT2 | |
DIG0/SEG0 | Key0 | Key4 |
DIG1/SEG1 | Key1 | Key5 |
DIG2/SEG2 | Key2 | Key6 |
DIG3/SEG3 | Key3 | Key7 |
圖1. MAX6959 LED顯示驅動器的標準8鍵連接
表1和圖1給出了MAX6959的標準8鍵連接。鍵切換電路按照2 x 4矩陣(2列、4行)讀取8個按鍵的狀態。鍵盤陣列的4行由4個LED陰極驅動器輸出(DIG0/SEG0至DIG3/SEG3)驅動。作為多層LED驅動的一部分,這些LED陰極驅動輸出依次拉至低電平320μs (標稱值) (順序驅動LED)。這些驅動器輸出分別用來拉低鍵開關的一端,鍵的另一端連接在兩個輸入端:INPUT1和INPUT2,這兩個輸入端從內部拉至MAX6959的高電平V+。按下開關時,INPUT1或INPUT2將由相應的DIG_/SEG_輸出拉至低電平,MAX6959檢測按鍵,并為按鍵提供去抖。
多個按鍵被同時按下時,與開關串聯的二極管可以防止2個或多個LED陰極驅動輸出短路。例如,同時按下Key0和Key1時,與按鍵串聯的二極管可以避免DIG0/SEG0與DIG1/SEG1短路,因為在任何情況下至少有一個二極管為反向偏置。二極管采用的是低成本、共陽極的BAW56,SOT-23封裝。
MAX6959隨時判斷8個按鍵按下或釋放的動作,器件內部的8位寄存器指示這8個按鍵的狀態。從這一點看,在MAX6959的設計中似乎沒有辦法擴展掃描電路,到此為止,大家可能會有一種“受騙”的感覺。
公平地講,我們是在發掘一種冗余情況。許多應用中只需要了解某一個按鍵是否被按下。通常,同時按下兩個按鍵的情況被認為是錯誤的鍵輸入,或者是進入工廠診斷模式。這種兩個按鍵同時按下的情況即為“冗余”情況,我們把4個增添的按鍵連接成好像某一對兒鍵被同時按下的情況,如表2所示。例如,當Key8按下時,對于MAX6959而言,所表現出來的狀態與Key0和Key4同時按下的情況相同。只要每對兒按鍵(如Key0和Key4)的物理位置不相鄰,這種擴展架構即可有效工作。軟件設計應保證在30.3ms的最小去抖周期內響應按鍵的IRQ,保證每個對應于按鍵掃描的結果都經過適當的分析處理。如果軟件對IRQ響應較慢,將無法區分同時按下兩個按鍵的情況(鑒別增添的按鍵狀態)和順序按下相同的兩個按鍵的情況。無論是哪種情況,按鍵去抖寄存器0 x 08將簡單地顯示每個鍵位置位。
表2. MAX6959 LED顯示驅動器擴展后的12鍵連接
INPUT1 | INPUT2 | INPUT1 and INPUT2 | |
DIG0/SEG0 | Key0 | Key4 | Key8 |
DIG1/SEG1 | Key1 | Key5 | Key9 |
DIG2/SEG2 | Key2 | Key6 | Key10 |
DIG3/SEG3 | Key3 | Key7 | Key11 |
圖2
所示電路,每個附加按鍵需要一個雙二極管(如低成本、共陰極的BAV70,SOT-23封裝), 按下開關時,INPUT1和INPUT2被同時拉低。
圖2. MAX6959 LED顯示驅動器擴展后的12鍵連接
最后,值得注意的是:增添的4個按鍵的連接方式模擬的是兩個按鍵同時按下的情況,這兩個按鍵連接在四個LED陰極驅動器輸出的某個輸出端,DIG0/SEG0至DIG3/SEG3。采用這種連接方式,每對兒按鍵總是在同一時間掃描或去抖。如果新增按鍵所模擬的同時按下的兩個鍵由不同的LED陰極驅動輸出掃描,這種工作方式將是不可靠的。因為鍵掃描是順序執行的,一次兩個按鍵,附加按鍵將會錯過一個LED陰極驅動器的去抖周期,而在另一個周期去抖。這樣,同時按下兩個按鍵將表現為順序按下兩個按鍵的情況。采用本文推薦的連接方式可以避免這一問題,因為每對兒按鍵表現為雙鍵同時去抖。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19407瀏覽量
231182 -
led
+關注
關注
242文章
23355瀏覽量
663181 -
驅動器
+關注
關注
53文章
8271瀏覽量
147060
發布評論請先 登錄
相關推薦
點陣數碼管LED驅動/數顯LED驅動IC-VK1638 SOP28最大支持8×3按鍵矩陣/10×8點陣
![點陣數碼管<b class='flag-5'>LED</b><b class='flag-5'>驅動</b>/數顯<b class='flag-5'>LED</b><b class='flag-5'>驅動</b>IC-VK1638 SOP28最大支持<b class='flag-5'>8</b>×3按鍵矩陣/10×<b class='flag-5'>8</b>點陣](https://file1.elecfans.com/web1/M00/F4/99/wKgaoWctypqAWAlTAADBYw20Ejg836.png)
適用于可擴展系統的高效、無代碼、無傳感器BLDC電機驅動器
![適用于可<b class='flag-5'>擴展</b>系統的高效、無代碼、無傳感<b class='flag-5'>器</b>BLDC電機<b class='flag-5'>驅動器</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
AIP1629A貼片SOP32顯示驅動芯片
AIP1628 中微愛芯 顯示驅動芯片 3線串口共陰極10段7位或13段4位
VK1618 8×4/7×5/6×6/5×7 LED顯示驅動芯片中文手冊
FH8B1509 LED顯示按摩器IC輕觸開關ONOFF/MODE UP DOWN三鍵操作控制
![FH<b class='flag-5'>8</b>B1509 <b class='flag-5'>LED</b><b class='flag-5'>顯示</b>按摩<b class='flag-5'>器</b>IC輕觸開關ONOFF/MODE UP DOWN三<b class='flag-5'>鍵</b>操作控制](https://file1.elecfans.com/web2/M00/F2/0E/wKgZomZ2paOAeI39AADTODlRFPc926.png)
48個電流源、64 次掃描、共陰極矩陣 LED顯示驅動器TLC6984數據表
![48個電流源、64 次<b class='flag-5'>掃描</b>、共陰極矩陣 <b class='flag-5'>LED</b><b class='flag-5'>顯示</b><b class='flag-5'>驅動器</b>TLC6984數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論