zxc2012第11章AD DA转换接口_第1页
zxc2012第11章AD DA转换接口_第2页
zxc2012第11章AD DA转换接口_第3页
zxc2012第11章AD DA转换接口_第4页
zxc2012第11章AD DA转换接口_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第11章:AT89S51单片机与D/A、A/D转换器的接口,张勋hangxuncai,内容概要在单片机测控系统中,被测量的温度、压力、流量、速度等非电物理量,须经传感器先转换模拟电信号,必须转换成数字量后才能在单片机中用软件进行处理。模拟量转换成数字量的器件为A/D转换器(ADC)。单片机处理完毕的数字量,有时需转换为模拟信号输出。器件称为D/A转换器(DAC)。本章介绍典型的ADC、DAC集成电路芯片,以及与单片机的硬件接口设计及软件设计。,2,11.1AT89S51与DAC的接口,输入:数字量,输出:模拟量。转换过程:送到DAC的各位二进制数按其权的大小转换为相应的模拟分量,再把各模拟分量叠加,其和就是D/A转换的结果。,使用D/A转换器时,要注意区分:,*D/A转换器的输出形式;,*内部是否带有锁存器。,11.1.1D/A转换器的原理及主要技术指标,3,电压输出电流输出,*与单片机的接口形式,并行接口UART串行口I2C串行口SPI串行口,型电阻网络D/A转换器:,虚地,1、D/A转换器的基本原理,11.1AT89S51与DAC的接口,4,注:因使用反相比例放大器来实现电流到电压的转换,所以输出模拟信号(VO)的极性与参考电压(VREF)极性相反。,n位数字量B与模拟量的关系式:当,11.1AT89S51与DAC的接口,5,2.主要技术指标,(1)分辨率(Resolution),输入给DAC的单位数字量变化引起的模拟量输出的变化,通常定义为输出满刻度值与2n之比。显然,二进制位数越多,分辨率越高。,例如,若满量程为10V,根据定义则分辨率为10V/2n。设8位D/A转换,即n=8,分辨率为10V/2n=39.1mV,该值占满量程的0.391%,用1LSB表示。,同理:10位D/A:1LSB=9.77mV=0.1%满量程12位D/A:1LSB=2.44mV=0.024%满量程,根据对DAC分辨率的需要,来选定DAC的位数。,11.1AT89S51与DAC的接口,6,(2)建立时间(EstablishingTime),描述DAC转换快慢的参数,表明转换速度。定义:为从输入数字量到输出达到终值误差(1/2)LSB(最低有效位)时所需的时间。电流输出时间较短,电压输出的,加上I-V转换的时间,因此建立时间要长一些。快速DAC可达1s以下。,11.1AT89S51与DAC的接口,7,(3)转换精度理想情况下,转换精度与分辨率基本一致,位数越多精度越高。但由于电源电压、基准电压、电阻、制造工艺等各种因素存在着误差;相同位数的不同转换器转换精度会有所不同。例如,某种型号的8位DAC精度为0.19%,而另一种型号的8位DAC精度为0.05%。,DAC0832是使用非常普遍的位D/A转换器,由于其片内有输入数据寄存器,故可以直接与单片机接口。DAC0832以电流形式输出,当需要转换为电压输出时,可外接运算放大器。属于该系列的芯片还有DAC0830、DAC0831,它们可以相互代换。DAC0832主要特性:,分辨率位;电流建立时间S;数据输入可采用双缓冲、单缓冲或直通方式;输出电流线性度可在满量程下调节;逻辑电平输入与TTL电平兼容;单一电源供电(5V15V);低功耗,20m。,11.1.2AT89S51与8位D/A转换器0832的接口设计,1.DAC0832芯片介绍,8,DAC0832的逻辑结构:,带圆圈,用于存放待转换的数字量,用于存放单片机送来的数字量,9,10,(2)DAC0832的引脚及逻辑结构,引脚:,11,2.DAC的应用,(1)单极性电压输出,单极性模拟电压输出,可采用图11-5或图11-9所示接线。输出电压Vout与输入数字量B的关系:,Vout=-(B/256)VRFE式中,B=b727+b626+b121+b020;,B为0时,Vout也为0,输入数字量为255时,Vout为最大值,单极性。,12,双极性电压输出,采用图11-3接线:,Vout=(B-128)(VREF/128),由上式,在选用+VREF时,(1)若输入数字量b71,则Vout为正;(2)若输入数字量b70,则Vout为负。在选用-VREF时,Vout与+VREF时极性相反。,(2)双极性电压输出,-VREF0,13,3.AT89S51与DAC0832的接口电路,有3种工作方法:直通方式、单缓冲方式和双缓冲方式。,14,地址FEH,MOVR0,#0FEH;DAC地址FEHR0,MOVXR0,A;WR*和译码器FEH输出端有效,(2)单缓冲方式,15,例DAC0832用作波形发生器。分别写出产生锯齿波、三角波和矩形波的程序。,(1)锯齿波的产生,ORG2000H,START:MOVR0,#0FEH;DAC地址FEHR0,MOVA,#00H;数字量A,LOOP:MOVXR0,A;数字量D/A转换器,INCA;数字量逐次加1,SJMPLOOP,每一上升斜边分256个小台阶,每个小台阶暂留时间为执行后三条指令所需要的时间。,16,(2)三角波的产生,ORG2000H,START:MOVR0,#0FEH,MOVA,#00H,UP:MOVXR0,A;三角波上升边,INCA,JNZUP,DOWN:DECA;A=0时再减1又为FFH,MOVXR0,A,JNZDOWN;,三角波下降边,SJMPUP,17,(3)矩形波的产生,ORG2000H,START:MOVR0,#0FEH,LOOP:MOVA,#data1,MOVXR0,A;置矩形波上限电平,LCALLDELAY1;调用高电平延时程序,MOVA,#data2,MOVXR0,A;置矩形波下限电平,LCALLDELAY2;调用低电平延时程序,SJMPLOOP;重复进行下一个周期,DELAY1、DELAY2为两个延时程序,决定矩形波高、低电平时的持续时间。频率也可采用延时长短来改变。,18,练习D/A转换程序,用DAC0832输出0+5V锯齿波,电路为单缓冲方式。设VREF=-5V,若DAC0832地址为7FFFH,脉冲周期要求为100ms。,DACS:MOVDPTR,#7FFFH;0832I/O地址MOVA,#00H;开始输出0VDACL:MOVXDPTR,A;D/A转换INCA;升压ACALLDELAY;延时100ms/256:决定锯齿波的周期AJMPDACL;连续输出DELAY:;延时子程序,19,(3)双缓冲方式,图11-7中DAC输出的VX和VY信号要同步,控制X-Y绘图仪绘制的曲线光滑,否则绘制的曲线是阶梯状。多路同步输出,必须采用双缓冲同步方式。,1#DAC0832因和译码器FDH相连,占有两个端口地址FDH和FFH。2#DAC0832的两个端口地址为FEH和FFH。其中,FDH和FEH分别为1#和2#DAC0832的数字量输入控制端口地址,而FFH为启动D/A转换的端口地址。,20,若把图11-7中DAC输出的模拟电压Vx和Vy来控制X-Y绘图仪,则应把Vx和Vy分别加到X-Y绘图仪的X通道和Y通道,而X-Y绘图仪由X、Y两个方向的步进电机驱动,其中一个电机控制绘笔沿X方向运动;另一个电机控制绘笔沿Y方向运动。,21,例11-2内部RAM中两个长度为20的数据块,起始地址为分别为addr1和addr2,编写能把addr1和addrr2中数据从1#和2#DAC0832同步输出的程序。addr1和addr2中的数据,为绘制曲线的X、Y坐标点。,DAC0832各端口地址:,FDH:1#DAC0832数字量输入控制端口,FEH:2#DAC0832数字量输入控制端口,FFH:1#和2#DAC0832启动D/A转换端口,工作寄存器0区的R1指向addr1;1区的R1指向addr2;0区的R2存放数据块长度;0区和1区的R0指向DAC端口地址。程序为:,22,ORG2000H,addr1DATA20H;定义存储单元addr2DATA40H;定义存储单元,DTOUT:MOVR1,#addr1;0区R1指向addr1MOVR2,#20;数据块长度送0区R2SETBRS0;切换到工作寄存器1区MOVR1,#addr2;1区R1指向addr2CLRRS0;返回0区,NEXT:MOVR0,#0FDH;0区R0指向1#DAC0832;数字量控制端口MOVA,R1;addr1中数据送AMOVXRO,A;addr1中数据送1#DAC0832,INCR1;修改addr1指针0区R1,23,数据地址赋值伪指令DATA:将表达式指定的数据地址赋予规定的字符名称,SETBRS0;转1区。MOVR0,#0FEH;1区R0指向2#DAC0832数字量;控制端口MOVA,R1;addr2中数据送AMOVXR0,A;addr2中数据送2#DAC0832,INCR1;修改addr2指针1区R1INCR0;1区R0指向DAC的启动D/A转换端口,MOVXR0,A;启动DAC进行转换,CLRRS0;返回0区,DJNZR2,NEXT;若未完,则跳NEXTLJMPDTOUT;若送完,则循环,END,24,11.1.3AT89S51与12位D/A转换器AD667的接口设计,8位分辨率不够时,可以采用高于8位分辨率的DAC,AD667是一种分辨率为12位的并行输入、电压输出型D/A转换器,建立时间3s。,25,图11-14所示为AT89S51单片机与AD667的接口电路。,26,图11-14AD667与AT89S51单片机的接口电路,11.2AT89S51单片机与ADC的接口,11.2.1A/D转换器概述,A/D转换器的分类,27,目前使用较广泛的有:逐次比较式转换器、双积分式转换器、-式转换器和V/F转换器。,逐次比较型:精度、速度和价格都适中,是最常用的A/D转换器件。,双积分型:精度高、抗干扰性好、价格低廉,但转换速度慢,得到广泛应用。,-型:具有积分式与逐次比较式ADC的双重优点。对工业现场的串模干扰具有较强的抑制能力,不亚于双积分ADC,但比双积分ADC的转换速度快,与逐次比较式ADC相比,有较高的信噪比,分辨率高,线性度好不需采样保持电路。因此,-型得到重视。,V/F转换型:适于转换速度要求不太高,远距离信号传输。,28,29,2.A/D转换器的主要技术指标,转换时间和转换速率,完成一次转换所需要的时间。转换时间的倒数为转换速率。,(2)分辨率,用输出二进制位数或BCD码位数表示。例如AD574,二进制12位,即用212个数进行量化,分辨为1LSB,百分数表示1/212=0.24。,又如双积分式A/D转换器MC14433,分辨率为三位半。若满字位为1999,其分辨率为1/1999=0.05%。,(3)转换精度,定义为一个实际ADC与一个理想ADC在量化值上的差值。可用绝对误差或相对误差表示。,3.A/D转换器的选择,按输出代码的有效位数分:8位、10位、12位等。,按转换速度分为超高速(1ns)、高速(1s)中速(1ms)、低速(1s)等。,为适应系统集成需要,将多路转换开关、时钟电路、基准电压源、二/十进制译码器和转换电路集成在一个芯片内,为用户提供方便。,30,(1)A/D转换器位数的确定,系统总精度涉及的环节较多:传感器变换精度、信号预处理电路精度和A/D转换器及输出电路、控制机构精度,还包括软件控制算法。,A/D转换器的位数至少要比系统总精度要求的最低分辨率高1位,位数应与其他环节所能达到的精度相适应。只要不低于它们就行,太高无意义,且价高。,8位以下:低分辨率,912位:中分辨率,13位以上:高分辨率。,31,(2)A/D转换器转换速率的确定,从启动转换到转换结束,输出稳定的数字量,需要一定的时间,这就是A/D转换器的转换时间。,低速:转换时间从几ms到几十ms。,中速:逐次比较型的A/D转换器的转换时间可从几s100s左右。,高速:转换时间仅20100ns。适用于雷达、数字通讯、实时光谱分析、实时瞬态纪录、视频数字转换系统等。,如用转换时间为100s的集成A/D转换器,其转换速率为10千次/秒。根据采样定理和实际需要,一个周期的波形需采10个点,最高也只能处理1kHz的信号。把转换时间减小到10s,信号频率可提高到10kHz。,32,(3)是否加采样保持器,直流和变化非常缓慢的信号可不用采样保持器。其他情况都要加采样保持器。,根据分辨率、转换时间、信号带宽关系,是否要加采样保持器:如果是8位ADC,转换时间100ms,无采样保持器,信号的允许频率是0.12Hz;如果是12位ADC,该频率为0.0077Hz。如果转换时间是100s,ADC是8位时,该频率为12Hz,12位时是0.77Hz。,(4)工作电压和基准电压,选择使用单一+5V工作电压的芯片,与单片机系统共用一个电源就比较方便。在要求较高精度时,基准电压要单独用高精度稳压电源供给。,33,11.2.2AT89S51与逐次比较型8位A/D转换器ADC0809的接口ADC0809是逐次比较型8路模拟输入、8位数字量输出的A/D转换器片内带有锁存功能的8选1模拟开关,由CBA的编码来决定所选的通道,完成一次转换需100s左右(转换时间与CLK脚的时钟频率有关),具有输出TTL三态锁存缓冲器,可直接连到单片机数据总线上。通过适当的外接电路,ADC0809可对05V的模拟信号进行转换。,34,(1)IN0IN7:8路模拟信号输入端。,(2)D0D7:8位数字量输出端。,(3)C、B、A:控制8路模拟通道的切换,(5)OE、START、CLK:控制信号端,OE为输出允许端,START为启动信号输入端,CLK为时钟信号输入端。,(4)VR(+)和VR(-):参考电压输入端。,ADC0809的引脚,35,主要性能为:分辨率为位;精度:ADC0809小于1LSB(ADC0808小于1/2LSB);单+5V供电,模拟输入电压范围为05V;具有锁存控制的路输入模拟开关;可锁存三态输出,输出与TTL电平兼容;功耗为15mW;不必进行零点和满度调整;转换速度取决于芯片外接的时钟频率。时钟频率范围:101280KHz。典型值为时钟频率640KHz,转换时间约为100S。,36,查询、中断?,AT89S51单片机与ADC0809的接口,37,首先用指令选择0809的一个模拟输入通道,当执行MOVXDPTR,A时,单片机的WR*信号有效,产生一个启动信号给0809的START脚,对选中通道转换。,转换结束后,0809发出转换结束EOC信号,该信号可供查询,也可向单片机发出中断请求;当执行指令:MOVXA,DPTR,单片机发出RD*信号,加到OE端高电平,把转换完毕的数字量读到A中。,查询方式是在单片机把启动信号送到ADC之后,执行其他程序,同时对ADC0809的EOC脚不断进行检测,以查询ADC变换是否已经结束,如查询到变换已经结束,则读入转换完毕的数据。,中断控制方式是在启动信号送到ADC之后,单片机执行其他程序。ADC0809转换结束并向单片机发出中断请求信号时,单片机响应此中断请求,进入中断服务程序,读入转换完毕的数据。,38,MAIN:MOVR1,#DATA;置数据区首地址MOVDPTR,#7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论