1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第七章 单片机的典型外围接口技术,7,.3.1,D/A,转换器及其接口电路的一般特点,7,.3.2,D/A,转换器的接口电路,7,.4.1,ADC,电路,7,.3.2,A/D,转换器的接口电路,概述,单片机和被控实体间的接口示意图,性能指标,l,分辨率(,Resolution,),是指转换器对输出的数字量与输入的模拟量或者输入的数字量与输出的模拟量的分辨能力,通常用二进制位数来表示。如获,1/2,n,l,转换时间指转换器完成一次模拟量与数字量转换所花的时间,。这个时间影响系统的速度,L,量化误差指实际输出与
2、理论值之间的误差,D/A,转换的一般工作原理,:,常用,电阻分压,/,分流,来实现,D/A,转换。,D/A,转换器将数字信息转换成与数值成正比的电压,/,电流。,有权电阻解码网络,与,T,型解码网络,两种构建方法,又以,T,型解码网络,最为常用。,权电阻解码网络,简单,。但随着,D/A,转换的位数增加,权电阻值跨度增大,在集成电路中,难于实现,。,T,型解码网络,电阻,数量大,一倍。但电阻值归一化程度高,容易集成,,精度高,。应用最为普遍。,权电阻解码网络,+,I,Iout,R0,R1,R2,R3,R4,R5,R6,R7,若:,R0=,R,R1=,R,/2,R2=,R,/4,R3=,R,/8,
3、R7=,R,/128,从而,:I0=,Vref,/,R,I1=2,Vref,/,R,I2=4,Vref,/,R,I3=8,Vref,/,R,I7=128Vref/,R,开关控制电路,开关控制电路的作用:,将,“,0,”,值,对应的开关打到,地,,,将,“,1,”,值,对应的开关接通,Vref,加法器电路,简单,权电阻值跨度大,在集成电路中难于实现,D7,D6,D5,D4,D3,D2,D1,D0,Vref,+,Iout,2R,2R,2R,2R,2R,2R,2R,2R,每个,2R,支路的电流均为上一支路的,1/2,:,I7=(Vref/2R),I6=(Vref/2R)/2,I5=(Vref/2R)
4、/4,I0=(Vref/2R)/128,开关控制电路,开关控制电路,:,“,0,”,值,将开关打到,地,;,“,1,”,值,将开关接通,Vref,加法器电路,T,型解码网络,2R,R,R,R,R,R,R,R,深度负反馈条件下,运放的,“,虚短特性,”,:,Vd,0,(,因开环增益极大,输入端之间压差极小,),Ii,0,(,因输入阻抗极大,输入电流极小,),从而,:,由节点,向下看,去阻值均为,2R,由节点,向下向右看,去阻值均为,R,Vref,“1”,“0”,I7,I6,I5,I4,I3,I2,I0,I1,电阻数量增大一倍,但阻值归一,集成容易,精度高,D7,D0,7,.3.1,D/A,转换器
5、及其接口电路的一般特点,将数字信号,模拟信号,运算放大器组成的电流电压转换器,将电流转化成电压输出,数据线接法与内部是否有锁存器而不同,内部无锁存器的,D/A,转换器,目的:数据保持,使,D/A,转换输出稳定,12,位数模转换芯片,AD7542,7.3.2D/A,转换器的接口电路,1,通过,P1,、,P3,等,I/O,口的接口,12,位数,/,模转换器,_AD7542,AD7542,是双缓冲并行送数的,12,位,CMOS,乘法式数,/,模转换器,其功能框图示于图,7-18,。它由三个,4,位数据寄存器、一个,12,位,DAC,寄存器、地址译码逻辑和,12,位,DAC,所组成。,12,位数模转换
6、芯片,AD7542,图,7-18 AD7542,的功能框图,12,位数模转换芯片,AD7542,A0,、,A1,提供各寄存器的地址。,CLR,为清零端,当其低电平有效时,使所有的寄存器都复位为,0,。,CS,为片选端,输入,低电平有效。,WR,为写信号,输入,低电平有效。,各信号的功能见表,7_2,。,AD7542,数,/,模转换器信号的功能,AD7542,控制输入,AD7542,操作,A1,A0,CS,WR,CLR,0,寄存器复位为,0,1,1,无操作不选该器件,0,0,0,1,由数据线,D3D0,加载,L,段数据寄存器,0,1,0,1,由数据线,D3D0,加载,M,段,1,0,0,1,由数
7、据线,D3D0,加载,M,段数据寄存器,1,1,0,1,由,LMH,数据寄存器加载,DAC,数据寄存器,注:,表中,1,为高电平,,0,为低电平,,为任意电平,表示由低电平转向高电平。,12,位数模转换芯片,AD7542,(2)AD7542,与,80C51,的接口,AD7542,与,80C51,的接口电路非常简单,见图,7-19,。用,P1,口的,P1.3P1.0,与数据线,D3D0,相连,,P1.5,、,P1.4,与,A1,、,A0,相连,,P1.6,用做片选,CS,,,P3.0,用做,WR,信号。,图,719 AD7542,与,80C51,的接口电路,第七章单片机的典型外围接口技术,编程举
8、例:,数据存放在片内,RAM,的,20H21H,单元中,寄存器地址存放在,R2,中,子程序,ADDRS,将,R2,中的寄存器地址形成有效的地址向器件加载,子程序,DATA,用于将数据加载到指定的寄存器。,ORG 100H,DACLOAD,:,CLR P1.6,MOV R2,,,#0,MOV R0,,,#21H,LCALL ADDRS,MOV A,,,R0,LCALL DATA,INC R2,LCALL ADDRS,MOV A,,,R0,SWAP A,LCALL DATA,INC R2,ORG 200H,ADDRS,:,CLR P1.5,CLR P1.4,MOV A,,,R2,SWAP A,OR
9、L P1,,,A,RET,DATA,:,ANL A,,,#0FH,ORL P1,,,A,CLR P3.0,SETB P3.0,RET,LCALL ADDRS,DEC R0,MOV A,,,R0,LCALL DATA,INC R2,LCALL ADDRS,CLR P3.0,SETB P3.0,SETB P1.6,RET,8,位,CMOS,数模转换芯片,DAC 0832,CS,VCC,WR1,ILE,AGND,WR2,D3,XFER,D2 D4,D1 D5,D0,D6,Vref,D7,Rfb,Iout2,DGND,Iout1,DAC0832,20 PIN DIP,封装,8,位,D/A,,,分辨率,
10、Vref/256,CMOS,低功耗器件,,+5,+15V,单电源供电,电流输出型器件,(,需外接运放,),具有双缓冲控制输出,采用,T,型电阻解码网络结构,参考电压源,,-10,+10V,DAC 0832,引脚定义,CS,VCC,WR1,ILE,AGND,WR2,D3,XFER,D2 D4,D1 D5,D0,D6,Vref,D7,Rfb,Iout2,DGND,Iout1,DAC0832,20 PIN DIP,封装,D0,D7,:,8,位数字量输入端,/CS,:,片选端,低有效,ILE,:,数据锁存允许,高有效,/WR1,:,锁存输入数据写控制信号,/WR2,:,锁存输入寄存器输出数据的写信号
11、/XFER,:,数据传送控制信号,Iout1,:,电流输出端,1,Iout2,:,电流输出端,2,Rfb,:,内置反馈电阻端,Vref,:,参考电压源,-10+10V,DGND,:,数字量地,AGND,:,模拟量地,Vcc,:+5,+15V,单电源供电端,DAC0832,内部结构框图,&,1,1,1,1,0,0,0,0,1,1,LE2,ILE,CS,WR1,WR2,XFER,D7,D0,LE1,输入寄存器,寄存器,DAC,转换器,D/A,Vref,Iout2,Iout1,Rfb,LE=1,,,Q,跟随,D,LE=0,,,Q,锁存,D,D0,D7,:,8,位数字量输入端,/CS,:,片选端,低
12、有效,ILE,:,数据锁存允许,高有效,/WR1,:,锁存输入数据,写控制信号,/WR2,:,锁存输入寄存器输出数据的,写信号,/XFER,:,数据传送控制信号,Iout1,:,电流输出端,1,(输入数据,为全,1,时,电源最大),Iout2,:,电流输出端,2,Rfb,:,内置反馈电阻端,Vref,:,参考电压源,-10,+10V,DGND,:,数字量地,AGND,:,模拟量地,Vcc,:+5,+15V,单电源供电端,DAC0832,常见的几种用法,&,1,1,1,1,0,0,0,0,1,1,LE2,ILE,CE,WR1,WR2,XFER,D7,D0,LE1,输入寄存器,寄存器,DAC,转换
13、器,D/A,Vref,Iout2,Iout1,Rfb,LE=1,,,Q,跟随,D,LE=0,,,Q,锁存,D,DAC,寄存器直通方式,输入寄存器直通方式,两个寄存器同时选通及锁存方式,1,&,或非门,非与门,输入任一为,“,1,”,输出皆为,“,0,”,输入全为,“,0,”,,输出才为,“,1,”,输入全为,“,0,”,,输出才为,“,1,”,输入任一为,“,1,”,输出皆为,“,0,”,单缓冲方式,89C51,单片机,DAC 0832,P0.0,P0.7,P2.0,8位,DI0,DI7,EA,WR,XFER,CS,+5V,6MHz,30Px2,由于内部有输入寄存器和,DAC,寄存器,所以不需
14、外加其它电路便可以与微型计算机的数据总线直接参与相连,WR1,WR2,+5V,Vcc,Vref,ILE,+,uA741,-12V,+12V,GND,AGND,DGND,Iout1,Iout2,Rfb,接示波器,1,、直通方式:,/CS,、,/XFER,、,/WR1,、,/WR2,接地,,ILE,接高电平,2,、单缓冲方式:一个寄存器工作直通方式,或是两个寄存器同时选通及锁存方式,DAC0832,的编程应用举例,例,1,产生矩形波,例,2,产生锯齿波,LL:,MOV A,,,#00H ;,低电平,MOV DPTR,#0FEFFH,MOVX DPTR,A;,送,转换,LCALL DMS1 ;,低宽
15、度,MOV A,,,#0FFH;,高电平,MOVX DPTR,A;,送转换,LCALL DMS2 ;,高宽度,SJMP LL,MOV A,,,#00H ;,起始值,MOV DPTR,#0FEFFH,MM,:,MOVX DPTR,A;,送转换,INC A,NOP,NOP,NOP ;,决定坡度,SJMP MM,DAC0832,编程应用举例:,例,3,产生三角波,MOV A,,,#00H,MOV DPTR,#0FEFFH,SS1:MOVX DPTR,A;,送转换,NOP,NOP,NOP,SS2:,INC A ;,等速上升,JNZ SS1,SS3:,DEC A,MOVX DPTR,,,A,NOP,NO
16、P,NOP ;,等速下降,JNZ SS3,SJMP SS2,同样的编程思路,若要产生,如下的梯形波也很容易:,三角波,梯形波,DAC0832,的编程应用举例,SE13:MOV SP,#60H,MOV 7EH,#00H,MOV 7DH,#08H,MOV 7CH,#03H,MOV 7BH,#02H,REPT,:MOV R6,#00H,JIA1,:MOV DPTR,#,0FFE0H,MOV A,R6,MOVX DPTR,A;,送,D/A,转换,MOV R0,#79H;,显缓最低位,LCALL PTDS,;,拆字,MOV R2,#10H,XS1:LCALL DIS ;,显示,DJNZ R2,XS1,I
17、NC R6 ;,加,1,显示缓冲 区初值,PTDS,单字节拆字子程序:,功能:,将,A,中的单字节,16,进制数拆开:,出口:,低,4,位,放进,R0,间接寻址指向的单元,(,79H,),高,4,位,放进,R0,1,后指向的单元,(,7AH,),DAC0832,的编程应用举例,SE13:MOV SP,#60H,MOV 7EH,#00H,MOV 7DH,#08H,MOV 7CH,#03H,MOV 7BH,#02H,REPT,:MOV R6,#00H,JIA1,:MOV DPTR,#,0FFE0H,MOV A,R6,MOVX DPTR,A;,送,D/A,转换,MOV R0,#79H;,显缓最低位,
18、LCALL PTDS,;,拆字,MOV R2,#10H,XS1:LCALL DIS ;,显示,DJNZ R2,XS1,INC R6 ;,加,1,CJNE R6,#0FFH,JIA1,;,不到,0FF,则继续加,JIAN,:MOV DPTR,#,0FFE0H,DEC R6,MOV A,R6,MOVX DPTR,A;,送转换,MOV R0,#79H,LCALL PTDS,MOV R2,#10H,XS2:LCALL DIS ;,显示,DJNZ R2,XS2,CJNE R6,#00H,JIAN,;,不为,0,继续减,SJMP,REPT,;,循环,显示缓冲 区初值,7,.4,ADC,接口,A/D,转换器
19、A/D,转换的一般工作模式常用的有:,逐次逼近式,双积分式,并行式,-,式,尤以前两种最为普遍。,控制逻辑与时序,D/A,转换器,SAR,Vin,比较器,输出锁存器,START,CLK,EOC,D0,D7,+,Vref,-,Vref,OE,Vst,逐次逼近式,A/D,转换器结构,+,-,D/A,转换器的输出,从二进制数据的最高位起,依次逐位置,1,,与待转换的,模拟量,比较,若前者小于,后者,,该位置,1,并保留下来,若前者大于,后者,,该位,清,0;,然后再照此,比较下一位,直至比完最低位。,最后得到的结果,即,A/D,转换的值。,控制逻辑与时序,D/A,转换器,SAR,Vin,比较器,输
20、出,锁存,器,START,CLK,EOC,D0,D7,+,Vref,-,Vref,OE,Vst,逐次逼近式,A/D,转换器工作原理,转换速度较快(比较次数等于,A/D,的位数)通常在,几,S,至,几百,S,数量级,。,被转换的模拟量若频率很高(变化较快)则要,加,S/H,电路,。,被转换的模拟量若幅度过小(信号微弱)则需要加,信号调理电路,。,逐次逼近式,A/D,转换器,特点,双,积分式,A/D,转换器结构与工作原理,比较器,积分器,+-,+-,标准电压,时钟,控制逻辑,计数器,Vin,T,T,时间固定,斜率固定,Vin,t,输出,电路对未知输入电压先进行固定时间,T,的积分,(,充电,),然
21、后对已知标准电压进行反向积分,(,放电,),,直至放电为,0,,放电所花时间,T,(,正比于输入电压,),例如:,ICL7107,双,积分式,A/D,转换器,特点,转换速度较,慢,(因为,A/D,转换的过程要两次积分)通常在,几十,mS,至几百,mS,数量级,。,适用于转换变化较缓慢的模拟量(频率较低)输入端一般,不需要在加,S/H,电路,。,抗干扰性强,(信号波动对精度影响不大)。,性价比高,,与逐次比较型相比,,同样价格条件下转换精度较高,常用于数字多用表。,IN3 IN2,IN4,IN1,IN5,IN0,IN6 ADDA,IN7 ADDB,START ADDC,EOC,ALE,D3 D7
22、OE,D6,CLK D5,VCC D4,Vref,+D0,GND,Vref,-,D1 D2,ADC0809,8,位,CMOS,模数转换芯片,ADC0809,8,位,A/D,量化间隔,=Vin/(256-1),CMOS,低功耗器件,8,通道,多路开关输入切换电路,单电源,+5,Vref=,+5V,Vin,范围,:,单极性,0,+5V,逐次逼近,结构,每次转换时间,:,100,S,60,个时钟周期,fmax,=,640KHz,(,推荐,CLK=500KHz,),转换结果读取方式,:,延时读数,查询,EOC=1,EOC,申请中断,IN3 IN2,IN4,IN1,IN5,IN0,IN6 ADDA,I
23、N7 ADDB,START ADDC,EOC,ALE,D3 D7,OE,D6,CLK D5,VCC D4,Vref,+D0,GND,Vref,-,D1 D2,ADC0809,IN0,IN7,:,8,通道模拟量输入端,D0,D7,:,8,位数字量输出端,ADDC,、,ADDB,、,ADDA,:,接地址锁存器的低三位地址,ALE,:,地址锁存允许控制信号,START,:上升沿清,0,内寄存器,下,降沿启动转换,OE,:,允许读,A/D,结果,高有效,CLK,:,时钟输入端,应,640KHz,EOC,:,转换结束时为高,Vcc,:,+5V,Vref,+,:,参考电压,,+5V,Vref,-,:,0V
24、ADC 0809,引脚定义,:,ADC0809,结构框图,8,通道多路开关,IN0,IN7,地址译码锁存,ADDA,ADDB,ADDC,ALE,控制逻辑与时序,D/A,转换器,SAR,Vin,比较器,输出锁存器,START,CLK,EOC,D0,D7,+,Vref,-,Vref,OE,Vst,+,-,ADC0809,与单片机的连接,P.207,89C51,单片机,ADC 0809,锁存器,74LS373,P0.0-P0.7,ALE,P2.0,8D,Q0,ALE,CLK,ADDA,D0-D7,G,EA,OE,START,RD,WR,OE,Q1,Q2,ADDB,ADDC,+5V,INT1,EOC
25、1,1,6MHz,30Px2,2,CK Q,D /Q,图中的,2,分频电路可用,D,触发器实现,口,地址可以为,:,0FE00,0FE07H,也可为:,0FEF0,0FEF7H,ORG 0000H,AJMP MAIN,ORG,0013H,;,外部中断,1,的中断矢量,AJMP,INT,MAIN:,MOV R0,#030H,;,存结果的缓冲区,:,30H-37H,MOV R2,#08H,;,待采集的,通道数为,8,SETB IT1,;,选择,下降沿,触发中断,SETB EA,;,开中断,SETB EX1,MOV DPTR,#,0FEF0,H,;,通道,0,的地址,MOVX,DPTR,A,;,启
26、动转换。,注意,:,A=,?,HERE,:,SJMP HERE,;,等待中断,ADC0809,八路巡回中断式数据采集,ORG 0000H,AJMP MAIN,ORG 0013H,AJMP INT,MAIN:MOV R0,#0A0H,MOV R2,#08H,SETB IT1,SETB EA,SETB EX1,MOV DPTR,#0FEF0H,MOVX DPTR,A,HERE:SJMP HERE,INT:,MOVX A,,,DPTR,;,读数据,MOV R0,A,;,数据放进缓存单元,INC R0,;,指向下一缓存,INC DPTR,;,指向下一通道,DJNZ R2,,,RTN,;8,次未完就继续
27、采集,;,已完就关中断、停采集,CLR EA,CLR EX1,RETI,RTN,:MOVX DPTR,A,;,启动采集,RETI,ADC0809,八路巡回中断式数据采集,SE11:MOV SP,#60H;,设,SP,堆栈从,61H,开始,MOV 7EH,#,00,H,MOV 7DH,#,08,H,MOV 7CH,#,00,H,显示缓冲区,79H,7EH,MOV 7BH,#,09,H,赋初值,“,0809,黑黑,”,MOV 7AH,#,10,H,MOV 79H,#,10,H,编程应用例子:,硬件实验九,SE11:MOV SP,#60H,(,显缓,79H,7EH,赋初值,“,0809,黑黑,”,略
28、ADC,:,LCALL DIS;,通过调显示也延时,100uS,MOV A,#00H ;,累加器里任意赋一个值,MOV DPTR,#0FFE0H;0809,通道,0,口地址,MOVX,DPTR,A;,启动,0809,的,0,通道采样,LCALL DIS,;,显示,&,延时,MOVX A,DPTR ;,取出采样值,MOV R0,#79H,;R0,指向显示缓冲区首址,LCALL,PTDS,;,采样值拆开并送显缓,SJMP,ADC,;,连续转换,编程应用例子:,硬件实验九,12,位,A/D,转换器,AD574A,可直接与最通用的,8,位或,16,位微处理器接口。,短的转换时间,在,25s,时代
29、间内完成一次转换,可提供四种不同的输入范围:,单极性输入,0+10 V,或,0+20 V,;,双极性输入,-5+5 V,或,-10+10 V,。,自带参考电压。该电源除供本身使用外,还可为外部负载提供,1,mA,的电流输出。,12,位,A/D,转换器,AD574A,图,7-35AD574A,的引脚分配和内部结构框图,12,位,A/D,转换器,AD574A,AD574A,有两组控制引脚:,一般控制引脚(,CE,、,CS,和,R/,C,),CE=1,、,CS,=0,、,R/,C,=0,时,启动转换;,CE=1,、,CS,=0,、,R/,C,=1,时,读允许。,内部寄存器控制引脚(和,A0,),主要
30、控制数据输出形式和转换时间长短的。,12/,8,=1,,当一般控制引脚发出读数据命令时,,12,根输出数据线上的数据均有效。,12,位,A/D,转换器,AD574A,若,12/,8,=0,对于一个,8,位的接口,则根据,A0,的状态来确定高,8,位有效,/,低,4,位有效。这时,数据线低,4,位(,1619,脚)要硬连接到高,4,位(,2427,脚)上。,(1)A0=0,,,读出高,8,位数据,(2)A0=1,,,高,8,位数据线禁止,读出低,4,位数据,A0,的另一功能是控制转换周期的长短。,在转换周期开始前:,(,1,),A0=0,,完成完整的,12,位转换需,25,s,;,(,2,),A
31、0=1,,仅完成,8,位转换,需时约,16 s,。,第七章单片机的典型外围接口技术,若将,AD574A,作为一个存储器来对待,为了与,8,位总线接口,需占据两个存储器地址(用,A0,来选择)。,当,A0,为低时,执行的写操作是启动一次完整的,12,位转换周期;而当,A0,为高时,执行的写操作是启动一次,8,位的短转换周期,这样的读数精度低而速度较快。,在转换完成之后,可读取两个字节的数据:当,A0,为低时,读取的是,12,位中的高,8,位;当,A0,为高时,读取的是,12,位中的低,4,位。为此,一般将,A0,接在地址线的,A0,上。,STS,为状态线,当转换开始时,它变高;在转换过程中,一直
32、维持为高;转换周期结束时,它将变为低。,AD574A,与,80C51,的接口,图,736 AD574A,与,80C51,的接口电路,AD574A,与,80C51,的接口,采用中断法采集数据,编程如下:,ORG 0003H LJMP INTR1,;,ORG 0300H,;主程序,MOV R0,,,#20,;,数据缓冲区首址,MOV DPTR,,,#0H,SETB EX0,;,外部中断,0,允许,SETB EA,;,开中断,MOVX DPTR,,,A,;,启动,12,位转换;,LJMP,第七章单片机的典型外围接口技术,ORG 1000H,;,中断服务程序,INTR1,:,MOVX A,,,DPTR,MOV R0,,,A,INC R0,INC DPTR,MOVX A,,,DPTR,MOV R0,,,A,RETI,






