51单片机(AD及DA转换器).ppt

上传人:wuy****n92 文档编号:70755356 上传时间:2023-01-27 格式:PPT 页数:26 大小:445KB
返回 下载 相关 举报
51单片机(AD及DA转换器).ppt_第1页
第1页 / 共26页
51单片机(AD及DA转换器).ppt_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《51单片机(AD及DA转换器).ppt》由会员分享,可在线阅读,更多相关《51单片机(AD及DA转换器).ppt(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 数模及模数转换器接口数模及模数转换器接口 l数模变换数模变换DACDAC和模数变换和模数变换ADCADC接口器件原理接口器件原理lDAC0832DAC0832原理及应用(波形发生器)原理及应用(波形发生器)lADC0804ADC0804原理及应用(电压测量)原理及应用(电压测量)要求:理解掌握常用数模变换理解掌握常用数模变换DACDAC和模数变换和模数变换ADCADC器器件(件(DAC0832DAC0832、ADC0804ADC0804)的应用方法及和单片微)的应用方法及和单片微机的接口与应用编程实例机的接口与应用编程实例 概概 述述 在微机过程控制和数据采集等系统中,经常要对在微机过程控制

2、和数据采集等系统中,经常要对过程参数过程参数进行测量和控制进行测量和控制。连续变化的物理量连续变化的物理量如:温度、压力、流量如:温度、压力、流量 速度、位移速度、位移 等等等等 物理过程物理过程微微 机机传感器传感器A/DD/A执行机构执行机构物理过程物理过程v/iDataData过程控制示意图过程控制示意图模拟量模拟量D/AD/A转换接口接口扩展展8 8位位CMOSCMOS数模转换芯片数模转换芯片 DAC 0832DAC 0832:CSCS VCC VCCWR1WR1 ILEILEAGND AGND WR2WR2D3 D3 XFERXFERD2 D4D2 D4D1 D5 D1 D5 D0

3、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 单电源供电单电源供电电流电流输出型器件输出型器件(需外接运放需外接运放)具有双缓冲控制输出具有双缓冲控制输出采用采用T T型电阻解码网络结构型电阻解码网络结构参考电压源参考电压源,-10,-10+10V+10V一一 单片机与单片机与D/AD/A转换器的接口转换器的接口

4、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封装封装D0D7:8位数字量输入端位数字量输入端/CS:片选端,低有效片选端,低有效ILE:数据锁存允许数据锁存允许,高有效高有效/WR1:写控制信号写控制信号1,低有效低有效/WR2:写控制信号写控制信号

5、2,低有效低有效/XFER:数据传送控制信号数据传送控制信号Iout1:电流输出端电流输出端1Iout2:电流输出端电流输出端2Rfb:内置反馈电阻端内置反馈电阻端Vref:参考电压源参考电压源,-10+10VDGND:数字量地:数字量地AGND:模拟量地:模拟量地Vcc:+5+15V单电源供电端单电源供电端DAC0832DAC0832 内部结构框图内部结构框图D0D7:8位数字量输入端位数字量输入端/CS:片选端,低有效片选端,低有效ILE:数据锁存允许数据锁存允许,高有效高有效/WR1:写控制信号写控制信号1,低有效低有效/WR2:写控制信号写控制信号2,低有效低有效/XFER:数据传送控

6、制信号数据传送控制信号Iout1:电流输出端电流输出端1Iout2:电流输出端电流输出端2Rfb:内置反馈电阻端内置反馈电阻端Vref:参考电压源参考电压源,-10+10VDGND:数字量地:数字量地AGND:模拟量地:模拟量地Vcc:+5+15V单电源供电端单电源供电端&111 11 10 00 00 00 01 11 1LE2LE2ILEILECECEWR1WR1WR2WR2XFERXFERD7D7D0D0LE1LE1输输入入寄寄存存器器寄寄存存器器DACDAC转转换换器器D/AD/AVrefVrefIout2Iout2Iout1Iout1RfbRfbLE=1LE=1,Q Q 跟随跟随 D

7、 DLE=0LE=0,Q Q 锁存锁存 D DDAC0832 DAC0832 与单片机的连接与单片机的连接89C5189C51单片机单片机DAC 0832DAC 0832P0.0P0.7P0.0P0.7P2.0P2.08 8位位DI0DI7DI0DI7EAEAWRWRXFERXFERCSCS+5V+5V6MHz6MHz30Px230Px2WR1WR1WR2WR2+5V+5VVccVccVrefVrefILEILE+uA741uA741-12V-12V+12V+12VGNDGNDAGNDAGNDDGNDDGNDIout1Iout1Iout2Iout2RfbRfb接接示示波波器器输出于数字量输出于

8、数字量DATADATA相对应模拟量:相对应模拟量:MOVMOVDPTRDPTR,#0FEFFH#0FEFFHMOVMOVA A,#DATA#DATAMOVXMOVXDPTR,ADPTR,A输入数字量输入数字量模拟量输出模拟量输出(V V)MSB LSBMSB LSB1 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

9、)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关系关系数数字字量量与与模模拟拟量量的的转转换换关关系系:DAC DAC 0832 0832 常常 见见 的的 几几 种种 用用 法法 为寄存命令。当为寄存命令。当 =1 =1时,寄存器的输出随输入变化;时,寄存器的输出随输入变化;=0 =0时,数据时,数据锁存在寄存器中,而不随输入数据的变化而变化锁存在寄存器中,而不随输入数据的变化而变化 当当I

10、LE=1,=0ILE=1,=0,=0 =0时,时,=1 =1,允许数据输入,而当,允许数据输入,而当 =1 =1时,时,=0 =0 则数据被锁存则数据被锁存 当当 和和 均为低电平时,均为低电平时,=1 =1,此时允许,此时允许D/AD/A转换,否则转换,否则 =0=0,将数据锁存于,将数据锁存于DACDAC寄存器中寄存器中DAC DAC 0832 0832 常常 见见 的的 几几 种种 用用 法法 (a):DAC(a):DAC寄存器直通方式寄存器直通方式 (b):(b):输入寄存器直通方式输入寄存器直通方式 (c):(c):两个寄存器同时选通及锁存方式两个寄存器同时选通及锁存方式 DAC08

11、32DAC0832 常见的几种用法常见的几种用法&111 11 10 00 00 00 01 11 1LE2LE2ILEILECECEWR1WR1WR2WR2XFERXFERD7D7D0D0LE1LE1输输入入寄寄存存器器寄寄存存器器DACDAC转转换换器器D/AD/AVrefVrefIout2Iout2Iout1Iout1RfbRfbLE=1LE=1,Q Q 跟随跟随 D DLE=0LE=0,Q Q 锁存锁存 D D直通方式直通方式:输入寄存器和输入寄存器和DACDAC寄存器共用一个地址,同时选通输出。寄存器共用一个地址,同时选通输出。1&或非门或非门非与门非与门输入任一为输入任一为“1”“

12、1”输出皆为输出皆为“0”“0”输入全为输入全为“0”“0”,输出才为输出才为“1”“1”输入全为输入全为“0”“0”,输出才为,输出才为“1”“1”输入任一为输入任一为“1”“1”输出皆为输出皆为“0”“0”双缓冲器方式双缓冲器方式:输入寄存器和输入寄存器和DACDAC寄存器分配有各自的地址,可分别选通用同时输寄存器分配有各自的地址,可分别选通用同时输出多路模拟信号。出多路模拟信号。【例9-6】在图9-30的输出端Vout产生1.25V的电压输出。解 Vout=(D/256)Vref,而Vref=5V,且XFER、CS和WR信号常有效,因此使D=64即可输出要求的电压。汇编程序C语言程序 M

13、OV P1,#64#include P1=64;【例9-7】在图9-31的输出端Vout产生2.5V的电压输出,设Vref为5V。解 Vout=(D/256)Vref,使D=128可输出要求的电压,且需要进行一次对DAC0832的写操作,写地址选择为7000H。汇编程序C语言程序 MOV DPTR,#7000H MOV A,#128MOVX DPTR,A#include XBYTE0 x7000=128;DAC0832 DAC0832 的编程应用举例的编程应用举例例例1 1 产生矩形波产生矩形波例例2 2 产生锯齿波产生锯齿波LL:LL:MOV AMOV A,#00H ;#00H ;低电平低电

14、平 MOV DPTR,#0FEFFH MOV 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,#0FEFFH MOV DPTR,#0FEFFHMMMM:MOVX DPTR,A;MOVX DPTR,A;送转换送

15、转换 INC AINC A NOP NOP NOP NOP NOP ;NOP ;决定坡度决定坡度 SJMP MMSJMP MMDAC0832DAC0832编程应用举例:编程应用举例:例例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 SS1 JNZ SS1SS3:SS3:DEC ADEC A MOVX DPTR MOV

16、X DPTR,A A NOP NOP NOP NOP NOP ;NOP ;等速下降等速下降 JNZ SS3 JNZ SS3 SJMP SS2SJMP SS2同样的编程思路,若要产生同样的编程思路,若要产生如下的梯形波也很容易:如下的梯形波也很容易:三角波三角波梯形波梯形波例例4 4 正弦波电压输出正弦波电压输出正弦波电压输出为双极性电压,最简单的办法是将一个周期内电压变化正弦波电压输出为双极性电压,最简单的办法是将一个周期内电压变化的幅值的幅值(-5V+5V)按按8位位D/A分辨率分为分辨率分为256个数值列成表格,然后依次个数值列成表格,然后依次将这些数字量送入将这些数字量送入D/A转换输出

17、。只要循环不断地送数,在输出端转换输出。只要循环不断地送数,在输出端就能获得正弦波输出。就能获得正弦波输出。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 6FH,72H,76H,7

18、9H,7CH,80HA/DA/D转换接口接口扩展展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模数转换芯片模数转换芯片ADC0809ADC08098 8位位A/D,A/D,量化间隔量化间隔=Vin/(256-1)

19、=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 EOC=1 EOCEOC申请中断申请中断ADC0809 ADC0809 结构框图结构框图8 8 通通

20、道多道多路开路开关关IN0IN0IN7IN7地址地址译码译码锁存锁存ADDAADDAADDBADDBADDCADDCALEALE控制逻辑与时序控制逻辑与时序D/AD/A转换器转换器SARSARVinVin比较器比较器输输出出锁锁存存器器STARTSTARTCLKCLKEOCEOCD0D0D7D7+Vref+Vref-Vref-VrefOEOEVstVst+-IN3 IN2IN3 IN2IN4 IN4 IN1IN1IN5 IN5 IN0IN0IN6 ADDAIN6 ADDAIN7 ADDBIN7 ADDBSTART ADDC START ADDC EOC EOC ALEALED3 D7D3 D7

21、OE OE D6D6CLK D5CLK D5VCC D4VCC D4Vref+D0Vref+D0GND Vref-GND Vref-D1 D2D1 D2ADC0809IN0IN7IN0IN7:8 8通道模拟量输入端通道模拟量输入端 D0D7D0D7:8 8位数字量输出端位数字量输出端ADDCADDC、ADDBADDB、ADDAADDA:接地址锁存器的低三位地址接地址锁存器的低三位地址ALEALE:地址锁存允许控制信号地址锁存允许控制信号STARTSTART:清:清0 0内寄存器内寄存器,启动转换启动转换OEOE:允许读允许读A/DA/D结果结果,高有效高有效CLKCLK:时钟输入端:时钟输入端

22、,应应640KHzEOCEOC:转换结束时为高:转换结束时为高VccVcc:+5V+5VVref+Vref+:参考电压,:参考电压,+5V+5VVref-Vref-:0V0VADC 0809ADC 0809引脚定义引脚定义:ADC0809 ADC0809 与单片机的连接与单片机的连接89C51单片机单片机ADC 0809锁存器锁存器74LS373ALEP2.08DQ0ALECLKADDAD0-D7GEAOESTARTRDWROEQ1Q2ADDBADDC+5VINT1EOC1112MHz12MHz30Px230Px2 6 6口地址可口地址可以为:以为:0FE000FE000FE07H 0FE07

23、H 也可为:也可为:0FEF00FEF0 0FEF7H0FEF7HA/D转换程序:转换程序:MOV DPTR,#0FE00H;置;置IN0通道地址通道地址 MOV A,#00 ;累加器里任意赋一个值累加器里任意赋一个值 MOVX DPTR,A;启动启动A/D转换转换 LCALL DELAY;等待转换结束等待转换结束 MOVX A,DPTR;取转换结果取转换结果2、最后执行执行执行执行MOV AMOV A,DPTRDPTR产生RD信号使OE端有效,打开输出锁存器三态门,8位数据就读入CPU中。启动启动ADC0809的工作过程的工作过程1、先送通道号地址到、先送通道号地址到A、B、C,由,由ALE

24、信号锁存通道号地址,然后让信号锁存通道号地址,然后让START有有效启动效启动A/D转换。转换。即执行一条即执行一条即执行一条即执行一条MOVX DPTRMOVX DPTR,A指令产生指令产生WR信号,使信号,使ALE、START有效,锁存有效,锁存通道号并启动通道号并启动A/D转换。转换。A/D转换完毕,转换完毕,EOC端发出一正脉冲,表示转换结束。端发出一正脉冲,表示转换结束。锁存器锁存器74LS373ALEP2.08DQ0ALECLKADDAD0-D7GEAOESTARTRDWROEQ1Q2ADDBADDC+5VINT1EOC1112MHz12MHz30Px230Px2 6 6 ORG

25、0000H ORG 0000H AJMP MAIN AJMP MAIN ORG ORG 0013H0013H ;外部中断外部中断1 1的中断矢量的中断矢量 AJMP AJMP INTINTMAIN:MAIN:MOV R0,#0A0H MOV R0,#0A0H;存结果的缓冲区存结果的缓冲区:A0H-A7HA0H-A7H MOV R2,#08H MOV R2,#08H ;待采集的待采集的通道数为通道数为 8 8 SETB IT1 SETB IT1 ;选择选择下降沿下降沿触发中断触发中断 SETB EA SETB EA ;开中断开中断 SETB EX1 SETB EX1 MOV DPTR,#MOV

26、DPTR,#0FEF00FEF0H H;通道通道0 0的地址的地址 MOVX DPTR,A MOVX DPTR,A;启动转换。启动转换。注意注意:A=A=?HEREHERE:SJMP HERE SJMP HERE ;等待中断等待中断ADC0809ADC0809八路巡回中断式数据采集八路巡回中断式数据采集 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

27、 IT1 SETB EA SETB EA SETB EX1 SETB EX1 MOV DPTR,#0FEF0H MOV DPTR,#0FEF0H MOVX DPTR,A MOVX DPTR,AHEREHERE:SJMP HERESJMP HEREADC0809ADC0809八路巡回中断式数据采集八路巡回中断式数据采集INT:INT:MOVX AMOVX A,DPTR DPTR ;读数据读数据 MOV R0,A MOV R0,A ;数据放进缓存单元数据放进缓存单元 INC R0 INC R0 ;指向下一缓存指向下一缓存 INC DPTR INC DPTR;指向下一通道指向下一通道 DJNZ R2

28、 DJNZ R2,RTNRTN ;8;8 次未完就继续采集次未完就继续采集,;已完就关中断、停采集已完就关中断、停采集 CLR EA CLR EA CLR EX1 CLR EX1 RETI RETIRTNRTN:MOVX DPTR,A:MOVX DPTR,A;启动采集启动采集 RETI RETI思考题思考题请编写请编写89C51单片机通过单片机通过DAC0832产产生锯齿波信号、三角波、梯形波的程序生锯齿波信号、三角波、梯形波的程序(可以为任意频率)。(可以为任意频率)。当当ADC0809对对8路模拟信号进行路模拟信号进行A/D转转换时,请编写用查询方式工作的采样程换时,请编写用查询方式工作的采样程序,序,8路采样值存放在路采样值存放在50H57H单元。单元。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁