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