按鍵與菜單在嵌入式系統中的設計與應用
MAX6816-MAX6818分別為單、雙、八通道的消抖按鍵芯片,并且具有ESD保護功能。使用該芯片改進(jìn)電路后,不僅簡(jiǎn)化了軟件的設計(可直接視端口電平改變?yōu)橛行ё兓?,更提高了電路的抗干擾能力,使最終產(chǎn)品更容易通過(guò)EMC測試。
2.矩陣式鍵盤(pán)設計
在所需按鍵較多的系統中常采用矩陣式按鍵設計,該方式可大大節約端口的占用(N為偶數時(shí),N個(gè)端口最多可控制(N/2)2個(gè)按鍵),與一一對應的按鍵設計相比其主要缺點(diǎn)是掃描速度相對較慢。典型電路如圖4所示。
圖.4 矩陣式鍵盤(pán)接口
其控制端口分為A、B兩組,A組用來(lái)驅動(dòng)產(chǎn)生逐位送出的低電平信號,同時(shí)保持其它位為高電平。對A組的每位低電平信號都要在B組執行一次掃描。由電路特性可知,每個(gè)按鍵對應唯一的一組A、B組合,所以通過(guò)掃描可確定按鍵的位置。對矩陣式按鍵的掃描也要注意防抖問(wèn)題,雖然矩陣式按鍵的掃描速度比一一對應的方式慢,但嵌入式系統運行在微秒甚至更低的數量級上,所以機械抖動(dòng)問(wèn)題依然要靠軟件解決,在實(shí)際使用中也可根據需要由專(zhuān)用芯片改進(jìn)設計。
3.A/D采樣式具有優(yōu)先級的鍵盤(pán)編碼設計
很多的新型51單片機、ARM等微控制器都集成了A/D功能,而且往往A/D通道較多。所以在數字端口資源緊張而模擬端口資源充裕的情況下可考慮采用模擬通道作為部分按鍵的接口。該方法可在不增加成本的情況下,可有效的擴充按鍵資源,設計電路如圖5所示,其中分壓電阻的選取要特別注意,一定要保證在不同按鍵按下時(shí),A/D端口的得到電壓要有充分的間隙,并適當減小接地電阻阻值。由電路分析可知,這種按鍵組合具有優(yōu)先權問(wèn)題,KEY3的優(yōu)先權最高,所以當KEY3按下時(shí),KEY1、KEY2實(shí)際上被屏蔽了。
圖.5 A/D采樣式優(yōu)先權編碼鍵盤(pán)接口
由于A(yíng)/D接口表面上為多通道設計,而在芯片內部往往只有一個(gè)A/D轉換器通過(guò)模擬開(kāi)關(guān)切換通道選擇,所以在軟件設計上要注意保證A/D通道的穩定時(shí)間,即通道切換后要等待幾個(gè)時(shí)鐘周期才能啟動(dòng)A/D得到有效值。對于這種模擬按鍵的抖動(dòng)處理比數字按鍵要煩瑣,首先硬件上要保證各按鍵電平之間有充裕寬度,即充足的A/D冗余位數來(lái)“防抖”。其次,由于分布電容、機械振動(dòng)和接觸電阻等的影響,會(huì )導致按鍵電平抖動(dòng),出現瞬時(shí)偏低的現象,所以可采用連續快速多次轉換取最大值的方法判定有效鍵。
評論