资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第六章 数/模和模/数转换接口,数/模和模/数转换电路的概念,在单片机的实时控制和智能仪表等应用系统中,被控制或被测量对象的有关变量,往往是一些连续变化的模拟量,如温度、压力、流量、速度等物理量。这些模拟量必须转换成数字量后才能输入到计算机进行处理。计算机处理的结果,也常常需要转换为模拟信号,驱动相应的执行机构,实现对被控对象的控制。若输入是非电的模拟信号,还需通过传感器转换成电信号。实现模拟量变换成数字量的设备称为模数转换器(AD),数字量转换成模拟量的设备称为数模转换器(DA)。,具有模拟量输入和模拟量输出的MCS-51应用系统结构,模数数模转换技术是数字测量和数字控制领域中的一个专门分支。在微电子技术已取得巨大成果的今天,对那些具有明确应用目标的单片微机产品的设计人员来说,只需要合理地选用商品化的大规模AD、DA电路器件,了解它们的功能和接口方法即可。,14.2.1 DAC0832的引脚功能,DAC0832是一典型的8位并行D/A转换器。为20引脚的双列直插式封装,DAC0832内部主要由两个8位的寄存器和一个8位的DA转换器及一些控制逻辑组成。其内部结构及引脚排列如下图所示。,DI0DI7:8位数据输入引脚。逻辑电平与TIL兼容。,ILE:输入数据锁存允许端,高电平有效。,/CS:芯片片选输人端,低电平有效。,/WR1:输入寄存器的写信号,低电平有效。当/CS,、ILE及信号,/WR1,同时有效时,DI0DI7的数据被锁存到输入寄存器。,/XFER:数据传送控制器信号,低电平有效。,/WR2:DAC寄存器的写信号,低电平有效。当,/WR2,和,/XFER,信号同时有效时,将输入寄存器中的内容锁存到DAC寄存器中。,V,REF,:基准参考电压源输入端。电压范围:10+10V,I,OUT1,:输出电流1。其值随转换的输入数据线性变化,输入数据为0FFH时,I,OUT1,输出最大,输入数据为00H时,I,OUT1,输出最小。,I,OUT2,:输出电流2。,R,FB,:芯片内部反馈电阻输入引脚,为使用外部运算放大器时提供反馈电阻。,V,CC,:芯片工作电源电压。范围:+5+15V。,AGND:模拟地。模拟信号和基准电源的参考地。,DGND:数字地。工作电源和数字逻辑地。,14.2.2 DAC0832的工作方式,1直通工作方式,当0832所有的控制信号(/CS、/WR1、/WR2、ILE、/XFER)都为有效时,两个寄存器处于直通状态,此时数据线的数字信号经两个寄存器直接进入DA转换器进行转换并输出。此工作方式适用于连续反馈控制中。,2单缓冲工作方式,单缓冲工作方式是使两个寄存器始终有一个(多为DAC寄存器)处于直通状态,另一个处于受控状态。如使/WR2=0和/XFER=0,或将/WR1与/WR2相连及/XFER与/CS相连,则DAC寄存器处于直通状态,输入寄存器处于受控状态。,应用系统中如只有一路DA转换,或有多路转换但不要求同步输出时,可采用单缓冲工作方式。,3双缓冲工作方式,双缓冲工作方式是使输入寄存器和DAC寄存器都处于受控状态。这主要用于多路DA转换系统以实现多路模拟信号的同步输出。例如有三个八位二进制数,分别先后进入三个DAC0832芯片的输入寄存器,这时若将三个DAC0832的DAC寄存器的锁存信号同时变为低电平(三个DAC0832的引脚/WR2、/XFER分别接在一起,即可达到此目的),,则分别先后锁存在三个DAC0832芯片的输入寄存器中的数据同时打入其DAC寄存器,并随之进行数模转换,同时输出相应的模拟量。若三个DAC0832芯片的DAC寄存器处于直通状态,就无法控制三路模拟信号的同步输出。,14.3 DAC0832与单片机的接口及应用,图中为采用单缓冲工作方式的一路DA输出与8051单片机的连接图。图中采用将芯片两级寄存器的控制信号并接的方式,即将DAC0832的/WR1和/WR2并接后与805l的/WR信号线相连,/CS和/XFER并接后与P2.7相连,并将ILE接高电平。在这种工作方式下,输入数据在控制信号的作用下,送入DAC寄存器,再经DA转换输出一个与输入数据对应的模拟量。,DA转换器的基准电压V,REF,由稳压管上的电压分压后提供。图中运算放大器的作用将DA转换器输出电流转换成电压输出。,D/A转换程序设计,图中的接法是采用线选法把DAC0832当作8031扩展的一个并行IO口,当P2.7=0时,则信号/CS和/XFER有效,当P3.6=0时,则信号/WR1和/WR2有效,将一个8位数据送入DAC0832完成转换的指令如下:,#include/包含头文件reg51.h,sbit DA_CS=P27;/定义DA的CS端口,sbit DA_WR=P36;/定义DA的WR端口,void delayms(unsigned int);/声明delayms函数,void main(),DA_CS=0;/DAC0832的/CS和/XFER引脚有效,DA_WR=0;/DAC0832的/WR1和/WR2引脚有效,while(1),/把数字量55H送到P0转换为模拟量,P0=0 x7F;,delayms(50);/延时50ms,/延时函数,void delayms(unsigned int xms),unsigned int i,j;,for(i=xms;i0;i-),for(j=110;j0;j-);,#include/包含头文件reg51.h,sbit DA_CS=P27;/定义DA的CS端口,sbit DA_WR=P36;/定义DA的WR端口,void delayms(unsigned int);/声明delayms函数,void main(),DA_CS=0;/DAC0832的/CS和/XFER引脚有效,DA_WR=0;/DAC0832的/WR1和/WR2引脚有效,while(1),/把数字量55H送到P0转换为模拟量,P0=P1;,delayms(50);/延时50ms,/延时函数,void delayms(unsigned int xms),unsigned int i,j;,for(i=xms;i0;i-),for(j=110;j0;j-);,14.4 A/D转换器的介绍,用于模数(A/D)转换的集成芯片种类很多,按其转换原理可分为计数比较型、逐次逼近型、双积分型等等。不同AD转换器芯片在速度、精度和价格上均有差别,其分辨率(输出转换结果的二进制数或BCD码位数)也有8位、10位、12位及16位等多种,这也是应用选型时应主要考虑的因素。,由于逐次逼近法AD转换器在精度、速度和价格上都适中,8位的分辨率也可满足一般的应用要求,是最常见的AD转换器件。下面我们主要介绍逐次逼近型AD转换器的工作原理及典型芯片ADC0809与单片机的接口方法。,A/D转换器的工作原理,逐次逼近法AD转换器也称逐次比较法A/D。对于一个输出为N位的逐次逼近法A/D转换器,其内部原理框图如图所示。主要以一DA(数模)转换为基础,加上比较器、N位逐次逼近寄存器、置数控制逻辑电路以及时钟等组成。它通过对最高位(D,N1,)至最低位(D,0,)的逐次检测比较来逼近被转换的输入电压,转换原理为:,在启动信号控制下开始转换,置数控制逻辑电路首先置N位寄存器最高位(D,N1,)为1,其余位清0,随后N位寄存器的内容经DA转换后得到整个量程一半的模拟电压V,N,,通过电压比较器与输入电压V,X,比较。若V,X,V,N,时,则保留D,N1,=1;若V,X,4;,/把高位数的段码通过P1口送到高位数码管,P1=tabledisplay_high;,high_bit=1;/选通两位数码管的高位,delayms(10);/延时10ms,high_bit=0;,/省略 延时函数,void delayms(unsigned int xms),
展开阅读全文