用一个IO口控制几个按键的方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用一个IO口引脚控制几个按键的方法
这个方法是利用电阻的分压和ADC的电压采集。
使用方法:
用ADC采集电压,根据电压分析哪个键被按下:
没按键按下:ADC = 0V
K1被按下:ADC = DVCC * R26 / (R26 + R29)
K2被按下:ADC = DVCC * R32 / (R32 + R29)
……
使用注意:
ADC测到的电压值只是大约的范围,例如假如上面K1算得1.0V,那么实际可能是在0.9V~1.1V之间波动;
电路中的电阻应合理计算,使各按键对应的电压值均匀分布在 0~DVCC之间;
矛盾是普遍存在的,节省IO口的同时会带来其它的付出:要进行AD转换占用CPU资源,电路上多了些电阻复杂点了。。。
这个方法在网上偶然发现想到的,分享一下
--------QinZhengye