10单片机与AD DA的接口电路

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

单片机原理单片机原理任课教师:朱奇光E-MAIL:zhu7880@ysu.edu.cn单片机原理第十章MCS-51与D/A、A/D的接口10.1MCS-51与DAC的接口10.2MCS-51与ADC的接口单片机原理10.1MCS-51与DAC的接口1、概述D/A转换器(DAC):数字量→模拟量的器件。输入:数字量,输出:模拟量。转换过程:送到DAC的各位二进制数按其权的大小转换为相应的模拟分量,再把各模拟分量叠加,其和就是D/A转换的结果。使用D/A转换器时,要注意区分:*D/A转换器的输出形式;*内部是否带有锁存器。单片机原理10.1MCS-51与DAC的接口(1)输出形式,两种输出形式:电压输出形式与电流输出形式。电流输出的D/A转换器,如需模拟电压输出,可在其输出端加一个I-V转换电路。(2)D/A转换器内部是否带有锁存器D/A转换需要一定时间,这段时间内输入端的数字量应稳定,为此应在数字量输入端之前设置锁存器,以提供数据锁存功能。根据芯片内是否带有锁存器,可分为内部无锁存器的和内部有锁存器的两类。*内部无锁存器的D/A转换器可与P1、P2口直接相接(因P1口和P2口的输出有锁存功能)。但与P0口相接,需增加锁存器。*内部带有锁存器的D/A转换器内部不但有锁存器,还包括地址译码电路,有的还有双重或多重的数据缓冲电路,可与MCS-51的P0口直接相接。单片机原理10.1MCS-51与DAC的接口2、主要技术指标(1)分辨率输入给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的位数。单片机原理10.1MCS-51与DAC的接口(2)建立时间描述DAC转换快慢的参数,表明转换速度。定义:为从输入数字量到输出达到终值误差(1/2)LSB(最低有效位)时所需的时间。电流输出时间较短,电压输出的,加上I-V转换的时间,因此建立时间要长一些。快速DAC可达1s以下。(3)精度理想情况,精度与分辨率基本一致,位数越多精度越高。但由于电源电压、参考电压、电阻等各种因素存在着误差,精度与分辨率并不完全一致。位数相同,分辨率则相同,但相同位数的不同转换器精度会有所不同。单片机原理10.1MCS-51与DAC的接口3、MCS-51与8位DAC0832的接口1.DAC0832芯片介绍美国国家半导体公司产品,具有两个输入数据寄存器的8位DAC,能直接与MCS-51单片机相连。主要特性如下:*分辨率为8位;*电流输出,稳定时间为1s;*可双缓冲输入、单缓冲输入或直接数字输入;*单一电源供电(+5~+15V);单片机原理10.1MCS-51与DAC的接口单片机原理10.1MCS-51与DAC的接口引脚功能:DI0~DI7:8位数字信号输入端/CS:片选端ILE:数据锁存允许控制端,高电平有效。/WR1:输入寄存器写选通控制端。当/CS=0、ILE=1、/WR1=0时,数据信号被锁存在输入寄存器中。/XFER:数据传送控制。/WR2:DAC寄存器写选通控制端。当/XFER=0,/WR2=0时,输入寄存器状态传入DAC寄存器中。IOUT1:电流输出1端,输入数字量全“1”时,IOUT1最大,输入数字量全为“0”时,IOUT1最小。单片机原理10.1MCS-51与DAC的接口IOUT2:D/A转换器电流输出2端,IOUT2+IOUT1=常数Rfb:外部反馈信号输入端,内部已有反馈电阻Rfb,根据需要也可外接反馈电阻。Vcc:电源输入端,可在+5V~+15V范围内。VREF:参考电压输入端,可在-10V~+10V范围内。DGND:数字信号地。AGND:模拟信号地。“8位输入寄存器”用于存放CPU送来的数字量,使输入数字量得到缓冲和锁存,由/LE1控制;“8位DAC寄存器”存放待转换的数字量,由/LE2控制;“8位D/A转换电路”由T型电阻网络和电子开关组成,T型电阻网络输出和数字量成正比的模拟电流。单片机原理10.1MCS-51与DAC的接口2.DAC的应用(1)单极性电压输出单极性模拟电压输出,可采用右图所示接线。输出电压Vout与输入数字量B的关系:Vout=-(B/256)*VRFE式中,B=b7·27+b6·26+……+b1·21+b0·20B为0时,Vout也为0,输入数字量为255时,Vout为最大值,单极性。单片机原理10.1MCS-51与DAC的接口(2)双极性电压输出Vout=(B-128)*(VREF/128)由上式,在选用+VREF时,(1)若输入数字量b7=1,则Vout为正;(2)若输入数字量b7=0,则Vout为负。在选用-VREF时,Vout与+VREF时极性相反。单片机原理10.1MCS-51与DAC的接口3.MCS-51与DAC0832的接口电路MCS-51单片机与DAC0832的接口有3种连接方式,即直通方式、单缓冲方式及双缓冲方式。直通方式不能直接与系统的数据总线相连,需另加锁存器,故较少应用。下面介绍单缓冲与双缓冲两种连接方式。(1)单缓冲方式所谓单缓冲方式就是使DAC0832的两个输入寄存器中有一个处于直通方式,而另一个处于受控的锁存方式,或者说两个输入寄存器同时受控的方式。在实际应用中,如果只有一路模拟量输出,或虽有几路模拟量但并不要求同步输出时,就可采用单缓冲方式。单片机原理10.1MCS-51与DAC的接口单片机原理10.1MCS-51与DAC的接口由于/WR2和/XFER接地,故DAC0832的“8位DAC寄存器”处于直通方式。“8位输入寄存器”受/CS和/WR1端控制,且由译码器输出端FEH送来(也可由P2口的某一根口线来控制)。因此,8031执行如下两条指令就可在/WR1和/CS上产生低电平信号,使0832接收8031送来的数字量。MOVR0,#0FEH;DAC地址FEH→R0MOVX@R0,A;/WR和译码器FEH输出端有效单片机原理10.1MCS-51与DAC的接口例DAC0832用作波形发生器。分别写出产生锯齿波、三角波和矩形波的程序。(1)锯齿波的产生ORG2000HSTART:MOVR0,#0FEH;DAC地址FEH→R0MOVA,#00H;数字量→ALOOP:MOVX@R0,A;数字量→D/A转换器INCA;数字量逐次加1SJMPLOOP输入数字量从0开始,逐次加1,为FFH时,加1则清0,模拟输出又为0,然后又循环,输出锯齿波,如下图。每一上升斜边分256个小台阶,每个小台阶暂留时间为执行后三条指令所需要的时间。单片机原理10.1MCS-51与DAC的接口(2)三角波的产生ORG2000HSTART:MOVR0,#0FEH;DAC地址FEH→R0MOVA,#00H;数字量→AUP:MOVX@R0,A;三角波上升边INCAJNZUPDOWN:DECA;A=0时再减1又为FFHMOVX@R0,AJNZDOWN;三角波下降边SJMPUP单片机原理10.1MCS-51与DAC的接口(3)矩形波的产生ORG2000HSTART:MOVR0,#0FEH;DAC地址FEH→R0LOOP:MOVA,#data1MOVX@R0,A;置矩形波上限电平LCALLDELAY1;调用高电平延时程序MOVA,#data2MOVX@R0,A;置矩形波下限电平LCALLDELAY2;调用低电平延时程序SJMPLOOP;重复进行下一个周期单片机原理10.1MCS-51与DAC的接口(2)双缓冲方式所谓双缓冲方式,就是把DAC0832的两个锁存器都接成受控锁存方式。由于两个锁存器分别占据两个地址,因此在程序中需要使用两条传送指令,才能完成一个数字量的模拟转换。假设输入寄存器地址为FEFFH,DAC寄存器地址为FDFFH,则完成一次D/A转换的程序段应为:MOVA,#DATA;转换数据送入AMOVDPTR,#FEFFH;指向输入寄存器MOVX@DPTR,A;转换数据送输入寄存器MOVDPTR,#FDFFH;指向DAC寄存器MOVX@DPTR,A;数据进入DAC寄存器并进行D/A转换单片机原理10.1MCS-51与DAC的接口FDH:1#DAC0832数字量输入控制端口FEH:2#DAC0832数字量输入控制端口FFH:1#和2#DAC0832启动D/A转换端口单片机原理10.2MCS-51与ADC的接口1、A/D转换器的分类单片机原理10.2MCS-51与ADC的接口目前使用较广泛的有:逐次比较式转换器、双积分式转换器、Σ-Δ式转换器和V/F转换器。逐次比较型:精度、速度和价格都适中,是最常用的A/D转换器件。双积分型:精度高、抗干扰性好、价格低廉,但转换速度慢,得到广泛应用。Σ-Δ型:具有积分式与逐次比较式ADC的双重优点。对工业现场的串模干扰具有较强的抑制能力,不亚于双积分ADC,但比双积分ADC的转换速度快,与逐次比较式ADC相比,有较高的信噪比,分辨率高,线性度好不需采样保持电路。因此,Σ-Δ型得到重视。V/F转换型:适于转换速度要求不太高,远距离信号传输。单片机原理10.2MCS-51与ADC的接口2、A/D转换器的主要技术指标(1)转换时间和转换速率:完成一次转换所需要的时间。转换时间的倒数为转换速率。并行式:20~50ns,速率为50~20M次/s(1M=106);逐次比较式:0.4s,速率为2.5M次/s。(2)分辨率:用输出二进制位数或BCD码位数表示。例如AD574,二进制12位,即用212个数进行量化,分辨率为1LSB,百分数表示1/212=0.24‰。量化过程引起的误差为量化误差,是由于有限位数字对模拟量进行量化而引起的误差。量化误差理论上规定为1个单位分辨率,提高分辨率可减少量化误差。(3)转换精度:定义为一个实际ADC与一个理想ADC在量化值上的差值。可用绝对误差或相对误差表示。单片机原理10.2MCS-51与ADC的接口3、A/D转换器的选择(1)A/D转换器位数的确定A/D转换器的位数至少要比系统总精度要求的最低分辨率高1位,8位以下:低分辨率,9~12位:中分辨率,13位以上:高分辨率。(2)A/D转换器转换速率的确定从启动转换到转换结束,输出稳定的数字量,需要一定的时间,这就是A/D转换器的转换时间。低速:从几ms到几十ms,中速:从几s~100s左右,高速:仅20~100ns。(3)是否加采样保持器直流和变化非常缓慢的信号可不用采样保持器。其他情况都要加采样保持器。(4)工作电压和基准电压选择使用单一+5V工作电压的芯片,与单片机系统共用一个电源就比较方便。单片机原理10.2MCS-51与ADC的接口4、MCS-51与ADC0809(逐次比较型)的接口(1)ADC0809引脚及功能逐次比较式8路模拟输入、8位输出的A/D转换器。共28脚,双列直插式封装。主要引脚功能如下:(1)IN0~IN7:8路模拟信号输入端。(2)D0~D7:8位数字量输出端。(3)C、B、A:控制8路模拟通道的切换,C、B、A=000~111分别对应IN0~IN7通道。(4)OE、START、CLK:控制信号端,OE为输出允许端,START为启动信号输入端,CLK为时钟信号输入端。(5)VR(+)和VR(-):参考电压输入端。单片机原理10.2MCS-51与ADC的接口(2)ADC0809结构及转换原理0809完成1次转换需100s左右,可对0~5V信号进行转换。单片机原理10.2MCS-51与ADC的接口(3)MCS-51与ADC0809的接口首先用指令选择0809的一个模拟输入通道,当执行MOVX@DPTR,A时,单片机的/WR信号有效,产生一个启动信号给0809的START脚,对选中通转换。转换结束后,080

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功