1、8.4、D/A和A/D转换器的扩展单片机A/DD/A模拟信号模拟信号1第1页,共26页。8.4.1、D/A转换器原理1、权电阻D/A转换器权电阻D/A转换器原理图2第2页,共26页。2、R-2R T型电阻网络D/A转换器 T型电阻网络D/A转换器原理图3第3页,共26页。数字量数字量模拟量模拟量00000 Vref00011/16Vref00102/16Vref00113/16Vref01004/16Vref01015/16Vref01106/16Vref01117/16Vref10008/16Vref10019/16Vref101010/16Vref101111/16Vref110012/1
2、6Vref110113/16Vref111014/16Vref111115/16Vref4第4页,共26页。8.4.1、D/A转换器主要性能指标(1)转换速度:从输入二进制数到转换成模拟量电压输出所需时间。(2)转换精度:取决于输入D/A转换器的二进制位数。例:8位D/A的相对误差为1/256。(3)分辨率:指满量程信号能分成的步数和阶梯的尺寸。例:8位的D/A,其分辨率为满刻度的1/28 n位的D/A,其分辨率为满刻度的1/2n(4)线性度:理想的输入/输出特性的偏差与满刻度输出之比的百分数 (5)输出极性及范围:输出范围与参考电压、转换电路有关;输出极性有单极性和双极性两种 20mV阶数V
3、ref=5V2554.98(0,0)阶数Vref=5V(0,0)5第5页,共26页。DAC0832原理框图数据总线,接收待转换数据总线,接收待转换的数字量的数字量ILE,CE,WR1控制控制输入寄存器的打开输入寄存器的打开WR2,XFER控制控制DAC寄存器的写入寄存器的写入芯片工作芯片工作电源电源参考电参考电压输入压输入A量输出量输出8.4.1、D/A转换器转换器DAC0832:书书P2276第6页,共26页。nDAC的应用 DAC用作电压输出:单极性、双极性7第7页,共26页。单极性电压输出DAC0832连接图8第8页,共26页。nMCS-51与8位DAC的接口 MCS-51和DAC083
4、2接口时,有两种连接方式:单缓冲直通方式如图(书P228所示)双缓冲方式 9第9页,共26页。8031单片机与0832的硬件接口例:书P22810第10页,共26页。例1:产生矩形波的程序 START:MOV DPTR,#7FFFH ;选中DAC0832 STEP:MOV A,#dataH ;置输出矩形波上限 MOVX DPTR,A ;D/A转换 ACALL DELAY ;调输出高电平延时程序 MOV A,#dataL ;置输出矩形波下限 MOVX DPTR,A ;D/A转换 ACALL DELAY ;调输出低电平延时程序 SJMP STEP ;重复执行 DELAY:;延时子程序dataH*V
5、ref/256dataL*Vref/25611第11页,共26页。例2:产生锯齿波的程序 START:MOV DPTR,#7FFFH ;选中DAC0832 STEP1:MOV A,#00H ;置初值 STEP2:MOVX DPTR,A ;D/A转换 INC A ;A中内容1 ACALL DELAY ;延时子程序,延时200us CJNE A,#data,STEP2 ;不等于设置值#data时转移 AJMP STEP1 ;重复执行 .DELAY:;延时子程序,延时200us 注:程序中data为用户设置的锯齿波波峰值 data*Vref/256200us12第12页,共26页。例3:产生三角波的
6、程序 START:MOV DPTR,#7FFFH ;选中DAC0832 STEP1:MOV A,#00H ;置初值 STEP2:MOVX DPTR,A ;D/A转换 INC A ;A中内容1 ACALL DELAY ;延时子程序,延时200us CJNE A,#data,STEP2 ;不等于设置值#data时转移 STEP3:DEC A ;等于设置值,A内容减1 MOVX DPTR,A ;D/A转换 ACALL DELAY ;延时子程序,延时200us CJNE A,#01H,STEP3 ;不等于设置值#01H时转移 AJMP STEP1 ;重复执行 DELAY:;延时子程序,延时200us
7、注:程序中data为用户设置的三角波波峰值data*Vref/256200us13第13页,共26页。8051和两片DAC0832的接口(双缓冲方式)14第14页,共26页。D/A实验内容n输出示波器显示锯齿波n输出示波器显示三角波n输出示波器显示梯形波 (梯高相等、三等分)15第15页,共26页。8.4.2、A/D转换器原理1、逐次逼近式 A/D转换器逐次逼近式A/D转换器原理图Uref=5VD7 D6 D5 D4 D3 D2 D1 D0 Ui 1 0 0 0 0 0 0 0 2.5 0 1 0 0 0 0 0 0 1.25 0 0 1 0 0 0 0 0 0.625 0 0 0 1 0 0
8、 0 0 0.312 0 0 0 0 1 0 0 0 0.156 0 0 0 0 0 1 0 0 0.078 0 0 0 0 0 0 1 0 0.039 0 0 0 0 0 0 0 1 0.02016第16页,共26页。8.4.2、A/D转换器原理1、逐次逼近式 A/D转换器逐次逼近式A/D转换器原理图Uin=3VD7 D6 D5 D4 D3 D2 D1 D0 Ui 1 0 0 0 0 0 0 0 2.53,不取 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 2.5+0.6253,不取 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 2.5+0.3123,取
9、1 0 0 1 1 0 0 0 2.812+0.1563,不取 1 0 0 1 1 0 0 0 1 0 0 1 1 0 1 0 2.968+0.0393,不取 1 0 0 1 1 0 0 0 1 0 0 1 1 0 0 1 2.968+0.0203,取17第17页,共26页。2、双积分式 A/D转换器-工作原理n双积分型A/D转换是一种间接A/D转换技术。首先将模拟电压转换成积分时间,然后用数字脉冲计时方法将积分时间转换成计数脉冲数,最后将该代表模拟输入电压大小的计数脉冲数转换成二进制或BCD码输出。因此,双积分型A/D转换器转换时间较长,一般要大于4050ms。模拟电压积分时间放电时间脉冲数
10、18第18页,共26页。2、双积分式 A/D转换器双积分式A/D转换器原理图VR与VI为反向电压19第19页,共26页。8.4.2、A/D转换器主要性能指标 1、分辨率:表示输出数字量变化一个相邻数码所需输入模拟电压的变化量,以输出的二进制位数 表示。例:12位的A/D转换器:1/2121001/40961000.0244;一个满刻度为10V的12位A/D转换器能够分辨输入电压变化的最小值为2.4mv。2、量化误差:数字量反应的模拟量和实际模拟量的理论误差。3、转换量程:A/D转换的模拟量的量程,其取决于参考电压的大小和方向。4、转换速率:能够重复进行数据转换的速度,即每秒转换的次数 20第2
11、0页,共26页。8.4.2、A/D转换器ADC0809ADC 0809的内部结构图21第21页,共26页。ADC 0809的引脚图及引脚功能:书P23522第22页,共26页。ADC0809的主要特性:P23623第23页,共26页。8031单片机与ADC0809接口24第24页,共26页。启动ADC0809的工作过程为:先送通道号地址到ADDAADDC,由ALE信号锁存通道号地址,后让starts有效启动A/D转换,即执行一条MOVX DPTR,A指令产生WR信号。使ALE、START有效,锁存通道号并启动A/D转换。A/D转换完后,EOC端发出一正脉冲,接着执行MOVX A,DPTR产生RD信号,使OE端有效,打开锁存器三态门,8位数据就读入到CPU中。25第25页,共26页。例1:利用中断方式,分别对8路模拟信号轮流采集一次,转换结果依次存放在首地址为30H的片外数据RAM中。例2:利用查询方式对8路模拟信号进行采集,转换结果存放在首址为30H的片外数据RAM中。26第26页,共26页。