【物盡其用】ADKEY多按鍵製作與經驗分享

在開發中,如果需要使用多個按鍵時,使用ADKEY,往往可以節省很多IO口,可以節省資源。下面,簡單介紹一下ADKEY的使用與經驗分享。

ADKEY原理:

通過不同的電阻進行分壓,使每個key按下時,IO口讀到電壓值不同,來確認是KEYn。

ADKEY原理圖:


如上圖,當啓動KEY按下時,上拉電阻10K通過3K電阻與GND導通,ADKEY讀到電壓0.76V(理論值)。從而確認爲啓動按鍵按下。


程序設計經驗分享:

1,KEY的電壓,與電阻的精度有關係。如電阻均採用±5%精度。

根據原理圖,可得ADKEY的電壓計算公式爲:

Vad = Rn/(10+Rn) *3.3v;

以上述啓動KEY來說:

當上拉電阻精度爲+5%,3K精度爲- 5%時,按鍵按下時,AD讀取電壓爲2.85/(2.85+10.5)*3.3V = 0.705V,此時電壓最小;

當上拉電阻精度爲-5%, 3K精度爲+5%時,按鍵按下時,AD讀取電壓爲3.15/(3.15+9.5 )*3.3V  = 0.822V,此時電壓最大;

2,程序設計

由1得知,啓動按鍵的AD值範圍爲0.705V ≤ Vad ≤ 0.822V;

AD值讀取公式爲:Num = Vad / 參考電壓 * (採樣位數);Vad = Rn/(10+Rn) *3.3v;

A,如果ADKEY的參考電壓是內部的參考電壓,那麼你需要將AD值範圍設置寬一點,因爲3.3V有時候會因爲電路問題偏高或者偏低。

B,如果ADKEY的參考電壓是外部的3.3V,那麼則沒有影響,因爲讀取AD值的公式爲:

num =(Rn/(10+Rn) *3.3v ) / 3.3v * (採樣位數) = Rn/(10+Rn)  * (採樣位數)  ;  與電壓無關。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章