《单片机AD及DA转换器精选PPT.ppt》由会员分享,可在线阅读,更多相关《单片机AD及DA转换器精选PPT.ppt(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、关于单片机AD及DA转换器第1页,讲稿共27张,创作于星期日概概 述述 在微机过程控制和数据采集等系统中,经常要对在微机过程控制和数据采集等系统中,经常要对过程参数过程参数进行测量和控制进行测量和控制。连续变化的物理量连续变化的物理量如:温度、压力、流量如:温度、压力、流量 速度、位移速度、位移 等等等等 物理过程物理过程微微 机机传感器传感器A/DD/A执行机构执行机构物理过程物理过程v/iDataData过程控制示意图过程控制示意图模拟量模拟量第2页,讲稿共27张,创作于星期日D/AD/A转换接口扩展转换接口扩展第3页,讲稿共27张,创作于星期日8 8位位CMOSCMOS数模转换芯片数模转
2、换芯片 DAC 0832DAC 0832:CSCS VCC VCCWR1WR1 ILEILEAGND AGND WR2WR2D3 D3 XFERXFERD2 D4D2 D4D1 D5 D1 D5 D0 D0 D6D6VrefVref D7 D7RfbRfb Iout2Iout2DGND DGND Iout1Iout1DAC0832DAC083220 PIN DIP20 PIN DIP封装封装8 8位位D/A,D/A,分辨率分辨率=Vref/256=Vref/256CMOSCMOS低功耗器件低功耗器件,+5,+5+15V+15V 单电源供电单电源供电电流电流输出型器件输出型器件(需外接运放需外接
3、运放)具有双缓冲控制输出具有双缓冲控制输出采用采用T T型电阻解码网络结构型电阻解码网络结构参考电压源参考电压源,-10,-10+10V+10V一一 单片机与单片机与D/AD/A转换器的接口转换器的接口第4页,讲稿共27张,创作于星期日DAC 0832DAC 0832 引脚定义引脚定义CSCS VCC VCCWR1WR1 ILEILEAGND AGND WR2WR2D3 D3 XFERXFERD2 D4D2 D4D1 D5 D1 D5 D0 D0 D6D6VrefVref D7 D7RfbRfb Iout2Iout2DGND DGND Iout1Iout1DAC0832DAC083220 PI
4、N DIP20 PIN DIP封装封装D0D7:8位数字量输入端位数字量输入端/CS:片选端,低有效片选端,低有效ILE:数据锁存允许数据锁存允许,高有效高有效/WR1:写控制信号写控制信号1,低有效低有效/WR2:写控制信号写控制信号2,低有效低有效/XFER:数据传送控制信号数据传送控制信号Iout1:电流输出端电流输出端1Iout2:电流输出端电流输出端2Rfb:内置反馈电阻端内置反馈电阻端Vref:参考电压源参考电压源,-10+10VDGND:数字量地:数字量地AGND:模拟量地:模拟量地Vcc:+5+15V单电源供电端单电源供电端第5页,讲稿共27张,创作于星期日DAC0832DAC
5、0832 内部结构框图内部结构框图D0D7:8位数字量输入端位数字量输入端/CS:片选端,低有效片选端,低有效ILE:数据锁存允许数据锁存允许,高有效高有效/WR1:写控制信号写控制信号1,低有效低有效/WR2:写控制信号写控制信号2,低有效低有效/XFER:数据传送控制信号数据传送控制信号Iout1:电流输出端电流输出端1Iout2:电流输出端电流输出端2Rfb:内置反馈电阻端内置反馈电阻端Vref:参考电压源参考电压源,-10+10VDGND:数字量地:数字量地AGND:模拟量地:模拟量地Vcc:+5+15V单电源供电端单电源供电端&111 11 10 00 00 00 01 11 1LE
6、2LE2ILEILECECEWR1WR1WR2WR2XFERXFERD7D7D0D0LE1LE1输输入入寄寄存存器器寄寄存存器器DACDAC转转换换器器D/AD/AVrefVrefIout2Iout2Iout1Iout1RfbRfbLE=1LE=1,Q Q 跟随跟随 D DLE=0LE=0,Q Q 锁存锁存 D D第6页,讲稿共27张,创作于星期日DAC0832 DAC0832 与单片机的连接与单片机的连接89C5189C51单片机单片机DAC 0832DAC 0832P0.0P0.7P0.0P0.7P2.0P2.08 8位位DI0DI7DI0DI7EAEAWRWRXFERXFERCSCS+5
7、V+5V6MHz6MHz30Px230Px2WR1WR1WR2WR2+5V+5VVccVccVrefVrefILEILE+uA741uA741-12V-12V+12V+12VGNDGNDAGNDAGNDDGNDDGNDIout1Iout1Iout2Iout2RfbRfb接接示示波波器器输出于数字量输出于数字量DATADATA相对应模拟量:相对应模拟量:MOVMOVDPTRDPTR,#0FEFFH#0FEFFHMOVMOVA A,#DATA#DATAMOVXMOVXDPTR,ADPTR,A第7页,讲稿共27张,创作于星期日输入数字量输入数字量模拟量输出模拟量输出(V V)MSB LSBMSB L
8、SB1 1 1 1 1 1 1 11 1 1 1 1 1 1 1VVREFREF(255/256)(255/256)1 0 0 0 0 0 1 01 0 0 0 0 0 1 0VVREFREF(130/256)(130/256)1 0 0 0 0 0 0 01 0 0 0 0 0 0 0VVREFREF(128/256)(128/256)0 1 1 1 1 1 1 10 1 1 1 1 1 1 1VVREFREF(127/256)(127/256)0 0 0 0 0 0 0 00 0 0 0 0 0 0 0VVREFREF(0/256)(0/256)单极性输出单极性输出D/AD/A关系关系数数
9、字字量量与与模模拟拟量量的的转转换换关关系系:第8页,讲稿共27张,创作于星期日DAC DAC 0832 0832 常常 见见 的的 几几 种种 用用 法法 为寄存命令。当为寄存命令。当 =1=1时,寄存器的输出随输入变化;时,寄存器的输出随输入变化;=0=0时,数据时,数据锁存在寄存器中,而不随输入数据的变化而变化锁存在寄存器中,而不随输入数据的变化而变化 当当ILE=1,=0ILE=1,=0,=0=0时,时,=1=1,允许数据输入,而当,允许数据输入,而当 =1=1时,时,=0 =0 则数据被锁存则数据被锁存 当当 和和 均为低电平时,均为低电平时,=1=1,此时允许,此时允许D/AD/A
10、转换,否则转换,否则 =0=0,将数据锁存于,将数据锁存于DACDAC寄存器中寄存器中第9页,讲稿共27张,创作于星期日DAC DAC 0832 0832 常常 见见 的的 几几 种种 用用 法法 (a):DAC(a):DAC寄存器直通方式寄存器直通方式 (b):(b):输入寄存器直通方式输入寄存器直通方式 (c):(c):两个寄存器同时选通及锁存方式两个寄存器同时选通及锁存方式 第10页,讲稿共27张,创作于星期日DAC0832DAC0832 常见的几种用法常见的几种用法&111 11 10 00 00 00 01 11 1LE2LE2ILEILECECEWR1WR1WR2WR2XFERXF
11、ERD7D7D0D0LE1LE1输输入入寄寄存存器器寄寄存存器器DACDAC转转换换器器D/AD/AVrefVrefIout2Iout2Iout1Iout1RfbRfbLE=1LE=1,Q Q 跟随跟随 D DLE=0LE=0,Q Q 锁存锁存 D D直通方式直通方式:输入寄存器和输入寄存器和DACDAC寄存器共用一个地址,同时选通输出。寄存器共用一个地址,同时选通输出。1&或非门或非门非与门非与门输入任一为输入任一为“1”1”输出皆为输出皆为“0”0”输入全为输入全为“0”0”,输出才为,输出才为“1”1”输入全为输入全为“0”0”,输出才为,输出才为“1”1”输入任一为输入任一为“1”1”
12、输出皆为输出皆为“0”0”双缓冲器方式双缓冲器方式:输入寄存器和输入寄存器和DACDAC寄存器分配有各自的地址,可分别选通用同时输出多路寄存器分配有各自的地址,可分别选通用同时输出多路模拟信号。模拟信号。第11页,讲稿共27张,创作于星期日【例9-6】在图9-30的输出端Vout产生1.25V的电压输出。解 Vout=(D/256)Vref,而Vref=5V,且XFER、CS和WR信号常有效,因此使D=64即可输出要求的电压。汇编程序C语言程序 MOV P1,#64#include P1=64;第12页,讲稿共27张,创作于星期日【例9-7】在图9-31的输出端Vout产生2.5V的电压输出,
13、设Vref为5V。解 Vout=(D/256)Vref,使D=128可输出要求的电压,且需要进行一次对DAC0832的写操作,写地址选择为7000H。汇编程序C语言程序 MOV DPTR,#7000H MOV A,#128MOVX DPTR,A#include XBYTE0 x7000=128;第13页,讲稿共27张,创作于星期日第14页,讲稿共27张,创作于星期日DAC0832 DAC0832 的编程应用举例的编程应用举例例例1 1 产生矩形波产生矩形波例例2 2 产生锯齿波产生锯齿波LL:LL:MOV AMOV A,#00H ;#00H ;低电平低电平 MOV DPTR,#0FEFFHMO
14、V DPTR,#0FEFFH MOVX DPTR,A;MOVX DPTR,A;送转换送转换 LCALL DMS1 ;LCALL DMS1 ;低宽度低宽度 MOV AMOV A,#0FFH;#0FFH;高电平高电平 MOVX DPTR,A;MOVX DPTR,A;送转换送转换 LCALL DMS2 ;LCALL DMS2 ;高宽度高宽度 SJMP LLSJMP LLMOV AMOV A,#00H ;#00H ;起始值起始值 MOV DPTR,#0FEFFHMOV DPTR,#0FEFFHMMMM:MOVX DPTR,A;MOVX DPTR,A;送转换送转换 INC AINC A NOP NOP
15、NOP NOP NOP ;NOP ;决定坡度决定坡度 SJMP MMSJMP MM第15页,讲稿共27张,创作于星期日DAC0832DAC0832编程应用举例:编程应用举例:例例3 3产生三角波产生三角波 MOV A MOV A,#00H#00H MOV DPTR,#0FEFFH MOV DPTR,#0FEFFHSS1:MOVX DPTR,A;SS1:MOVX DPTR,A;送转换送转换 NOPNOP NOP NOP NOP NOPSS2:SS2:INC A ;INC A ;等速上升等速上升 JNZ SS1JNZ SS1SS3:SS3:DEC ADEC A MOVX DPTR MOVX DPT
16、R,A A NOP NOP NOP NOP NOP ;NOP ;等速下降等速下降 JNZ SS3JNZ SS3 SJMP SS2SJMP SS2同样的编程思路,若要产生同样的编程思路,若要产生如下的梯形波也很容易:如下的梯形波也很容易:三角波三角波梯形波梯形波第16页,讲稿共27张,创作于星期日例例4 4 正弦波电压输出正弦波电压输出正弦波电压输出为双极性电压,最简单的办法是将一个周期内电压变化的正弦波电压输出为双极性电压,最简单的办法是将一个周期内电压变化的幅值幅值(-5V+5V)按按8位位D/A分辨率分为分辨率分为256个数值列成表格,然后依次将这些数字量送个数值列成表格,然后依次将这些数
17、字量送入入D/A转换输出。只要循环不断地送数,在输出端转换输出。只要循环不断地送数,在输出端就能获得正弦波输出。就能获得正弦波输出。SIN:MOV R7,#00H DAS0:MOV A,R7 ;MOV DPTR,#TABH;设指针;设指针 MOVC A,A+DPTR ;取数据;取数据 MOV DPTR,#8000H ;MOVX DPTR,A ;送;送D/A转换转换 INC R7 ;修改偏移量;修改偏移量 AJMP DAS0 ;TAB:DB 80H,83H,86H,89H,8DH,90H DB93H,96H,99H,9CH,9FH,0A2H DB 0A5H,0A8H,0ABH,0AEH DB 6
18、FH,72H,76H,79H,7CH,80H第17页,讲稿共27张,创作于星期日A/DA/D转换接口扩展转换接口扩展第18页,讲稿共27张,创作于星期日IN3 IN2IN3 IN2IN4 IN4 IN1IN1IN5 IN5 IN0IN0IN6 ADDAIN6 ADDAIN7 ADDBIN7 ADDBSTART ADDC START ADDC EOC EOC ALEALED3 D7D3 D7OE OE D6D6CLK D5CLK D5VCC D4VCC D4Vref+D0Vref+D0GND Vref-GND Vref-D1 D2D1 D2ADC08098 8位位CMOSCMOS模数转换芯片模数
19、转换芯片ADC0809ADC08098 8位位A/D,A/D,量化间隔量化间隔=Vin/(256-1)=Vin/(256-1)CMOSCMOS低功耗器件低功耗器件8 8 通道通道多路开关输入切换电路多路开关输入切换电路单电源单电源+5+5,Vref=Vref=+5V+5V Vin Vin范围范围:单极性单极性00+5V+5V逐次逼近逐次逼近结构结构每次转换时间每次转换时间:100100 S S 60 60个时钟周期个时钟周期,fmax=,fmax=640KHz640KHz (推荐推荐CLK=500KHzCLK=500KHz)转换结果读取方式转换结果读取方式:延时读数延时读数 查询查询EOC=1
20、 EOC=1 EOCEOC申请中断申请中断第19页,讲稿共27张,创作于星期日ADC0809 ADC0809 结构框图结构框图8 8 通通道多道多路开路开关关IN0IN0IN7IN7地址地址译码译码锁存锁存ADDAADDAADDBADDBADDCADDCALEALE控制逻辑与时序控制逻辑与时序D/AD/A转换器转换器SARSARVinVin比较器比较器输输出出锁锁存存器器STARTSTARTCLKCLKEOCEOCD0D0D7D7+Vref+Vref-Vref-VrefOEOEVstVst+-第20页,讲稿共27张,创作于星期日IN3 IN2IN3 IN2IN4 IN4 IN1IN1IN5 I
21、N5 IN0IN0IN6 ADDAIN6 ADDAIN7 ADDBIN7 ADDBSTART ADDC START ADDC EOC EOC ALEALED3 D7D3 D7OE OE D6D6CLK D5CLK D5VCC D4VCC D4Vref+D0Vref+D0GND Vref-GND Vref-D1 D2D1 D2ADC0809IN0IN7IN0IN7:8 8通道模拟量输入端通道模拟量输入端 D0D7D0D7:8 8位数字量输出端位数字量输出端ADDCADDC、ADDBADDB、ADDAADDA:接地址锁存器的低三位地址接地址锁存器的低三位地址ALEALE:地址锁存允许控制信号地址锁
22、存允许控制信号STARTSTART:清:清0 0内寄存器内寄存器,启动转换启动转换OEOE:允许读允许读A/DA/D结果结果,高有效高有效CLKCLK:时钟输入端:时钟输入端,应应640KHzEOCEOC:转换结束时为高:转换结束时为高VccVcc:+5V+5VVref+Vref+:参考电压,:参考电压,+5V+5VVref-Vref-:0V0VADC 0809ADC 0809引脚定义引脚定义:第21页,讲稿共27张,创作于星期日ADC0809 ADC0809 与单片机的连接与单片机的连接89C51单片机单片机ADC 0809锁存器锁存器74LS373P0.0-P0.7ALEP2.08DQ0A
23、LECLKADDAD0-D7GEAOESTARTRDWROEQ1Q2ADDBADDC+5VINT1EOC1112MHz12MHz30Px230Px2 6 6口地址可以口地址可以为:为:0FE000FE000FE07H 0FE07H 也可为:也可为:0FEF00FEF0 0FEF7H0FEF7HA/D转换程序:转换程序:MOV DPTR,#0FE00H;置;置IN0通道地址通道地址 MOV A,#00 ;累加器里任意赋一个值累加器里任意赋一个值 MOVX DPTR,A;启动启动A/D转换转换 LCALL DELAY;等待转换结束等待转换结束 MOVX A,DPTR;取转换结果取转换结果第22页,
24、讲稿共27张,创作于星期日2、最后执行执行执行执行MOV AMOV A,DPTRDPTR产生RD信号使OE端有效,打开输出锁存器三态门,8位数据就读入CPU中。启动启动ADC0809的工作过程的工作过程1、先送通道号地址到、先送通道号地址到A、B、C,由,由ALE信号锁存通道号地址,然后让信号锁存通道号地址,然后让START有效启动有效启动A/D转换。转换。即执行一条即执行一条即执行一条即执行一条MOVX DPTRMOVX DPTR,A指令产生指令产生WR信号,使信号,使ALE、START有效,锁存通道号并启有效,锁存通道号并启动动A/D转换。转换。A/D转换完毕,转换完毕,EOC端发出一正脉
25、冲,表示转换结束。端发出一正脉冲,表示转换结束。锁存器锁存器74LS373P0.0-P0.7ALEP2.08DQ0ALECLKADDAD0-D7GEAOESTARTRDWROEQ1Q2ADDBADDC+5VINT1EOC1112MHz12MHz30Px230Px2 6 6第23页,讲稿共27张,创作于星期日 ORG 0000H ORG 0000H AJMP MAIN AJMP MAIN ORG ORG 0013H0013H ;外部中断外部中断1 1的中断矢量的中断矢量 AJMP AJMP INTINTMAIN:MAIN:MOV R0,#0A0H MOV R0,#0A0H;存结果的缓冲区存结果的
26、缓冲区:A0H-A7HA0H-A7H MOV R2,#08H MOV R2,#08H ;待采集的待采集的通道数为通道数为 8 8 SETB IT1 SETB IT1 ;选择选择下降沿下降沿触发中断触发中断 SETB EA SETB EA ;开中断开中断 SETB EX1SETB EX1 MOV DPTR,#MOV DPTR,#0FEF00FEF0H H;通道通道0 0的地址的地址 MOVX DPTR,A MOVX DPTR,A;启动转换。启动转换。注意注意:A=A=?HEREHERE:SJMP HERE SJMP HERE ;等待中断等待中断ADC0809ADC0809八路巡回中断式数据采集八
27、路巡回中断式数据采集第24页,讲稿共27张,创作于星期日 ORG 0000HORG 0000H AJMP MAIN AJMP MAIN ORG 0013HORG 0013H AJMP INT AJMP INTMAIN:MOV R0,#0A0HMAIN:MOV R0,#0A0H MOV R2,#08H MOV R2,#08H SETB IT1 SETB IT1 SETB EA SETB EA SETB EX1 SETB EX1 MOV DPTR,#0FEF0H MOV DPTR,#0FEF0H MOVX DPTR,A MOVX DPTR,AHEREHERE:SJMP HERESJMP HEREA
28、DC0809ADC0809八路巡回中断式数据采集八路巡回中断式数据采集INT:INT:MOVX AMOVX A,DPTR DPTR ;读数据读数据 MOV R0,A MOV R0,A ;数据放进缓存单元数据放进缓存单元 INC R0 INC R0 ;指向下一缓存指向下一缓存 INC DPTR INC DPTR;指向下一通道指向下一通道 DJNZ R2DJNZ R2,RTNRTN ;8;8 次未完就继续采集次未完就继续采集,;已完就关中断、停采集已完就关中断、停采集 CLR EACLR EA CLR EX1 CLR EX1 RETI RETIRTNRTN:MOVX DPTR,A:MOVX DPTR,A;启动采集启动采集 RETIRETI第25页,讲稿共27张,创作于星期日思考题思考题请编写请编写89C51单片机通过单片机通过DAC0832产产生锯齿波信号、三角波、梯形波的程序生锯齿波信号、三角波、梯形波的程序(可以为任意频率)。(可以为任意频率)。当当ADC0809对对8路模拟信号进行路模拟信号进行A/D转转换时,请编写用查询方式工作的采样程换时,请编写用查询方式工作的采样程序,序,8路采样值存放在路采样值存放在50H57H单元。单元。第26页,讲稿共27张,创作于星期日感感谢谢大大家家观观看看第27页,讲稿共27张,创作于星期日