资源描述
9-1 D/A转换器接口及应用,9-2 A/D转换器接口及应用,第9章 数/模及模/数转换器接口,单片机,1,扩展I/O电路的功能:,1、速度协调; 2、输出数据锁存; 3、输入数据三态; 4、数据转换: 模拟量数字量:由A/D转换完成; 数字量模拟量:由D/A转换完成。,2,单片机和被控实体间的接口示意图,3,举例1:温度测控系统,4,举例2:速度测控系统,5,举例3:红外线自动门控制系统原理图,6,红外线传感器集成芯片BISS0001特点,(1)用CMOS工艺,功耗低。 (2)具有独立的高输入阻抗运算放大器,可与多种传感器匹配。 (3)双向鉴幅器可有效抑制干扰信号。 (4)内设延时和封锁定时器,性能稳定,调节范围宽。 (5)内置参考电源。 (6)工作电压范围宽(3V5V)。,7,9-1 D/A转换器接口及应用,9-1-1 D/A转换概述,一、D/A(Digit to Analog)转换器: 为把数字量转换成模拟量,在D/A转换芯片中要有解码网络: 权电阻网络; 倒T型电阻网络。,8,T型电阻网络型D/A转换器:,D/A转换器的原理: 把输入数字量中每位都按其权值分别转换成模拟量,并通 过运算放大器求和相加。根据克希荷夫定律,如下关系成立: I0=20 I1=21 I2=22 I3=23,9,n位数字量与模拟量的关系式: VO =VREF(数字码 / 2n) (VREF 参考电压),注:因使用反相比例放大器来实现电流到电压的转换,所以输出模拟信号(VO)的极性与参考电压(VREF)极性相反。,10,三、注意区分D/A内部是否带有锁存器:,与P1、P2接口:不需加锁存器,直接接口。 无锁存器 与P0接口:因P0的特殊功能,需加锁存器。 D/A内 如:DAC800、AD7520、AD7521等。 有锁存器:最好与P0直接接口。 如:DAC0832、DAC1230等。,11,四、性能指标:,1、分辨率(Resolution)是指D/A转换器能分辨的最小输出模拟增量,取决于输入数字量的二进制位数。 2、建立时间(Establishing Time)是描述D/A转换速度的快慢。 3、转换精度(Conversion Accuracy)指满量程时DAC的实际模拟输出值和理论值的接近程度。 4、偏移量误差(Offset Error)偏移量误差是指输入数字量为零时,输出模拟量对零的偏移值。 5、线性度(Linearity)线性度是指DAC的实际转换特性曲线和理想直线之间的最大偏移差。,12,主要技术指标:,1、分辨率(Resolution): 对D/A转换器输入量变化敏感程度进行描述, 与输入数字量的位数有关。 若数字量的位数为n,则分辨率为2n。 数字量位数越多,分辨率就越高。 应用时,应根据分辨率的需要选定转换器的位数。 注:BCD码输出的A/D转换器用位数表示分辨率。 2、建立时间(Establishing Time):(转换速度) 描述D/A转换速度的快慢。 输出形式为电流的转换器比电压的建立时间短。 D/A转换速度远高于A/D转换。 3、转换精度(Conversion Accuracy): 指满量程时DAC的实际模拟输出值和理论值的接近程度。,13,一、内部结构:DAC 0832:8位双缓冲器结构的D/A转换器。,9-1-2 D/A转换芯片DAC0832,DAC 0832内部结构框图(请见P242图9.3),14,DAC的应用:,l DAC用作单极性电压输出; l DAC用作双极性电压输出; l DAC用作控制放大器。,15,双极性输出电压与输入数字量的关系,16,双极性DAC的接法 :,17,双极性DAC的另一种接法:,18,控制放大器用DAC0832:,19,二、DAC 0832与单片机的接口:,有3种工作方法:直通方式、单缓冲方式和双缓冲方式。,MOV P1,A,20,举例:,例:D/A转换程序,用DAC0832输出0+5V锯齿波, 电路为直通方式。设VREF=-5V,若DAC0832地址 为00FEH,脉冲周期要求为100ms。,DACS:MOV DPTR,#00FEH;0832 I/O地址 MOV A,#00H ;开始输出0V DACL:MOVX DPTR,A ;D/A转换 INC A ;升压 ACALL DELAY ;延时100ms/256:决定锯齿波的周期 AJMP DACL ;连续输出 DELAY: ;延时子程序,21,2、单缓冲方式: 输入寄存器和DAC寄存器共用一个地址,同时选通输出,输入数据在控制信号作用下,直接进入DAC寄存器中; WR1和WR2同时进行,并且与CPU的WR相连,CPU对0832执行一次写操作,将数据直接写入DAC寄存器中。 适用:只有一路模拟信号输出或几路模拟信号非同步输出。,22,单缓冲方式下的DAC0832,80C51,23,举例:,例:D/A转换程序,用DAC0832输出0+5V三角波, 电路为单缓冲方式。设VREF=-5V,若DAC0832地 址为00FEH,脉冲周期要求为(100ms)。,ORG 2000H STAR:MOV DPTR,#00FEH;DAC0832地址 MOV A,#00H ;开始输出0V UP: MOVX DPTR,A ;D/A转换 INC A ;产生上升段电压 JNZ UP ;上升到A中为FFH(A0跳) DOWN:DEC A ;产生下降段电压 MOVX DPTR,A JNZ DOWN ;下降到A中为00H SJMP UP ;重复 注:若想改变波形的周期(频率),只需在SJMP UP前插入延时程序即可。,24,C51程序:,#include #include #define DAC0832 XBYTE0x00FE #define uchar unsigned char #define unit unsigned int void stair(void) uchar i; while(1) for(i=0;i=255;i=i+) /*形成锯齿波输出值,最大255*/ DAC0832=i; /*D/A转换输出*/ ,25,3、双缓冲器方式: 输入寄存器和DAC寄存器分配有各自的地址,可分别选通用同时输出多路模拟信号。 适用:同时输出几路模拟信号的场合,可构成多个0832同步输出电路。,26,举例:,例:用DAC0832实现驱动绘图仪,电路为双缓冲方式。 1#和2#DAC0832地址分别为00FEH和00FDH。 则绘图仪的驱动程序为:,ORG 2000H MOV DPTR,#00FEH ;选中1#0832(的输入寄存器):A0=0 MOV A,#Datax MOVX DPTR,A ;Datax写入1#0832输入寄存器 MOV DPTR,#00FDH ;选中2#0832(的输入寄存器):A1=0 MOV A,#Datay MOVX DPTR,A ;Datay写入2#0832输入寄存器 MOV DPTR,#00FBH ;选中1#和2#0832的DAC寄存器: A2=0 MOVX DPTR,A ;1#和2#输入寄存器的内容同时 传送到DAC寄存器中,27,C51程序:,#include #include #define INPUTR1 XBYTE0x00FE #define INPUTR2 XBYTE0x00FD #define DACR XBYTE0x00FB #define uchar unsigned char void dac2b(data1,data2) uchar data1,data2; INPUTR1=data1; /*数据送到一片DAC0832*/ INPUTR2=data2; /*数据送到另一片DAC0832*/ DACR=0; /*启动两路D/A同时转换*/ ,28,三、DAC1208内部框图,29,80C51与DAC1208的接口,80C51,30,华工考研题:,PC/XT的D/A接口使用DAC0832。其有关信号接线如图所示,其输出电压Vo和输入数字量DI7-DI0之间呈线性且如表所示。现要求Vo从零开始按图示波形周期变化(周期可自定)。试用汇编语言编写其控制部分程序。,31,9-2 A/D转换器接口及应用,A/D接口设计要点: 1选择合适的系统采样速度; 2减小A/D转换的孔径误差; 3合理选用A/D转换器。,32,一、转换原理:,33,1、双积分型A/D转换器工作原理:,双积分型A/D转换是一种间接A/D 转换技术。首先将模拟电压转换成积分时 间,然后用数字脉冲计时方法转换成计数 脉冲数,最后将此代表模拟输入电压大小的脉冲数转换成 二进制或BCD码输出。因此,双积分型A/D转换器转换时 间较长,一般要大于4050ms。,34,双积分ADC电路原理图,35,MC14433与80C51直接连接的接口,36,ICL7109与80C51的接口电路图,80C51,37,2、逐次逼近A/D转换原理:,N位寄存器用来存放N位二进制数码。 当VXVN,则保留DN-1=1,否则清0。 其余类推。,38,1、结构: 一个8位逐次逼近式A/D转换器、8路模拟转换开关、3-8地址锁存译码器和三态输出数据锁存器(详见P249)。,2、引脚: (1)8路模拟量分时输入信号端: IN0IN7; (2)8位数字量输出信号端: D0D7; (3)通道选择地址信号输入端: ADDA、ADDB、ADDC; (4)基准参考电压为VR(+)和VR(-): 决定输入模拟量的范围。 典型值分别为+5V和0V。 (5)转换结束信号EOC: 0:正在进行转换; 1:一次转换完成。 (6)时钟信号输入端:CLK(其内部无时钟电路)。,二、ADC0809与单片机的接口:,ADC 0809/0808为8路输入通道、8位逐次逼近式A/D转换器,可分时转换8路模拟信号。,39,3、ADC 0809与单片机连接:,涉及2个问题: (1)8路模拟信号通道选择; (2)A/D转换完成后转换数据的传送。,ADC0809的口地址:FEFFH; 8路模拟通道的地址:FEF8HFEFFH。,IN07,40,A/D转换程序:(延时等待方法),MOV DPTR,#0FEFFH ;ADC0809地址 MOV A,#00H ;选中IN0 MOVX DPTR,A ;启动A/D转换 LCALL DELAY ;等待转换结束 MOVX A,DPTR ;读转换结果 RET,不用接EOC脚,采用定时传送方式。,41,例:P252应用举例,初始化程序:(中断方式) MOV R0,#0A0H ;数据存储区首地址 MOV R2,#08H ;8路计数器 SETB IT1 ;边沿触发方式 SETB EA ;中断允许 SETB EX1 ;允许外部中断1中断 MOV DPTR,#0FEF8H ;指向ADC0809首地址 LOOP:MOVX DPTR,A ;启动A/D转换 HERE:SJMP HERE ;等待中断 DJNZ R2,LOOP ;巡回,未完继续 CLR EA ;结束,关中断 SJMP $ ;结束停止,设有一个8路模拟量输入的巡回检测系统,采样数据依次存放在外部RAM 0A0H0A7H单元中,ADC0809的8个通道地址为0FEF8H0FEFFH。,42,中断服务程序: MOVX A,DPTR ;读数 MOVX R0,A ;存数 INC DPTR ;指向下一模拟通道 INC R0 ;指向数据存储区下一单元 RETI,43,C51程序:,#include #include #define uchar unsigned char #define IN0 XBYTE0xFEF8 /*设置ADC0809的通道0地址*/ sbit ad_busy=P33; /*即EOC状态*/ void ad0809(uchar idata * x) /*采样结果放指针中的A/D采集函数*/ uchar i; uchar xdata * ad_adr; ad_adr= /*采样ADC0809通道的值*/ ,44,三、AD574A与MCS-51单片机接口,80C51,45,AD574A逻辑控制真值表,46,1、D/A转换原理、内部结构、信号输出形式 和主要技术指标。 2、DAC0832内部结构、管脚、3种工作方 法及其对应接口的特点、电路和应用程序。 3、A/D转换原理和常用ADC芯片。 4、ADC0809的内部结构及管脚、转换数据 传送方式及其对应接口图和程序。,小 结,47,应用举例:,1、用8位DAC芯片组成双极性电压输出电路,其参考电压为-5V+5V,求对应以下偏移码的输出电压: 0100 0000 1111 1110 解:VOUT1=-VREF. VOUT2=-(VREF+2VOUT1) VOUT1=-VREF. =-1.25V+1.25V VOUT2=-(VREF+2VOUT1) =-2.5V+2.5V VOUT1=-VREF. =-4.96+4.96V VOUT2=-(VREF+2VOUT1) =-4.92V+4.92V,48,2、某12位A/D转换器的输入电压为0+5V,求出当输入模拟量为下列值时输出的数字量: 1.25V 3.75V 解: ,49,3、某梯度炉温变化范围为01600,经温度变送器输出电压为15V,再经ADC0809转换,ADC0809的输入范围为05V,试计算当采样数值为9BH时,所对应的梯度炉温是多少? 解:9BH=155D,50,(一)问答题 (二)填空题 (三)选择题,练 习 题,51,
展开阅读全文