产品选型

51单片机ad转换程序 什么是单片机ad转换,单片机ad转换处理方法

小编 2024-10-06 产品选型 23 0

什么是单片机ad转换,单片机ad转换处理方法

1、什么是AD转换

A是模拟信号的意思,D是数字信号的意思,AD转换就是模数转换,顾名思义,就是把模拟信号转换成数字信号,例如把电压值转化为数字信号。

2、为什么要AD转换

单片机(以及其他处理器)只能处理数字信号,当单片机想要获取电路上某一点的电压值时,就得用到AD转换了,如果你直接把单片机的引脚接到电路这个点上,单片机只知道这个点的电压是低电平还是高电平,又怎么能得到他的电压值呢?例如数字式的万用表,它测量电压时,先有一个AD转换电路,把电压值转换成一个数值,然后把这个值送个单片机(当然万用表里的用的处理芯片不是单片机),单片机经过计算处理后,再把这电压值显示到显示到屏幕上。不过现在有一些比较强的单片机,其内部已经集成了AD转换器,不需要你再外接AD转换芯片。

3、8位16位的ad转换芯片是什么意思

8位,16位就代表了AD转换芯片的转换分辨率,数字越大,分辨率越高,同时也反映了它的精度,数字越大,精度相对也越高。8位算是最低了,有些单片机里集成的AD转换器一般是10位的。12位和16位的芯片价格就比较贵了。

4、分辨率

举个简单的例子,8位芯片只能转换最小到0.01V的电压,而12位的芯片却能转换最小到0.001V的电压,如果一个电压为3.359V,8位芯片转出来后的数值是3.35V,12位芯片转换出来后是3.359V,精度比8位就高一个档次了。(注:这里数值不是正确的数值,举例用,切勿实际使用)

5、采样

采样是AD转换的速度性能指标,通俗的说就是每秒里能采样多少次,采样次数越高芯片性能越好。如果对采样不理解,也可以用另一种方式理解,就是一个AD转换芯把电压值转换成数字值这个过程所需要的时间,时间越短越好。

6、精度

精度是AD芯片的一个重要参数,表示采集到的数据和真实值之间的相差的程度。例如单片机转换出来的结果是0.3V,而实际可能是0.31V,这样就相差了0.01V。这种误差是不可避免无法消除的。这和在第3点中提到的位数有关,位数越高,这样的误差越小。

单片机内集成的A/D转换,一般都有相应的特殊功能寄存器来设置A/D的使能标志,参考电压,转换频率,通道选择,A/D输入口的属性(模拟量输入还是普通的I/O口),启动,停止控制等。有了这些寄存器,使得我们控制单片机的模拟量采集变得非常方便。

A/D转换的基本原理是:将参考电平按最大的转换值量化,再利用输入模拟电平与参考电平的比例来求得输入电平的测量值(V测=V参*(AD量化值/AD转换的最大值))。有些MCU A/D转换的参考电平可以选择由一个外部引脚输入,这样使得用户可以对A/D转换进行更好的控制。值得注意的一点就是A/D转换的输入电平必须比参考电平低或相等,不然测试的结果就会有很大的偏差。

下面以参考电平为5V,转换的精度为8位为例来说明如何取得实际的测量值是多少。如果AD量化值为128,则V测= 5*128/256=2.5V。因为V测=V参*(AD量化值/AD转换的最大值)=AD量化值*(V参/AD转换的最大值),而针对具体的硬件电路,“V参/AD转化的最大值”是一个固定的系数。而这个系数,就相当于测试的精度了。对于10位的A/D,5V的参考电压的测试精度约5毫伏,而用2.048伏的参考电压,精度就可以达到2毫伏。当然测试的电压范围相应的也减小了。我曾经就用这种减小测量范围来提高精度,使用PIC16F76做A/D测量,使得正负误差不超过5毫伏的高精度测试电源。当误差超过5毫伏时,电路发出报警声,提示操作员,重新调解电压到规定范围内。

然而,即使使用同样一款MCU,不同的软硬件设计者,使得A/D转换的效果相差也甚远。主要是很多新手在处理上有些不当,不是直接把一次转换后的结果拿来处理并做相应的显示,就是对参考电平不做处理。所以使得显示效果老是变化不定,给人一种不稳定的感觉。

针对参考电平设在单片机内部的MCU,主要是要对A/D的量化值做数字滤波处理,比如多次间隔采样,再求平均等。而针对参考电压可以从外部输入脚引入的,最好单独设置一组高稳定度的参考电压,如TL431等。这样,即使MCU的主电源有些波动也不会导致A/D转换值的漂移。其实在没有高精度参考电压的情况下,或者A/D量化值很不稳定的情况下,

我们依然可以通过软件的方法将与A/D转换有关的显示或其他的驱动做得非常稳定。这就要看程序员的设计经验了。

单片机AD模数转换教程

一、A/D转换器的主要技术指标

1、分辨率

ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常用二进制的位数表示。例如12位ADC的分辨率就是12位,或者说分辨率为满刻度的1/(2^12)。

一个10V满刻度的12位ADC能分辨输入电压变化最小值是10V×1/(2^12 )=2.4mV。

2、量化误差

ADC把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。量化误差是ADC的有限位数对模拟量进行量化而引起的误差。实际上,要准确表示模拟量,ADC的位数需很大甚至无穷大。一个分辨率有限的ADC的阶梯状转换特性曲线与具有无限分辨率的ADC转换特性曲线(直线)之间的最大偏差即是量化误差。

3、偏移误差

偏移误差是指输入信号为零时,输出信号不为零的值,所以有时又称为零值误差。假定ADC没有非线性误差,则其转换特性曲线各阶梯中点的连线必定是直线,这条直线与横轴相交点所对应的输入电压值就是偏移误差。

4、满刻度误差

满刻度误差又称为增益误差。ADC的满刻度误差是指满刻度输出数码所对应的实际输入电压与理想输入电压之差。

5、线性度

线性度有时又称为非线性度,它是指转换器实际的转换特性与理想直线的最大偏差。

6、绝对精度

在一个转换器中,任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值,称为绝对精度。对于ADC而言,可以在每一个阶梯的水平中点进行测量,它包括了所有的误差。

7、转换速率

ADC的转换速率是能够重复进行数据转换的速度,即每秒转换的次数。而完成一次A/D转换所需的时间(包括稳定时间),则是转换速率的倒数。

逐次逼近式ADC的转换原理

双积分式ADC的转换原理

如果要检测转换电位器模拟信号,控制字命令寄存器值为0X94或者0XB4.

如果要检测转换热敏电阻模拟信号,控制字命令寄存器值为0XD4.

如果要检测转换光敏电阻模拟信号,控制字命令寄存器值为0XA4.

如果要检测转换AIN3通道上模拟信号,控制字命令寄存器值为0XE4.

相关问答

51单片机 AD转换程序 _作业帮

[最佳回答]#include#defineucharunsignedchar#defineuintunsignedintsbitwr=P2^6;sbitrd=P2^7;sbitadint=P2...

ad转换 方法

[回答]ad转换方法:1、对于ALE信号是上升沿有效,锁存地址并选中相应通道。clk:时钟信号,可由单片机ale信号分频得到。2、而对于ST信号来说是下将沿有效有...

STC89C 51单片机 怎么使用内部 AD转换 ?

STC官网上有例子的,大概有以下几个过程:ADC_CONTR=ADC_CONTR|0X80;//10000000开启转换电源Delay1ms(1);//延时,等待内部电源稳定//P1M0=P1M...

有关 51单片机AD转换 接口中,采样、保持电路的作用是什么?省略...

[最佳回答]1采样、保持电路的作用:快速采样然后保持该采样值在AD转换的时间内不变,快速采样可以得到理想的(能反映原模拟信号特征)的采样信号;保持该采样值不...

51单片机AD转换 不稳定?

单片机一般的ADC是没有问题的,我觉得很有可能是下述原因之一:1.是不是电平有跳动的不稳定,比如输入电平抖动(干扰导致),你只是肉眼没看出来而已,所以认为...

51单片机ad 模块接法?

51单片机AD模块接法是指将外部输入信号通过模块转换为数字信号,再由单片机处理的一种方式。具体接法如下:1.将AD转换模块的输入端线连接到外部模拟信号的输...

STC的 51单片机 AD转换 速度是250KHz,即一秒是250000次,这个速率是指转换一个位,还是 转换 10个位?

首先你要明白ADC的时钟概念:时钟频率为250KHz,意思是一秒钟转换250000次,而每次转换的数据是根据你ADC的精度来算的。比如你的ADC是8位的,就是每次转换8个...

什么是 AD 连续 转换 (单片机自带)?和单次 转换 过程上有什么区别?STC12C5616 AD单片机 支不支持连续AD?

连续转换就是ADC完成一次转换之后自动开始下一次转换,不需要再次启动ADC的工作。单次转换就是软件触发后,ADC转换一次停下,等待下一次触发。STC12单片机的ADC...

AD 9850产生正选信号的外围电路和 程序 单片机 51 ?

因为AD9850可以直接产生正弦波等常见波形用单片机的...直接对调制信号进行相位比较,外部电路简单,实现方便。因为AD9850可以直接产生正弦波等常见波形用单片...

压频(V/F) 转换 器件( AD 650)代替A/D器件的原理是什么?V/F器件如何和 单片机 配合工作,完成A/D 转换 任务?

所谓压频(V/F)转换器件就是将模拟电压信号转变为频率信号,通过数字电路测量其频率可运算出输入的模拟电压信号大小,因此,其作用于A/D器件相似。V/F器件与单...

猜你喜欢