资源预览内容
第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
第9页 / 共45页
第10页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
单片机与D/A、A/D转换器的接口 单片机用于智能仪表和测控系统时,要与各种各样的单片机用于智能仪表和测控系统时,要与各种各样的外界信号打交道:外界信号打交道:单片机的驱动控制设备单片机的驱动控制设备模拟设备模拟设备: :电动调节阀、模拟记录仪电动调节阀、模拟记录仪数字设备数字设备: : 数字显示仪表、继电器触数字显示仪表、继电器触点点 由于单片机的输入和输出信号只能是数字量,因此由于单片机的输入和输出信号只能是数字量,因此在由单片机构成的测控系统中经常要用到模在由单片机构成的测控系统中经常要用到模/ /数转换和数数转换和数/ /模模转换接口。转换接口。模拟信号:如被控对象的温度、压力等模拟信号:如被控对象的温度、压力等开关信号开关信号: : 如指拨开关和按键开关如指拨开关和按键开关 单片机的输入信号单片机的输入信号 图图 单片机和被控对象间的接口示意图单片机和被控对象间的接口示意图【例】 电梯载荷监测提示系统。 载荷监测提示系统利用A/D转换器将采集到的模拟的重量值转换成相应的数字量,由单片机完成对重量值的分析比较,得出超载或不超载的结果,并在超载时发出控制信号,启动声音提示模块发出超载提示。 一、单片机与DAC的接口vvD/AD/A转换器概述转换器概述vv典型芯片典型芯片DAC0832DAC0832vvDAC0832DAC0832的应用的应用vv与与AD667AD667接口设计接口设计1 1、D/AD/A转换器概述转换器概述单片机单片机控制对象控制对象D/AD/A转换转换vv将数字量转换为模拟量,以便操纵控制对象。将数字量转换为模拟量,以便操纵控制对象。将数字量转换为模拟量,以便操纵控制对象。将数字量转换为模拟量,以便操纵控制对象。 * * D/AD/A转换器的输出形式转换器的输出形式; ; * * 内部是否带有锁存器。内部是否带有锁存器。vv使用使用使用使用D/AD/AD/AD/A转换器时,要注意区分转换器时,要注意区分转换器时,要注意区分转换器时,要注意区分: : : :vvD/AD/AD/AD/A转换器集成电路芯片种类很多转换器集成电路芯片种类很多转换器集成电路芯片种类很多转换器集成电路芯片种类很多: : : :按输入的二进制数的位数分类,有八位、十位、十二位和十六位等。按输出是电流还是电压分类,分为电压输出器件和电流输出器件。vvD/AD/A转换器的主要指标转换器的主要指标 分辨率分辨率 输入给输入给DACDAC的单位数字量变化引起的模拟量输出的变化,通的单位数字量变化引起的模拟量输出的变化,通常定义为输出满刻度值与常定义为输出满刻度值与2n2n之比。显然,二进制位数越多,分之比。显然,二进制位数越多,分辨率越高。辨率越高。建立时间建立时间 也称稳定时间,它是指从数字量输入到建立稳定的输出电流也称稳定时间,它是指从数字量输入到建立稳定的输出电流的时间,是描述的时间,是描述D/AD/A转换速率的一个重要参数转换速率的一个重要参数精度精度 理想情况,精度与分辨率基本一致,位数越多精度越高。理想情况,精度与分辨率基本一致,位数越多精度越高。但由于电源电压、参考电压、电阻等各种因素存在着误差但由于电源电压、参考电压、电阻等各种因素存在着误差, ,精度精度与分辨率并不完全一致。当送一个确定的数字量给与分辨率并不完全一致。当送一个确定的数字量给DACDAC后,它的后,它的实际输出值与该数值应产生的理想输出值之间会有一定的误差,实际输出值与该数值应产生的理想输出值之间会有一定的误差,它就是它就是D/AD/A转换器的精度。转换器的精度。引脚引脚:2、典型芯片、典型芯片-DAC0832介绍介绍主要特性:主要特性:分辨率为分辨率为8 8位位;电流输出,电流输出,稳定时间为稳定时间为1 1 s s; 可双缓冲输入、单缓冲输入可双缓冲输入、单缓冲输入 或直接数字输入;或直接数字输入; 单一电源供电(单一电源供电(+5+5+15V+15V););低功耗,低功耗,20mW20mW DI7DI0 :8位的数据输入端,DI7为最高位。CS: 片选端AGND:模拟信号地DGND:数字信号地。Vcc:电源输入端,可在+5V+15V范围内。VREF :参考电压输入端,此端可接一个正电压, 也可接一个负电压,它决定0至255的数字 量转化出来的模拟量电压值的幅度,VREF 范围为(+10-10)V。Rfb:外部反馈信号输入端, 内部已有反馈电阻 Rfb,根据需要也可外接反馈电阻。ILE: 数据锁存允许控制端,高电平有效。WR1:输入寄存器写选通控制端。当CS=0、ILE=1、 WR1=0时,数据信号被锁存在输入寄存器中。WR2 :DAC寄存器写选通控制端。当XFER=0, WR2=0时,输入寄存器状态传入DAC寄存 器中。XFER:数据传送控制。IOUT1:电流输出1端,输入数字量全“1”时, IOUT1最大, 输入数字量全为“0”时, IOUT1最小。IOUT2:D/A转换器电流输出2端,IOUT2+IOUT1= 常数。 逻辑结构CS=0,ILE=1,WR1=0时,打开该寄存器WFER=0,WR2=0,打开该寄存器(1)单缓冲方式 DAC0832的两个数据缓冲器有一个处于直通方式,另一个处于受控的锁存方式。 在不要求多路输出同步的情况下,可采用单缓冲方式。3、DAC0832的应用的应用例例11-111-1 DAC0832 DAC0832用作波形发生器。分别写出产生用作波形发生器。分别写出产生锯齿波、三角波锯齿波、三角波和和矩形波矩形波的程序的程序。 锯齿波的产生锯齿波的产生ORG 0000HORG 0000HSTART:START: MOV R0MOV R0,#0FEH#0FEH;DACDAC地址地址MOV AMOV A,#00H#00H;数字量;数字量LOOP: LOOP: MOVX R0MOVX R0,A A ;数字量;数字量D/AD/A转换器转换器INC A INC A ;数字量逐次加数字量逐次加SJMP LOOPSJMP LOOP1/282/283/28254/28255/280产生的锯齿波的过程产生的锯齿波的过程产生的锯齿波的过程产生的锯齿波的过程 三角波的产生三角波的产生ORG 0000HORG 0000HSTART: MOV R0START: MOV R0,#0FEH#0FEH MOV AMOV A,#00H#00HUP: UP: MOVXMOVXR0R0,A A ;三角波上升边三角波上升边INC AINC AJNZ UPJNZ UPDOWN:DOWN:DEC ADEC A;A=0A=0时再减时再减1 1又为又为FFHFFHMOVX R0MOVX R0,A AJNZ DOWNJNZ DOWN ;三角波下降边三角波下降边SJMP UPSJMP UP(2)双缓冲方式输入寄存器和输入寄存器和DACDAC寄存器分配有各自的地址,可分别选通。用寄存器分配有各自的地址,可分别选通。用同时输出多路模拟信号。同时输出多路模拟信号。多路多路同步输出,必须采用双缓冲同步方式同步输出,必须采用双缓冲同步方式。1#DAC08321#DAC0832占有两个占有两个端口地址端口地址FDHFDH和和FBHFBH。2#DAC08322#DAC0832的两个的两个端口地址端口地址为为FEHFEH和和FBHFBH例例11-2 11-2 设设AT89C51AT89C51单片机内部单片机内部RAMRAM中有中有两个长度为两个长度为2020的数据块,其起始的数据块,其起始地址为分别为地址为分别为addr1addr1和和addr2addr2,请,请根据图根据图11-711-7所示,编写能把所示,编写能把addr1addr1和和addrr2addrr2中数据从中数据从1#1#和和2#DAC08322#DAC0832同步输出的程序。程序中同步输出的程序。程序中addr1addr1和和addr2addr2中的数据,即为绘图仪所绘制曲线的中的数据,即为绘图仪所绘制曲线的x x、y y坐标点。坐标点。工作寄存器工作寄存器0 0区区的的R1R1指向指向addr1addr1;1 1区区的的R1R1指向指向addr2addr2;0 0区的区的R2R2存放数据块长度;存放数据块长度;0 0区和区和1 1区的区的R0R0指向指向DACDAC端口地址。端口地址。ORG 2000HORG 2000Haddr1 DATA 20Haddr1 DATA 20H; 定义存储单元定义存储单元addr2 DATA 40Haddr2 DATA 40H; 定义存储单元定义存储单元DTOUT: MOV R1DTOUT: MOV R1,#addr1#addr1; 0 0区区R1R1指向指向addr1addr1MOV R2MOV R2,#20#20; 数据块长度送数据块长度送0 0区区R2R2SETB RS0SETB RS0; 切换到工作寄存器切换到工作寄存器1 1区区MOV R1MOV R1,#addr2#addr2; 1 1区区R1R1指向指向addr2addr2CLR RS0CLR RS0; 返回返回0 0区区NEXT: NEXT: MOV R0MOV R0,#0FDH#0FDH; 0 0区区R0R0指向指向1#DAC08321#DAC0832数字量控制端口数字量控制端口MOV AMOV A,R1R1;addr1addr1中数据送中数据送A AMOVX ROMOVX RO,A A;addr1addr1中数据送中数据送1#DAC08321#DAC0832INC R1 INC R1 ; 修改修改addr1addr1指针指针0 0区区R1R1SETB RS0 SETB RS0 ; 转转1 1区。区。MOV R0MOV R0,#0FEH #0FEH ;1 1区区R0R0指向指向2#DAC08322#DAC0832数字量控制端口数字量控制端口MOV AMOV A,R1 R1 ;addr2addr2中数据送中数据送A AMOVX R0MOVX R0,A A ;addr2addr2中数据送中数据送2#DAC08322#DAC0832INC R1 INC R1 ;修改修改addr2addr2指针指针1 1区区R1R1MOV R0,#0FBHMOV R0,#0FBH ;1 1区区R0R0指向指向DACDAC的启动的启动D/AD/A转换端口转换端口 MOVX R0MOVX R0,A A ;启动启动DACDAC进行转换进行转换CLR RS0 CLR RS0 ;返回返回0 0区区DJNZ R2DJNZ R2,NEXT NEXT ;若未完,则跳若未完,则跳NEXTNEXTLJMP DTOUT LJMP DTOUT ;若送完,则循环若送完,则循环ENDEND4、DAC0832的单、双极性的电压输出(1 1)DACDAC用作单极性电压输出用作单极性电压输出(2 2)DACDAC用作双极性电压输出用作双极性电压输出5 5、与与AD667AD667接口设计接口设计AD667是分辨率为12位的电压输出型D/A转换器,建立时间3s(至0.01%)。输入方式:双缓冲输入;输出方式:电压输出,通过硬件编程可输出+5V,+10V, 2.5V,5V和10V;内含高稳定的基准电压源,可方便地与4位、8位或16位微处理器接口;双电源工作电压:12V15V。二、二、A/D转换器接口转换器接口vvA/DA/D转换器的概述转换器的概述vv典型芯片典型芯片ADC0809ADC0809vvADC0809ADC0809的应用的应用vv与与AD1674AD1674的接口设计的接口设计vv与与MC14433MC14433的接口设计的接口设计1、A/D转换器的概述转换器的概述将模拟量转换为数字量,以便计算机接收处理将模拟量转换为数字量,以便计算机接收处理传感器单片机A/D转换A/DA/D转换器的分类转换器的分类A/DA/D转换器的主要技术指标转换器的主要技术指标(1)(1)转换时间和转换速率转换时间和转换速率完成一次转换所需要的时间。完成一次转换所需要的时间。转换时间的倒数转换时间的倒数为转换速率。为转换速率。 双积分ADCADC的转换时间在几十毫秒至几百毫秒之间; 逐次比较型ADCADC的转换时间大都在101050s50s之间; 并行比较型ADCADC的转换时间可达10ns10ns。 (2)(2)分辨率分辨率数字量变化一个最小量时模拟信号的变化量,定义为满刻数字量变化一个最小量时模拟信号的变化量,定义为满刻与与2n2n的比值。的比值。 例如,输入模拟电压满量程为例如,输入模拟电压满量程为10V10V,若用,若用8 8位位ADCADC转换时,其分辨率为转换时,其分辨率为10V/210V/28 839mV39mV,1010位的位的ADCADC是是9.76mV9.76mV,而,而1212位的位的ADCADC为为2.44mV2.44mV。 (3 3)量化误差)量化误差ADCADC把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。量化误差是量化误差是ADCADC的有限位数对模拟量进行量化而引起的误差。的有限位数对模拟量进行量化而引起的误差。(4 4)转换精度)转换精度定义为一个实际定义为一个实际ADCADC与一个理想与一个理想ADCADC在量化值上的差值。可用绝对误差或在量化值上的差值。可用绝对误差或相对误差表示。相对误差表示。A/DA/D转换器的选择转换器的选择(1 1)A/DA/D转换器位数的确定转换器位数的确定系统总精度涉及的环节较多:传感器变换精度、信号预处理电路精度和A/D转换器及输出电路、控制机构精度,还包括软件控制算法。A/D转换器的位数至少要比系统总精度要求的最低分辨率高1位,位数应与其他环节所能达到的精度相适应。只要不低于它们就行,太高无意义,且价高。8位以下:低分辨率,912位:中分辨率,13位以上:高分辨率。 (2 2)A/DA/D转换器转换速率的确定转换器转换速率的确定 从启动转换到转换结束,输出稳定的数字量,需要从启动转换到转换结束,输出稳定的数字量,需要一定的时间,这就是一定的时间,这就是A/DA/D转换器的转换时间。转换器的转换时间。低速:低速:转换时间从几转换时间从几msms到几十到几十m ms s 。中速:中速:逐次比较型的逐次比较型的A/DA/D转换器的转换时间可从几转换器的转换时间可从几 s s 100100 s s左右。左右。高速:高速:转换时间仅转换时间仅2020100ns100ns。(3 3)是否加采样保持器)是否加采样保持器 直流和变化非常缓慢的信号可不用采样保持器。其他情况直流和变化非常缓慢的信号可不用采样保持器。其他情况都要加采样保持器。都要加采样保持器。(4 4)工作电压和基准电压)工作电压和基准电压 选择使用单一选择使用单一+5V+5V工作电压的芯片,与单片机系统共用一个电工作电压的芯片,与单片机系统共用一个电源就比较方便。在要求较高精度时,基准电压要单独用高精度源就比较方便。在要求较高精度时,基准电压要单独用高精度稳压电源供给。稳压电源供给。2、典型芯片、典型芯片ADC0809介绍介绍ADC0809ADC0809是一个是一个是一个是一个8 8位位位位8 8通道的通道的通道的通道的ADAD转换器。转换器。转换器。转换器。ADC0809功能分析功能分析CLK:时钟信号,可由单片机ALE信号分频得到。转换有以下几步转换有以下几步转换有以下几步转换有以下几步:1.1.1.1.ALEALEALEALE信号上升沿有信号上升沿有信号上升沿有信号上升沿有效,锁存地址并效,锁存地址并效,锁存地址并效,锁存地址并选中相应通道。选中相应通道。选中相应通道。选中相应通道。2.2.2.2.STSTSTST信号有效,开信号有效,开信号有效,开信号有效,开始转换。始转换。始转换。始转换。A/DA/DA/DA/D转换转换转换转换期间期间期间期间STSTSTST为低电平。为低电平。为低电平。为低电平。3.3.3.3.EOCEOCEOCEOC信号输出高电信号输出高电信号输出高电信号输出高电平,表示转换结平,表示转换结平,表示转换结平,表示转换结束束束束。4.4.4.4.OEOEOEOE信号有效,允信号有效,允信号有效,允信号有效,允许输出转换结果。许输出转换结果。许输出转换结果。许输出转换结果。3 3、ADC0809ADC0809的应用的应用写信号、P2.0有效时,启动AD转换。转换结束后,输出高电平,向CPU发出中断请求读信号、P2.0有效时,允许输出AD转换结果。转换时钟由ALE分频得到。803174LS373ADC08092CLKD0-D711111GEOCSTALEOERDP2.0WRINT1ALEP0A0-A7A0 A1 A2ABCVR(+)VR(-)+5VGNDIN0IN7IN6IN5IN4IN3IN2IN1转换结果由此输出通道选择表选择的通道选择的通道000001010011100101110111IN0IN1IN2IN3IN4IN5IN6IN7CBA8031A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A00809STCBA00000111(1 1) 首先分析各个通道的地址。首先分析各个通道的地址。首先分析各个通道的地址。首先分析各个通道的地址。(IN0(IN0到到到到IN7IN7的地址为的地址为的地址为的地址为0000H0000H到到到到0007H0007H)(2)编程:可采用)编程:可采用中断中断、查询查询两种方式。两种方式。中断方式:中断方式:中断方式:中断方式: ORG 0000H ;主程序入口地址 AJMP MAIN ;跳转主程序 ORG OO13H ;中断入口地址 AJMP INT1 ;跳转中断服务程序 MAIN:SETB IT1 ;边沿触发 SETB EA ;开中断 SETB EX1 ;允许中断 MOV DPTR,#0007H ;指向0809 IN7通道地址 MOVX DPTR,A;启动A/D转换 SJMP $;等待中断 INT1: MOVX A,DPTR ;读A/D转换结果 MOV B,A;存数 RETI ;返回查询方式:查询方式:查询方式:查询方式: ORG 0000H ;主程序入口地址 AJMP MAIN ;跳转主程序 ORG 1000H ;中断入口地址MAIN: MOV DPTR,#0007H ;指向0809 IN7通道地址 MOVX DPTR,A;启动A/D转换 L1: JB P3.3 L1;查询 MOVX A,DPTR ;读A/D转换结果 MOV B,A;存数 SJMP $4 4、与、与AD1674AD1674的接口设计的接口设计1212位逐次比较型。位逐次比较型。转换时间为转换时间为1010 s s,带有采样保持器,可直接与各种典型的带有采样保持器,可直接与各种典型的8 8位或位或1616位的单片机相位的单片机相连连片内集成又高精度的参考电压源和时钟电路,不需外加任何片内集成又高精度的参考电压源和时钟电路,不需外加任何电路和时钟信号的情况下完成电路和时钟信号的情况下完成ADAD转换,使用方便转换,使用方便5 5、与、与MC14433MC14433的接口设计的接口设计 双积分型由于两次积分时间比较长,所以转换速度慢,但双积分型由于两次积分时间比较长,所以转换速度慢,但精精度可以做得比较高度可以做得比较高;对周期变化的干扰信号积分为零,;对周期变化的干扰信号积分为零,抗干扰抗干扰性能也较好。性能也较好。 常用的有常用的有33位位双积分双积分A/DA/D转换器转换器MC14433MC14433(精度相当于(精度相当于1111位二位二进制数)和进制数)和44位位双积分双积分A/DA/D转换器转换器ICL7135ICL7135(精度相当于(精度相当于1414位二位二进制数)。进制数)。 MC14433MC14433被转换电压量程为被转换电压量程为199.9mV199.9mV或或1.999V1.999V MC14433A/D转换器引脚 R1R1:积分电阻输入端积分电阻输入端 C1C1:积分电容输入端积分电容输入端R1/C1R1/C1:R1R1与与C1C1的公共端的公共端 EOCEOC:转换结束信号输出端,正脉冲转换结束信号输出端,正脉冲有效有效 DUDU:启动新的转换,若启动新的转换,若DUDU与与EOCEOC相连,相连,每当每当A/DA/D转换结束后,自动启动新的转转换结束后,自动启动新的转换。换。OR*OR*:当当|V|VX X| |V VR R,过量程输出低电平。过量程输出低电平。DS4DS4DS1DS1:分别为个、十、百、千位分别为个、十、百、千位输出的选通脉冲,输出的选通脉冲,DS1DS1对应千位对应千位,DS4DS4对应个位对应个位。 Q0Q0Q3Q3:BCDBCD码数据输出线。码数据输出线。Q3Q3为最为最高位,高位,Q0Q0为最低位为最低位 MC14433选通脉冲时序图表表 DS1DS1选通时选通时Q3Q3Q0Q0表示的结果表示的结果Q3 Q2 Q1 Q0Q3 Q2 Q1 Q0表表 示示 结结 果果1 1 0 00 0 0 0 1 1 0 0 0 0 0 00 0 1 11 1 1 1 千位数为千位数为0 0千位数为千位数为1 1结果为正结果为正结果为负结果为负输入过量程输入过量程输入欠量程输入欠量程(2 2) MC14433MC14433与与80318031单片机的接口单片机的接口六、六、 MCS-51MCS-51与与V/FV/F转换器的接口转换器的接口 在既要求数据在既要求数据长距离传输长距离传输又要求精确度较高的场又要求精确度较高的场合,可使用合,可使用V/FV/F转换器代替转换器代替A/DA/D器件。器件。 V/FV/F转换器是转换器是把电压信号转变为频率信号把电压信号转变为频率信号的器件,的器件,有良好的精度、线性,此外,电路简单,外围元件性有良好的精度、线性,此外,电路简单,外围元件性能要求不高,适应环境能力强,转换速度不低于一般能要求不高,适应环境能力强,转换速度不低于一般的双积分型的双积分型A/DA/D器件,且价格低,因此器件,且价格低,因此V/FV/F转换技术广转换技术广泛用于非快速泛用于非快速A/DA/D过程中。过程中。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号