单片机怎么采集数据?单片机如何处理ADC采样数据?

访客4年前黑客资讯889

单片机工程师在面试的过程中,经常会碰到一些相同的问题,笔者总结了十个提问率较高的问题,供大家参考。现在我们来分析单片机工程师常遇面试问题之五:单片机如何处理ADC采样数据?

前面作者有文章介绍了单片机是如何采样电压和电流的,如有不了解单片机ADC采样原理的小伙伴可以点击我的头像进入我的主页查看文章"单片机是如何采样电流?"。

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

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

单片机如何处理ADC采样数据?

图(1)参考程序

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

相关文章

什么是单片机(它由哪几部分组成的)

什么是单片机(它由哪几部分组成的)

单片机是单片微型计算机的简称,由于单片机主要用于控制领域,所以国际上通常将单片机称作微型控制器,单片机与微型计算机都是由CPU、存储器和输入/输出接口等组成的,但两者又有所不同,微型计算机和单片机的基...

什么是单片机?单片机是什么?和PLC相比哪个更好

什么是单片机?单片机是什么?和PLC相比哪个更好

什么是单片机(单片机是什么?和PLC相比哪个更好)单片机是微型计算机系统,属于微控制器的其中一种,PLC的全称是可编程逻辑控制器,从名字上来看这二者肯定有相通之处,但又互相区别。   对于单片...

pc机是什么?单片机与PC机的区别及用途解析

pc机是什么?单片机与PC机的区别及用途解析

随着社会的发展和需求的提高,计算机也在不断地更新与发展。由于计算机的产生是应数值计算而产生的,因此长期以来电子计算机技术都是沿着满足大量高速数值计算而发展的,直到20世纪70年代,电子计算机在数字逻辑...

什么是嵌入式开发?到底什么是嵌入式?什么是单片机?

什么是嵌入式开发?到底什么是嵌入式?什么是单片机?

什么是嵌入式开发(到底什么是嵌入式?什么是单片机?)凡是从事计算机或电子信息相关领域工作的童鞋,一定都听说过嵌入式和单片机吧? 很多人应该知道,这两个名词和硬件系统有着非常密切的关系。一听到它们,就...