0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机处理ADC采样数据的方法

姚小熊27 来源:单片机技术交流站 作者:佚名 2019-11-02 10:47 次阅读

单片机如何处理ADC采样数据?首先一定有小伙伴有疑问,为什么还要对采样的数据进行处理呢?直接拿来用不行吗?对于这个问题,我的回答是不建议这样做,因为任何系统都会存在干扰,不进行处理就会有数据存在一定的误差。那么我进行数据处理就是要尽量避免因外界干扰引起的误差。

在这里作者推荐两种方法,第一种方法是多次采样加权取平均,我相信很多朋友都可以想到这种方法,但在写程序的时候可以运用一些技巧,作者分享给你。首先我们ADC采集8次数据并且对这8次数据累加(可以每1ms调用该函数),累加完成后将累加结果右移3位得到最后的采样结果。当然这个方法还可以进一步改善,比如取样10次,然后去掉最大值和最小值,再对剩下的8次进行取平均。下面贴出参考程序供小伙伴参考。

单片机处理ADC采样数据的方法

当然,第一种取平均的方法能够有效抑制干扰,但因为需要多次采样,更新数据的时间会很长,比如取样8次,每1ms取样一次,那么更新数据就需要8ms时间,所以对采样的数据实时性要求不是很高的系统才可以用这种方法。所以我们第二种方法就是用在实时性比较高的系统。作者推荐的是中值滤波的方法,实现思想就是取5个数据,每次采样的新数据替换掉最老的数据,然后把中间的那个数据当做是采样数据,这样不仅可以有效抑制干扰,而且响应速度快。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44514

    浏览量

    632939
  • adc
    adc
    +关注

    关注

    98

    文章

    6430

    浏览量

    544074
收藏 人收藏

    评论

    相关推荐

    基于STC8G8K64U单片机的高速ADC采样

    设计基于STC8G8K64U单片机的高速ADC采样板,可以为普通的电路实验提供快速波形采样的模块。
    的头像 发表于 04-28 11:12 8847次阅读
    基于STC8G8K64U<b class='flag-5'>单片机</b>的高速<b class='flag-5'>ADC</b><b class='flag-5'>采样</b>板

    基于单片机ADC采样设计

    在RA6M4处理器的ADC里,有两路ADC可以分别采样当前的CPU内部温度和参考电压值。
    的头像 发表于 12-19 09:23 1954次阅读
    基于<b class='flag-5'>单片机</b>的<b class='flag-5'>ADC</b><b class='flag-5'>采样</b>设计

    单片机是如何采样ADC值的?

    最近在调按键和电池,和ADC采集有很大关系。那么单片机是如何采样ADC值的呢,每个单片机ADC
    发表于 11-24 07:41

    怎样去测试STM32单片机ADC采样速率问题

    突然想测试一下STM32单片机ADC采样速率问题,按照常规方法,可以通过ADC采样,然后将
    发表于 02-22 06:28

    单片机ADC是同步采样吗?

    单片机ADC是同步采样
    发表于 10-12 07:58

    单片机调试中对RAM或Flash的A/D采样数据绘图处理技术

    通过比较图4和图5可以发现,经过A/D采样数据转换的值能正确复现原始模拟信号。该设计方法不但弥补了单片机调试平台对存储器内数据不能直接绘图的
    发表于 07-21 06:27 1124次阅读
    <b class='flag-5'>单片机</b>调试中对RAM或Flash的A/D<b class='flag-5'>采样</b><b class='flag-5'>数据</b>绘图<b class='flag-5'>处理</b>技术

    单片机采样模拟量数据方法

    单片机ADC接口属于模数转换接口,将外部的模拟量信号转化为数字信号,单片机属于数字器件,需将模拟信号转化为数字信号才能够为单片机处理。目前
    发表于 07-07 09:39 5846次阅读

    STC12C4052ADSTC单片机ADC采样C程序

    STC12C4052ADSTC单片机ADC采样C程序(罗马仕电源技术偏执狂价格)-STC12C4052ADSTC单片机ADC
    发表于 09-18 10:27 55次下载
    STC12C4052ADSTC<b class='flag-5'>单片机</b><b class='flag-5'>ADC</b><b class='flag-5'>采样</b>C程序

    AVR单片机教程--AVR单片机ADC

    AVR单片机教程--AVR单片机ADC(实用电源技术答案)-该文档为AVR单片机教程--AVR单片机
    发表于 09-24 15:49 66次下载
    AVR<b class='flag-5'>单片机</b>教程--AVR<b class='flag-5'>单片机</b>的<b class='flag-5'>ADC</b>

    AVR单片机ADC采样编程需要注意的问题

    AVR单片机ADC采样编程需要注意的问题10位ADC高6位没有使用,所以取值时应首先做:ADCH & 0X03取低两位,屏蔽高6位
    发表于 11-14 20:51 2次下载
    AVR<b class='flag-5'>单片机</b><b class='flag-5'>ADC</b><b class='flag-5'>采样</b>编程需要注意的问题

    单片机ADC采样算法----平均值采样

    单片机在模拟电路中使用的时候,经常需要用到AD功能,而通过单片机ADC采集回来的数据往往不能直接使用,在不同场合下需要对采集到的数据要通过不
    发表于 11-15 15:06 26次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>ADC</b><b class='flag-5'>采样</b>算法----平均值<b class='flag-5'>采样</b>法

    解决STM32单片机ADC采样不准确偏移的问题

    项目场景:用STM32CubeMX生成的ADC采样测量电压。单片机:STM32G070MDK:V5.25问题描述:采样回来的数值Debug看总是大了些许,几个通道都是这样,具体测试情况
    发表于 11-16 20:36 19次下载
    解决STM32<b class='flag-5'>单片机</b>的<b class='flag-5'>ADC</b><b class='flag-5'>采样</b>不准确偏移的问题

    STM32单片机实现DMA+ADC+UART功能

    突然想测试一下STM32单片机ADC采样速率问题,按照常规方法,可以通过ADC采样,然后将
    发表于 12-28 19:25 34次下载
    STM32<b class='flag-5'>单片机</b>实现DMA+<b class='flag-5'>ADC</b>+UART功能

    单片机ADC采样输入阻抗怎么匹配

    单片机ADC采样输入阻抗怎么匹配
    的头像 发表于 05-17 17:00 9244次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>ADC</b><b class='flag-5'>采样</b>输入阻抗怎么匹配

    单片机采样电压问题 单片机的供电电压过低对单片机AD采样有影响吗

    单片机采样电压问题 单片机的供电电压过低对单片机AD采样有影响吗? 单片机的AD
    的头像 发表于 10-17 18:17 2497次阅读