第11章89C51单片机与DA、AD转换器的接口

上传人:oq****t 文档编号:1707883 上传时间:2017-07-09 格式:PPT 页数:45 大小:937KB
返回 下载 相关 举报
第11章89C51单片机与DA、AD转换器的接口_第1页
第1页 / 共45页
第11章89C51单片机与DA、AD转换器的接口_第2页
第2页 / 共45页
第11章89C51单片机与DA、AD转换器的接口_第3页
第3页 / 共45页
第11章89C51单片机与DA、AD转换器的接口_第4页
第4页 / 共45页
第11章89C51单片机与DA、AD转换器的接口_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《第11章89C51单片机与DA、AD转换器的接口》由会员分享,可在线阅读,更多相关《第11章89C51单片机与DA、AD转换器的接口(45页珍藏版)》请在金锄头文库上搜索。

1、,单片机与D/A、A/D转换器的接口,单片机用于智能仪表和测控系统时,要与各种各样的外界信号打交道:,单片机的驱动控制设备,模拟设备:电动调节阀、模拟记录仪,数字设备: 数字显示仪表、继电器触点,由于单片机的输入和输出信号只能是数字量,因此在由单片机构成的测控系统中经常要用到模/数转换和数/模转换接口。,模拟信号:如被控对象的温度、压力等,开关信号: 如指拨开关和按键开关,单片机的输入信号,图 单片机和被控对象间的接口示意图,【例】 电梯载荷监测提示系统。,载荷监测提示系统利用A/D转换器将采集到的模拟的重量值转换成相应的数字量,由单片机完成对重量值的分析比较,得出超载或不超载的结果,并在超载

2、时发出控制信号,启动声音提示模块发出超载提示。,一、单片机与DAC的接口,D/A转换器概述典型芯片DAC0832DAC0832的应用与AD667接口设计,1、D/A转换器概述,将数字量转换为模拟量,以便操纵控制对象。,* D/A转换器的输出形式;,* 内部是否带有锁存器。,使用D/A转换器时,要注意区分:,D/A转换器集成电路芯片种类很多:,按输入的二进制数的位数分类,有八位、十位、十二位和十六位等。按输出是电流还是电压分类,分为电压输出器件和电流输出器件。,D/A转换器的主要指标 分辨率 输入给DAC的单位数字量变化引起的模拟量输出的变化,通常定义为输出满刻度值与2n之比。显然,二进制位数越

3、多,分辨率越高。建立时间 也称稳定时间,它是指从数字量输入到建立稳定的输出电流的时间,是描述D/A转换速率的一个重要参数精度 理想情况,精度与分辨率基本一致,位数越多精度越高。但由于电源电压、参考电压、电阻等各种因素存在着误差,精度与分辨率并不完全一致。当送一个确定的数字量给DAC后,它的实际输出值与该数值应产生的理想输出值之间会有一定的误差,它就是D/A转换器的精度。,引脚:,2、典型芯片-DAC0832介绍,主要特性:分辨率为8位;电流输出,稳定时间为1s; 可双缓冲输入、单缓冲输入 或直接数字输入; 单一电源供电(+5+15V);低功耗,20mW,DI7DI0 :8位的数据输入端,DI7

4、为最高位。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寄存 器

5、中。XFER:数据传送控制。IOUT1:电流输出1端,输入数字量全“1”时, IOUT1最大, 输入数字量全为“0”时, IOUT1最小。IOUT2:D/A转换器电流输出2端,IOUT2+IOUT1= 常数。,逻辑结构,(1)单缓冲方式 DAC0832的两个数据缓冲器有一个处于直通方式,另一个处于受控的锁存方式。 在不要求多路输出同步的情况下,可采用单缓冲方式。,3、DAC0832的应用,例11-1 DAC0832用作波形发生器。分别写出产生锯齿波、三角波和矩形波的程序。, 锯齿波的产生ORG 0000HSTART:MOV R0,#0FEH;DAC地址MOV A,#00H;数字量LOOP: M

6、OVX R0,A ;数字量D/A转换器INC A ;数字量逐次加SJMP LOOP,1/28,2/28,3/28,254/28,255/28,0,产生的锯齿波的过程, 三角波的产生ORG 0000HSTART: MOV R0,#0FEH MOV A,#00HUP: MOVXR0,A ;三角波上升边INC AJNZ UPDOWN:DEC A;A=0时再减1又为FFHMOVX R0,AJNZ DOWN ;三角波下降边SJMP UP,(2)双缓冲方式输入寄存器和DAC寄存器分配有各自的地址,可分别选通。用同时输出多路模拟信号。,多路同步输出,必须采用双缓冲同步方式。,1#DAC0832占有两个端口地

7、址FDH和FBH。2#DAC0832的两个端口地址为FEH和FBH,例11-2 设AT89C51单片机内部RAM中有两个长度为20的数据块,其起始地址为分别为addr1和addr2,请根据图11-7所示,编写能把addr1和addrr2中数据从1#和2#DAC0832同步输出的程序。程序中addr1和addr2中的数据,即为绘图仪所绘制曲线的x、y坐标点。,工作寄存器0区的R1指向addr1;1区的R1指向addr2;0区的R2存放数据块长度;0区和1区的R0指向DAC端口地址。,ORG 2000Haddr1 DATA 20H; 定义存储单元addr2 DATA 40H; 定义存储单元DTOU

8、T: MOV R1,#addr1; 0区R1指向addr1MOV R2,#20; 数据块长度送0区R2SETB RS0; 切换到工作寄存器1区MOV R1,#addr2; 1区R1指向addr2CLR RS0; 返回0区NEXT: MOV R0,#0FDH; 0区R0指向1#DAC0832数字量控制端口MOV A,R1;addr1中数据送AMOVX RO,A;addr1中数据送1#DAC0832INC R1 ; 修改addr1指针0区R1SETB RS0 ; 转1区。MOV R0,#0FEH ;1区R0指向2#DAC0832数字量控制端口,MOV A,R1 ;addr2中数据送AMOVX R0

9、,A ;addr2中数据送2#DAC0832INC R1 ;修改addr2指针1区R1MOV R0,#0FBH ;1区R0指向DAC的启动D/A转换端口 MOVX R0,A ;启动DAC进行转换CLR RS0 ;返回0区DJNZ R2,NEXT ;若未完,则跳NEXTLJMP DTOUT ;若送完,则循环END,4、DAC0832的单、双极性的电压输出,(1)DAC用作单极性电压输出,(2)DAC用作双极性电压输出,5、与AD667接口设计,AD667是分辨率为12位的电压输出型D/A转换器,建立时间3s(至0.01%)。输入方式:双缓冲输入;输出方式:电压输出,通过硬件编程可输出+5V,+1

10、0V, 2.5V,5V和10V;内含高稳定的基准电压源,可方便地与4位、8位或16位微处理器接口;双电源工作电压:12V15V。,二、A/D转换器接口,A/D转换器的概述典型芯片ADC0809ADC0809的应用与AD1674的接口设计与MC14433的接口设计,1、A/D转换器的概述,将模拟量转换为数字量,以便计算机接收处理,传感器,单片机,A/D转换器的分类,A/D转换器的主要技术指标,(1)转换时间和转换速率完成一次转换所需要的时间。转换时间的倒数为转换速率。 双积分ADC的转换时间在几十毫秒至几百毫秒之间; 逐次比较型ADC的转换时间大都在1050s之间; 并行比较型ADC的转换时间可

11、达10ns。 (2)分辨率数字量变化一个最小量时模拟信号的变化量,定义为满刻与2n的比值。 例如,输入模拟电压满量程为10V,若用8位ADC转换时,其分辨率为10V/2839mV,10位的ADC是9.76mV,而12位的ADC为2.44mV。,(3)量化误差ADC把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。量化误差是ADC的有限位数对模拟量进行量化而引起的误差。,(4)转换精度定义为一个实际ADC与一个理想ADC在量化值上的差值。可用绝对误差或相对误差表示。,A/D转换器的选择(1)A/D转换器位数的确定系统总精度涉及的环节较多:传感器变换精度、信号预处理电路精度和A/D转换

12、器及输出电路、控制机构精度,还包括软件控制算法。A/D转换器的位数至少要比系统总精度要求的最低分辨率高1位,位数应与其他环节所能达到的精度相适应。只要不低于它们就行,太高无意义,且价高。8位以下:低分辨率,912位:中分辨率,13位以上:高分辨率。,(2)A/D转换器转换速率的确定,从启动转换到转换结束,输出稳定的数字量,需要一定的时间,这就是A/D转换器的转换时间。,低速:转换时间从几ms到几十ms 。,中速:逐次比较型的A/D转换器的转换时间可从几s 100s左右。,高速:转换时间仅20100ns。,(3)是否加采样保持器,直流和变化非常缓慢的信号可不用采样保持器。其他情况都要加采样保持器

13、。,(4)工作电压和基准电压,选择使用单一+5V工作电压的芯片,与单片机系统共用一个电源就比较方便。在要求较高精度时,基准电压要单独用高精度稳压电源供给。,2、典型芯片ADC0809介绍,ADC0809是一个8位8通道的AD转换器。,ADC0809功能分析,CLK:时钟信号,可由单片机ALE信号分频得到。,转换有以下几步:,ALE信号上升沿有效,锁存地址并选中相应通道。ST信号有效,开始转换。A/D转换期间ST为低电平。EOC信号输出高电平,表示转换结束。OE信号有效,允许输出转换结果。,3、ADC0809的应用,通道选择表,(1) 首先分析各个通道的地址。(IN0到IN7的地址为0000H到

14、0007H),(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 $,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号