您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 单片机电子教案第8章
本章分为三节,主要介绍:8.1D/A转换器及其与单片机接口8.2A/D转换器及其与单片机接口8.3开关量接口8.1D/A转换器及其与单片机接口8.1.1D/A转换器的原理及主要技术指标一、D/A转换器的基本原理及分类T型电阻网络D/A转换器:10101010101010102RD7R2R2R2R2R2R2R2R2RRRRI7I7I-+VREFI6I5I4I3I2I1I0I6I5I4I3I2I1I0RfbIO1IO2D6D5D4D3D2D1D0VORRR输出电压的大小与数字量具有对应的关系。二、D/A转换器的主要性能指标2n1、分辨率分辨率是指输入数字量的最低有效位(LSB)发生变化时,所对应的输出模拟量(常为电压)的变化量。它反映了输出模拟量的最小变化值。分辨率与输入数字量的位数有确定的关系,可以表示成FS/。FS表示满量程输入值,n为二进制位数。对于5V的满量程,采用8位的DAC时,分辨率为5V/256=19.5mV;当采用12位的DAC时,分辨率则为5V/4096=1.22mV。显然,位数越多分辨率就越高。2、线性度线性度(也称非线性误差)是实际转换特性曲线与理想直线特性之间的最大偏差。常以相对于满量程的百分数表示。如±1%是指实际输出值与理论值之差在满刻度的±1%以内。3、绝对精度和相对精度•绝对精度(简称精度)是指在整个刻度范围内,任一输入数码所对应的模拟量实际输出值与理论值之间的最大误差。绝对精度是由DAC的增益误差(当输入数码为全1时,实际输出值与理想输出值之差)、零点误差(数码输入为全0时,DAC的非零输出值)、非线性误差和噪声等引起的。绝对精度(即最大误差)应小于1个LSB。•相对精度与绝对精度表示同一含义,用最大误差相对于满刻度的百分比表示。4、建立时间•建立时间是指输入的数字量发生满刻度变化时,输出模拟信号达到满刻度值的±1/2LSB所需的时间。是描述D/A转换速率的一个动态指标。电流输出型DAC的建立时间短。电压输出型DAC的建立时间主要决定于运算放大器的响应时间。根据建立时间的长短,可以将DAC分成超高速(<1μS)、高速(10~1μS)、中速(100~10μS)、低速(≥100μS)几档。应当注意,精度和分辨率具有一定的联系,但概念不同。DAC的位数多时,分辨率会提高,对应于影响精度的量化误差会减小。但其它误差(如温度漂移、线性不良等)的影响仍会使DAC的精度变差。8.1.2DAC0832芯片及其与单片机接口DAC0832是使用非常普遍的8位D/A转换器,由于其片内有输入数据寄存器,故可以直接与单片机接口。DAC0832以电流形式输出,当需要转换为电压输出时,可外接运算放大器。属于该系列的芯片还有DAC0830、DAC0831,它们可以相互代换。DAC0832主要特性:•分辨率8位;•电流建立时间1μS;•数据输入可采用双缓冲、单缓冲或直通方式;•输出电流线性度可在满量程下调节;•逻辑电平输入与TTL电平兼容;•单一电源供电(+5V~+15V);•低功耗,20mW。一、DAC0832内部结构及引脚输入锁存器DAC寄存器D/A转换器DI7~DI0ILECSWR1WR2XFERVREFIOUT2IOUT1RfbAGNDVCC&&&LE1LE2二、DAC0832与80C51单片机的接口1、单缓冲工作方式此方式适用于只有一路模拟量输出,或有几路模拟量输出但并不要求同步的系统。80C51P2.7P0WRCSXFERWR1WR2ILEVCC+5V-+RfbVODAC0832IOUT1IOUT21kΩ1MΩDI0DI7DGNDVSS双极性模拟输出电压:VREF+5V-+RfbVOUTDAC0832IOUT1IOUT22RDI0DI7DGND-+VD2RRA1A2AGND偏移码双极性输出时的分辨率比单极性输出时降低1/2,这是由于对双极性输出而言,最高位作为符号位,只有7位数值位。2、双缓冲工作方式多路D/A转换输出,如果要求同步进行,就应该采用双缓冲器同步方式。80C51P2.7P0WRCSXFERWR1WR2ILEVCCDAC0832(1)DI0DI7CSXFERWR1WR2ILEVCC+5VDAC0832(2)DI0DI7P2.6P2.5完成两路D/A同步输出的程序如下:MOVDPTR,#0DFFFH;指向0832(1)输入锁存器MOVA,#data1MOVX@DPTR,A;data1送入0832(1)输入锁存器MOVDPTR,#0BFFFH;指向DAC0832(2)输入锁存器MOVA,#data2MOVX@DPTR,A;data2送入0832(2)输入锁存器MOVDPTR,#7FFFH;同时启动0832(1)、0832(2)MOVX@DPTR,A;完成D/A转换输出3、直通工作方式•当DAC0832芯片的片选信号、写信号、及传送控制信号的引脚全部接地,允许输入锁存信号ILE引脚接+5V时,DAC0832芯片就处于直通工作方式,数字量一旦输入,就直接进入DAC寄存器,进行D/A转换。8.2A/D转换器及其与单片机接口8.2.1A/D转换器的原理及主要技术指标一、逐次逼近式ADC的转换原理D/A转换器N位寄存器控制逻辑VINSTARTEOCVNVREF锁存缓存器D7D0D3D5D1D2D4D6OE二、双积分式ADC的转换原理控制逻辑VIN计数器标准电压-+比较器时钟积分器输出tT2T1T三、A/D转换器的主要技术指标1221、分辨率•ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常用二进制的位数表示。例如12位ADC的分辨率就是12位,或者说分辨率为满刻度FS的1/。一个10V满刻度的12位ADC能分辨输入电压变化最小值是10V×1/=2.4mV。1222、量化误差•ADC把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。量化误差是ADC的有限位数对模拟量进行量化而引起的误差。实际上,要准确表示模拟量,ADC的位数需很大甚至无穷大。一个分辨率有限的ADC的阶梯状转换特性曲线与具有无限分辨率的ADC转换特性曲线(直线)之间的最大偏差即是量化误差。数字输出模拟电压输入0000010020030040050060071LSB数字输出模拟电压输入0000010020030040050060071/2LSB3、偏移误差•偏移误差是指输入信号为零时,输出信号不为零的值,所以有时又称为零值误差。假定ADC没有非线性误差,则其转换特性曲线各阶梯中点的连线必定是直线,这条直线与横轴相交点所对应的输入电压值就是偏移误差。4、满刻度误差•满刻度误差又称为增益误差。ADC的满刻度误差是指满刻度输出数码所对应的实际输入电压与理想输入电压之差。5、线性度•线性度有时又称为非线性度,它是指转换器实际的转换特性与理想直线的最大偏差。6、绝对精度•在一个转换器中,任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值,称为绝对精度。对于ADC而言,可以在每一个阶梯的水平中点进行测量,它包括了所有的误差。7、转换速率•ADC的转换速率是能够重复进行数据转换的速度,即每秒转换的次数。而完成一次A/D转换所需的时间(包括稳定时间),则是转换速率的倒数。主要性能为:•分辨率为8位;•精度:ADC0809小于±1LSB(ADC0808小于±1/2LSB);•单+5V供电,模拟输入电压范围为0~+5V;•具有锁存控制的8路输入模拟开关;•可锁存三态输出,输出与TTL电平兼容;•功耗为15mW;•不必进行零点和满度调整;•转换速度取决于芯片外接的时钟频率。时钟频率范围:10~1280KHz。典型值为时钟频率640KHz,转换时间约为100μS。8.2.2ADC0809芯片及其与单片机的接口一、ADC0809的内部结构及引脚功能IN7三态输出锁存器8路模拟开关地址锁存与译码8位A/D转换器IN0CBAALE3D7D0D3D5D1D2D4D6OEEOCVR(+)VR(-)STARTCLK12345678910111213142827262524232221201918171615IN3IN4IN5IN6IN7STARTEOCD3OECLKVCCVR(+)GNDD1IN2IN1IN0ABCALED7D6D5D4D0VR(-)D2ADC08091、IN0~IN7,8路模拟量输入端。2、D7~D0,8位数字量输出端。3、ALE,地址锁存允许信号输入端。通常向此引脚输入一个正脉冲时,可将三位地址选择信号A、B、C锁存于地址寄存器内并进行译码,选通相应的模拟输入通道。4、START,启动A/D转换控制信号输入端。一般向此引脚输入一个正脉冲,上升沿复位内部逐次逼近寄存器,下降沿后开始A/D转换。5、CLK,时钟信号输入端。6、EOC,转换结束信号输出端。A/D转换期间EOC为低电平,A/D转换结束后EOC为高电平。7、OE,输出允许控制端,控制输出锁存器的三态门。当OE为高电平时,转换结果数据出现在D7~D0引脚。当OE为低电平时,D7~D0引脚对外呈高阻状态。8、C、B、A,8路模拟开关的地址选通信号输入端,3个输入端的信号为000~111时,接通IN0~IN7对应通道。9、VR(+)、VR(-):分别为基准电源的正、负输入端。二、ADC0809与单片机的接口1、查询方式EOCADC0809D0~D774LS373OEGALE80C31D7::D0Q7::Q0P3.3EAP0ABCCKQDQ1++STARTALEOECLKWRP2.7RDIN0IN7例:对8路模拟信号轮流采样一次,并依次把转换结果存储到片内RAM以DATA为起始地址的连续单元中。MAIN:MOVR1,#DATA;置数据区首地址MOVDPTR,#7FF8H;指向0通道MOVR7,#08H;置通道数LOOP:MOVX@DPTR,A;启动A/D转换HER:JBP3.3,HER;查询A/D转换结束MOVXA,@DPTR;读取A/D转换结果MOV@R1,A;存储数据INCDPTR;指向下一个通道INCR1;修改数据区指针DJNZR7,LOOP;8个通道转换完否?……2、中断方式读取IN0通道的模拟量转换结果,并送至片内RAM以DATA为首地址的连续单元中。ORG0013H;中断服务程序入口AJMPPINT1ORG2000HMAIN:MOVR1,#DATA;置数据区首地址SETBIT1;为边沿触发方式SETBEA;开中断SETBEX1;允许中断MOVDPTR,#7FF8H;指向IN0通道MOVX@DPTR,A;启动A/D转换LOOP:NOP;等待中断AJMPLOOPORG2100H;中断服务程序入口PINT1:PUSHPSW;保护现场PUSHACCPUSHDPLPUSHDPHMOVDPTR,#7FF8HMOVXA,@DPTR;读取转换后数据MOV@R1,A;数据存入以DATA为首地址的RAM中INCR1;修改数据区指针MOVX@DPTR,A;再次启动A/D转换POPDPH;恢复现场POPDPLPOPACCPOPPSWRETI;中断返回主要性能为:•逐次逼近ADC,可选择工作于12位,也可工作于8位。转换后的数据有两种读出方式:12位一次读出;8位、4位两次读出。•具有可控三态输出缓冲器,逻辑电平为TTL电平。•非线性误差:AD574AJ为±1LSB,AD574AK为±1/2LSB。8.2.3ADC574芯片及其与单片机的接口•转换时间:最大转换时间为25μS(属中档速度)。•输入模拟信号,单极性时,范围为0V~+10V和0V~+20V,从不同引脚输入。双极性输入时,范围为0V~±5V和0V~±10V,从不同引脚输入。•输出码制:单极性输入时,输出数字量为原码,双极性输入时,输出为偏移二进制码。•具有+10.000V的高精度内部基准电压源,只需外接一只适当阻值的电阻,便可向DAC部分的解码网络提供参考输入。内部具有时钟产生电路,不须外部接线。•需三组电源:+5V、VCC(+12V~+15V)、VEE(-12V~-15V)。由于转换精度高,所提供电源必须有良好的稳定
本文标题:单片机电子教案第8章
链接地址:https://www.777doc.com/doc-68323 .html