这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 单片机如何通过ADC模块采集模拟信号?

共5条 1/1 1 跳转至

单片机如何通过ADC模块采集模拟信号?

高工
2019-08-16 23:03:29     打赏

image.png

单片机的模数转换接口(ADC - Analog-to-Digital Converter)将外部的模拟量信号转化为数字信号,因单片机属于数字器件,需将模拟信号转化为数字信号才能够进行处理。目前市场上的很多单片机都自带ADC转换接口,若无ADC转换接口,可以使用ADC模数转换芯片外扩。

ADC模块是将模拟信号转化位数字信号,为用0和1表示的数字信号。对于一个12位ADC(ADC的位数表示将模拟量转换成数字量后所用的二进制位数),可储存数字量范围为:(二进制)000000000000~111111111111,转换为十进制数字范围为0~2^12即0~4095。假设它的参考电压是5V,也就是说把参考电压分为2^12份即4096份,最小分辨率为VREF/4096。也就是说二进制的000000000000代表输入模拟量0V,而111111111111代表最大值VREF

image.png

以上图C8051单片机为例子。如原理图所示,该单片机工作电源为3.3V,参考电压为2.048V,所以模拟量的输入范围为0~2.048V。若所需采集的电压范围大于参考电压值,可以使用电阻分压进行降压或者使用运放进行缩小等。

该单片机ADC为12位的,也就是说输入电压为0时,单片机转换后的数字量结果为000000000000(二进制),当输入电压为2.048V时,单片机转换后的数字量结果为111111111111(二进制),十进制为4095。

也就是说,输入电压的值V=2.048×ADC采集到的数字量÷4095。

比如我们要采集一个0~10V范围的模拟量电压,那么,可以先将0~10V的电压缩小5倍,可以使用电阻分压,也可以采用运放缩小等方式,然后接入单片机的ADC采样口,可以接入上图的P2.2口。

最后换算公式为:V= result*2.048/4095*5;其中,result为单片机采集到的数字量。

转帖自网络



院士
2019-08-17 07:29:14     打赏
2楼

有一个叫做逐步逼近的方法


工程师
2019-08-17 11:47:07     打赏
3楼

学习


工程师
2019-08-17 12:06:53     打赏
4楼

了解


高工
2019-08-17 22:39:04     打赏
5楼

逐步逼近是什么方法


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]