8.4、D/A和A/D转换器的扩展单片机A/DD/A模拟信号模拟信号8.4.1、D/A转换器——原理1、权电阻D/A转换器权电阻D/A转换器原理图2、R-2RT型电阻网络D/A转换器T型电阻网络D/A转换器原理图D/A转换器的原理:把输入数字量中每位都按其权值分别转换成模拟量,并通过运算放大器求和相加(如上图所示)。|Vout|=B×|VR|关系式中,VR为常量,由参考电压VREF决定;B为数字量。数字量B的位数通常为8位、10位或12位等,其位数由D/A转换器芯片决定。|VR|=I0×Rf=(|VREF|×1/24)Rf/R|VOUT|=B×|VREF|×1/24(设Rf/R=1)数字量模拟量00000×Vref00011/16×Vref00102/16×Vref00113/16×Vref01004/16×Vref01015/16×Vref01106/16×Vref01117/16×Vref10008/16×Vref10019/16×Vref101010/16×Vref101111/16×Vref110012/16×Vref110113/16×Vref111014/16×Vref111115/16×Vref8.4.1、D/A转换器——主要性能指标(1)转换速度:从输入二进制数到转换成模拟量电压输出所需时间。(2)转换精度:取决于输入D/A转换器的二进制位数。例:8位D/A的相对误差为1/256。(3)分辨率:指满量程信号能分成的步数和阶梯的尺寸。例:8位的D/A,其分辨率为满刻度的1/28n位的D/A,其分辨率为满刻度的1/2n(4)线性度:理想的输入/输出特性的偏差与满刻度输出之比的百分数(5)输出极性及范围:输出范围与参考电压、转换电路有关;输出极性有单极性和双极性两种20mV阶数Vref=5V2554.98(0,0)阶数Vref=5V(0,0)DAC0832原理框图数据总线,接收待转换的数字量ILE,CE,WR1控制输入寄存器的打开WR2,XFER控制DAC寄存器的写入芯片工作电源参考电压输入A量输出8.4.1、D/A转换器——DAC0832:书P227DAC的应用DAC用作电压输出:单极性、双极性单极性电压输出DAC0832连接图VOUT=-Number×(VREF×1/28)(因为Rf/R=1)若Vref=5V,则Vout的输出范围:(–4.98V~0V)MCS-51与8位DAC的接口MCS-51和DAC0832接口时,有两种连接方式:单缓冲直通方式如图(书P228所示)双缓冲方式8031单片机与0832的硬件接口例:书P228例1:产生矩形波的程序START:MOVDPTR,#7FFFH;选中DAC0832STEP:MOVA,#dataH;置输出矩形波上限MOVX@DPTR,A;D/A转换ACALLDELAY;调输出高电平延时程序MOVA,#dataL;置输出矩形波下限MOVX@DPTR,A;D/A转换ACALLDELAY;调输出低电平延时程序SJMPSTEP;重复执行…DELAY:…;延时子程序dataH*Vref/256dataL*Vref/256例2:产生锯齿波的程序START:MOVDPTR,#7FFFH;选中DAC0832STEP1:MOVA,#00H;置初值STEP2:MOVX@DPTR,A;D/A转换INCA;A中内容+1ACALLDELAY;延时子程序,延时200usCJNEA,#data,STEP2;不等于设置值#data时转移AJMPSTEP1;重复执行…….DELAY:…;延时子程序,延时200us注:程序中#data为用户设置的锯齿波波峰值data*Vref/256200us例3:产生三角波的程序START:MOVDPTR,#7FFFH;选中DAC0832STEP1:MOVA,#00H;置初值STEP2:MOVX@DPTR,A;D/A转换INCA;A中内容+1ACALLDELAY;延时子程序,延时200usCJNEA,#data,STEP2;不等于设置值#data时转移STEP3:DECA;等于设置值,A内容减1MOVX@DPTR,A;D/A转换ACALLDELAY;延时子程序,延时200usCJNEA,#01H,STEP3;不等于设置值#01H时转移AJMPSTEP1;重复执行DELAY:…;延时子程序,延时200us注:程序中#data为用户设置的三角波波峰值data*Vref/256200us8051和两片DAC0832的接口(双缓冲方式)D/A实验内容输出示波器显示锯齿波输出示波器显示三角波输出示波器显示梯形波(梯高相等、三等分)8.4.2、A/D转换器——原理1、逐次逼近式A/D转换器逐次逼近式A/D转换器原理图Uref=5VD7D6D5D4D3D2D1D0Ui100000002.5010000001.25001000000.625000100000.312000010000.156000001000.078000000100.039000000010.0208.4.2、A/D转换器——原理1、逐次逼近式A/D转换器逐次逼近式A/D转换器原理图Uin=3VD7D6D5D4D3D2D1D0Ui100000002.53,取110000002.5+1.253,不取10000000101000002.5+0.6253,不取10000000100100002.5+0.3123,取100110002.812+0.1563,取100111002.968+0.0783,不取10011000100110102.968+0.0393,不取10011000100110012.968+0.0203,取2、双积分式A/D转换器----工作原理双积分型A/D转换是一种间接A/D转换技术。首先将模拟电压转换成积分时间,然后用数字脉冲计时方法将积分时间转换成计数脉冲数,最后将该代表模拟输入电压大小的计数脉冲数转换成二进制或BCD码输出。因此,双积分型A/D转换器转换时间较长,一般要大于40~50ms。模拟电压积分时间放电时间脉冲数2、双积分式A/D转换器双积分式A/D转换器原理图VR与VI为反向电压8.4.2、A/D转换器——主要性能指标1、分辨率:表示输出数字量变化一个相邻数码所需输入模拟电压的变化量,以输出的二进制位数表示。例:12位的A/D转换器:1/212×100%=1/4096×100%=0.0244%;一个满刻度为10V的12位A/D转换器能够分辨输入电压变化的最小值为2.4mv。2、量化误差:数字量反应的模拟量和实际模拟量的理论误差。3、转换量程:A/D转换的模拟量的量程,其取决于参考电压的大小和方向。4、转换速率:能够重复进行数据转换的速度,即每秒转换的次数8.4.2、A/D转换器——ADC0809ADC0809的内部结构图ADC0809的引脚图及引脚功能:书P235ADC0809的主要特性:P2368031单片机与ADC0809接口启动ADC0809的工作过程为:先送通道号地址到ADDA—ADDC,由ALE信号锁存通道号地址,后让starts有效启动A/D转换,即执行一条MOVX@DPTR,A指令产生WR信号。使ALE、START有效,锁存通道号并启动A/D转换。A/D转换完后,EOC端发出一正脉冲,接着执行MOVXA,@DPTR产生RD信号,使OE端有效,打开锁存器三态门,8位数据就读入到CPU中。例1:利用中断方式,分别对8路模拟信号轮流采集一次,转换结果依次存放在首地址为30H的片外数据RAM中。例2:利用查询方式对8路模拟信号进行采集,转换结果存放在首址为30H的片外数据RAM中。