产品概述

单片机ad芯片 51单片机之AD芯片

小编 2024-10-09 产品概述 23 0

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转换方法 为什么要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转换有关的显示或其他的驱动做得非常稳定。这就要看程序员的设计经验了。

相关问答

为什么要 ad 转换才能输入 单片机 呢?8位16位的 ad 转换 芯片 是什...

[最佳回答]1,什么是AD转换?A是模拟信号的意思,D是数字信号的意思,AD转换就是模数转换,顾名思义,就是把模拟信号转换成数字信号,例如把电压值转化为数字信号.2,...

52 单片机 可以实现 ad 转换吗?

52单片机内部没有集成adc转换器,所以要想进行ad模数转换就必须外挂adc转换芯片。单片机与adc芯片的接口要看具体选用了哪种类型的转换芯片。52单片机集成了SP...

51 单片机 带几个 ad ?

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

stc12c5608 ad 是什么 单片机 ?

它是增强型51单片机,有AD功能,片上RAM768Byte所有IO端口可配置,高电平驱动能力达20mA,有EEPROM功能但管脚只有20个或者28个,因此可以减小体积内部有RC时钟电...

单片机AD 和ADC的区别?

在单片机中,AD和ADC实际上是同一种模数转换器的不同叫法,AD是AttackDamage的缩写,而ADC则是AttackDamageCarry的缩写。AD/ADC用于将模拟信号转换为数字信号....

单片机AD 和ADC的区别?

主要区别如下:1.AD通常指模拟量到数字量的转换过程,是一种广义的概念。ADC则特指执行AD转换的硬件模块,是AD概念的一种实现方式。2.单片机中的ADC模块内置...

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

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

这种音乐 芯片 怎么与 单片机 联接?-ZOL问答

这是音乐芯片本身就是四位机无需链接其他单片机就能工作,不知道你问的怎样链接单片机是想做什么呢?一类是并行接口的,比如CH375CH376CY7C68013等,还有一类...

20管脚 单片机芯片 5v供电的芯片-ZOL问答

STC系列有STC12C2052AD,STC5202AD,AT89C2051等.单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器...

ad 可以仿真 单片机 吗?

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

猜你喜欢