单片机工程师在面试的过程中,经常会碰到一些相同的问题,笔者总结了十个提问率较高的问题,供大家参考 。现在我们来分析单片机工程师常遇面试问题之五:单片机如何处理ADC采样数据?
前面作者有文章介绍了单片机是如何采样电压和电流的,如有不了解单片机ADC采样原理的小伙伴可以点击我的头像进入我的主页查看文章"单片机是如何采样电流?" 。
首先一定有小伙伴有疑问,为什么还要对采样的数据进行处理呢?直接拿来用不行吗?对于这个问题,我的回答是不建议这样做,因为任何系统都会存在干扰,不进行处理就会有数据存在一定的误差 。那么我进行数据处理就是要尽量避免因外界干扰引起的误差 。
文章插图
在这里作者推荐两种方法,第一种方法是多次采样加权取平均,我相信很多朋友都可以想到这种方法,但在写程序的时候可以运用一些技巧,作者分享给你 。首先我们ADC采集8次数据并且对这8次数据累加(可以每1ms调用该函数),累加完成后将累加结果右移3位得到最后的采样结果 。当然这个方法还可以进一步改善,比如取样10次,然后去掉最大值和最小值,再对剩下的8次进行取平均 。下面贴出参考程序供小伙伴参考 。
文章插图
文章插图
图(1)参考程序
当然,第一种取平均的方法能够有效抑制干扰,但因为需要多次采样,更新数据的时间会很长,比如取样8次,每1ms取样一次,那么更新数据就需要8ms时间,所以对采样的数据实时性要求不是很高的系统才可以用这种方法 。所以我们第二种方法就是用在实时性比较高的系统 。作者推荐的是中值滤波的方法,实现思想就是取5个数据,每次采样的新数据替换掉最老的数据,然后把中间的那个数据当做是采样数据,这样不仅可以有效抑制干扰,而且响应速度快 。
【单片机怎么采集数据?单片机如何处理ADC采样数据?】郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢 。
- xps文件怎么打开?电脑如何编辑xps文件
- 孙尚香是谁?孙尚香怎么死的?
- 张勋复辟是怎么回事?张勋复辟在哪一年?
- 苹果怎么设置照片质量好 苹果怎么设置照片质量-
- 小龙虾有寄生虫吗 怎么辨别小龙虾是否熟了
- 自己在家怎么做小龙虾 小龙虾怎么做好吃
- 三文鱼蘸料怎么调制 三文鱼蘸什么好吃
- 怎么看小龙虾干不干净 小龙虾什么样的好
- 荔枝隔夜能吃吗 新鲜荔枝怎么保存
- 三大优点介绍 德立淋浴房怎么样