STC单片机通过ADC分段采样读按键实现方法

3 篇文章 2 订阅

STC单片机通过ADC分段采样读按键实现方法


✨在阅读官方FreeRTOS for STC32G12K128开源工程当中有使用到ADC键盘计算键码功能块,底层实现原理也很简单,就是通过串联电阻分压的方法。这种方法可以避免像矩阵按键那样占用很多单片机IO口,可以节省IO口,此方法也优于ADC触摸按键不准确的方法的缺陷,通过采集ADC引脚的电压值,经过AD转换为具体的数值。将这部分功能块和原理图提取和分离出来。

📓ADC读按键功能介绍

ADC键盘,按键使用导电膜.16个键,理论上各个键对应的ADC值为 (4096 / 16) * k = 256 * k, k = 1 ~ 16, 特别的, k=16时,对应的ADC值是4095.但是实际会有偏差,则判断时限制这个偏差, ADC_OFFSET为±偏差, 则ADC值在 (256k-ADC_OFFSET) 与 (256k+ADC_OFFSET)之间为键有效.间隔一定的时间,就采样一次ADC,比如10ms.为了避免偶然的ADC值误判, 或者避免ADC在上升或下降时误判, 使用连续3次ADC值均在偏差范围内时, ADC值才认为有效.以上算法, 能保证读键非常可靠.。
<
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值