【物尽其用】ADKEY多按键制作与经验分享

在开发中,如果需要使用多个按键时,使用ADKEY,往往可以节省很多IO口,可以节省资源。下面,简单介绍一下ADKEY的使用与经验分享。

ADKEY原理:

通过不同的电阻进行分压,使每个key按下时,IO口读到电压值不同,来确认是KEYn。

ADKEY原理图:

【物尽其用】ADKEY多按键制作与经验分享_第1张图片

如上图,当启动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)  * (采样位数)  ;  与电压无关。





你可能感兴趣的:(计算机)