产品选型

单片机在ad中 单片机AD转换方法 为什么要AD转换?

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

单片机AD转换方法 为什么要AD转换?

单片机AD转换方法 为什么要AD转换?所有单片机一般只能处理数字信号。可是当单片机需要获取电路上的某一点电压值的时候,就必须使用AD转换。如果你直接把单芯片的引脚连接到电路的点上,单片机只知道这个点的电压是低的或高的,怎样才能得到它的电压值呢?比如数字万用表,它测量电压,先将AD转换电路,将电压值转换为一个值,然后将此值发送到单片机,单片机经过计算处理后,再将电压值显示到屏幕上。但现在有一些强大的单片机,其内部AD转换器已经集成,不需要你连接AD转换芯片。

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

1、分辨率

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

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

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

3、精度

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

单片机ad转换处理方法

4、采样

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

单片机内集成的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转换有关的显示或其他的驱动做得非常稳定。这就要看程序员的设计经验了。

51单片机之AD芯片

本文章,提供8、10、12位分辨率的AD芯片,与单片机的连接图,程序。

学生时代,在学校学的stc89c51,算是最简单入门的单片机了。有时候,要读取电压值,但是单片机处理的是数字信号,是不能直接读取模拟信的,这就需要我们在单片机外围接上AD芯片。

工业上,很多传感器的输出是4--20ma电流的。举个例子,电流传感器,测量范围1--100A, 对应输出就是4--20ma电流。那么,我们怎么测出输出电流,从而知道传感器的输入电流多大呢?

很简单,在传感器的输出,接上一个250欧姆的电阻,根据U=IR,就可以把4-20ma的电流,转化为1--5V电压,通过AD芯片,单片机得出电压值,从而得到输出电流值,再根据传感器输入电流和输出电流的对应公式,程序写好,我们就可以得到电流传感器所测到的输入电流了。

好吧,废话少说,与其飞飞在这“长篇大论”,说那么多,有什么用呢,是吧?还不如直接上图、给程序来得痛快。

(1) 8位串行模数转换器:TLC549

TCL549与单片机连接图

驱动程序

假如所测真实电压是1.234V,为什么返回是1234,而不是1.234呢? 很简单:

ad_value/1000,可以得到千位数字1;

ad_value/100%10,可以得到百位数字2;

ad_value/10%10,可以得到十位数字3;

ad_value%10,可以得到个位数字4。这样数码管就可以显示出我们所测电压值了。

(2)10位串行模数转换器 :TLC1543

看图,这个芯片,可以测11路输入:

TLC1543与单片机连接图

TL1543驱动

(3) 12位串行模数转换器 :MAX1241

max1241与单片机连接

max1241驱动

好吧,protues仿真一下(3)

检查一下,lcd显示,与MAX1241所测的模拟量,数据是一致的。

相关问答

单片机 怎么用 AD 测电阻?

电阻两端加上一个...忽略温度等因素的影响,直接采用串联电阻测电压的方法就可以。原理是采用一只高精度的已知阻值电阻[假设为R0],串联一只被测电阻[R1]将这...

AD 采样电流 单片机 控制?

这样好像是实现不了的,只能从0到20A,无法从15-20A。如果ADC是5V的输入范围,那就是说明参考源是5V的,在这种情况下使用串联在回路中的电阻来分得5V电压才能测...

单片机AD 检测,电压不共地单片机自带 AD 检测,但是检测电压和单...

[最佳回答]1.最简单共地测量(有些场合,可以共地的);2.若不想共地既然隔离,必须用数字通信方式传递模拟量,必定目标板有将电压信号转换为数字信号装置;目标板增...

什么是 单片机AD 的输入?AD代表什么意思,AD输入是干嘛用的?

AD是模拟量输入,单片机内部处理的是数字量,AD是外部模拟量-------数字量的转换,DA是数字量-------外部模拟量的转换AD是模拟量输入,单片机内部处理的是数字量...

ad 可以仿真 单片机 吗?

你好,AD软件是一款电路仿真软件,可以模拟电路的运行情况,但是它不是专门用来仿真单片机的软件。如果需要仿真单片机,建议使用专门的单片机仿真软件,例如Keil...

8位 单片机 可以加多路 ad 采集芯片吗?

8位单片机可以加多路AD采集芯片。8位单片机加多路AD采集芯片实现方法有两种:1、如果8位单片机自带AD通道允许,则可以通过自带AD通道实现;2、如果AD通道不允...

ad 矩阵键盘怎么接入 单片机 ?

您好,ad矩阵键盘接入单片机的步骤如下:1.选择合适的ad矩阵键盘,根据需要确定键盘的行数和列数。2.将ad矩阵键盘的行和列分别连接到单片机的IO口上。3.在单...

51 单片机中 ucharidataad[10]的含义#include& lt;absacc.h& gt...

[最佳回答]ucharidataad[10]表示定义一个unsignedchar型的长度为10的数组,数组分配在idata也就是间接寻址访问的片内ram中不用改就行ucharidataad[10]表....

51 单片机 带几个 ad ?

51单片机现内部本身就含有AD模块了,一般有几路到几十路不等,要求精度高时才采用专业芯片。51单片机是对所有兼容Intel8031指令系统的单片机的统称。该系列单...

STC的 单片机 内部集成 AD 但是没有参考基准,参考基准是VDD,如何确保 AD 的精度呢?

STC内部的AD精度不高,使用VDD做基准问题不大。如果要提高精度,可以外接一个2.5V基准电压源到AD的一个输入端,在采样前、后分别对基准电压源进行AD转换,用得...

猜你喜欢