MCS51与DA转换器.ppt

上传人:小飞机 文档编号:5439670 上传时间:2023-07-07 格式:PPT 页数:38 大小:699KB
返回 下载 相关 举报
MCS51与DA转换器.ppt_第1页
第1页 / 共38页
MCS51与DA转换器.ppt_第2页
第2页 / 共38页
MCS51与DA转换器.ppt_第3页
第3页 / 共38页
MCS51与DA转换器.ppt_第4页
第4页 / 共38页
MCS51与DA转换器.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《MCS51与DA转换器.ppt》由会员分享,可在线阅读,更多相关《MCS51与DA转换器.ppt(38页珍藏版)》请在三一办公上搜索。

1、第11章 MCS-51与D/A转换器、A/D转换器的接口,一、作业,二、MCS-51与DAC的接口,D/A转换器的原理及主要技术指标,MCS-51与8位DAC0832的接口,MCS-51与12位DAC1208的接口,非电物理量(温度、压力、流量、速度等),须经传感器转换成模拟电信号(电压或电流),必须转换成数字量,才能在单片机中处理。,A/D转换器(ADC):模拟量数字量的器件,D/A转换器(DAC):数字量模拟量的器件。,数字量,也常常需要转换为模拟信号。,11.1 MCS-51与DAC的接口,输入:数字量,输出:模拟量。转换过程:送到DAC的各位二进制数按其权的大小转换为相应的模拟分量,再

2、把各模拟分量叠加,其和就是D/A转换的结果。,使用D/A转换器时,要注意区分:,*D/A转换器的输出形式;,*内部是否带有锁存器。,11.1.1 D/A转换器的原理及主要技术指标,型电阻网络D/A转换器:,虚地,1、D/A转换器的基本原理,输出电压 的大小与数字量的对应关系:,注:因使用反相比例放大器来实现电流到电压的转换,所以输出模拟信号(VO)的极性与参考电压(VREF)极性相反。,n位数字量B与模拟量的关系式:当,2.主要技术指标,(1)分辨率(Resolution),输入给DAC的单位数字量变化引起的模拟量输出的变化,通常定义为输出满刻度值与2n之比。显然,二进制位数越多,分辨率越高。

3、,例如,若满量程为10V,根据定义则分辨率为10V/2n。设8位D/A转换,即n=8,分辨率为10V/2n=39.1mV,该值占满量程的0.391%,用1LSB表示。,同理:10位 D/A:1 LSB=9.77mV=0.1%满量程12位 D/A:1 LSB=2.44mV=0.024%满量程,根据对DAC分辨率的需要,来选定DAC的位数。,(2)建立时间(Establishing Time),描述DAC转换快慢的参数,表明转换速度。定义:为从输入数字量到输出达到终值误差(1/2)LSB(最低有效位)时所需的时间。电流输出时间较短,电压输出的,加上I-V转换的时间,因此建立时间要长一些。快速DAC

4、可达1s以下。,线性度(也称非线性误差)是实际转换特性曲线与理想直线特性之间的最大偏差。常以相对于满量程的百分数表示。如是指实际输出值与理论值之差在满刻度的以内。,(3)线性度(Linearity),绝对精度(简称精度)是指在整个刻度范围内,任一输入数码所对应的模拟量实际输出值与理论值之间的最大误差。绝对精度是由DAC的增益误差(当输入数码为全1时,实际输出值与理想输出值之差)、零点误差(数码输入为全时,DAC的非零输出值)、非线性误差和噪声等引起的。绝对精度(即最大误差)应小于1个LSB。,相对精度与绝对精度表示同一含义,用最大误差相对于满刻度的百分比表示。,(4)绝对精度和相对精度(Con

5、version Accuracy),应当注意,精度和分辨率具有一定的联系,但概念不同。DAC的位数多时,分辨率会提高,对应于影响精度的量化误差会减小。但其它误差(如温度漂移、线性不良等)的影响仍会使DAC的精度变差。,DAC0832是使用非常普遍的位D/A转换器,由于其片内有输入数据寄存器,故可以直接与单片机接口。DAC0832以电流形式输出,当需要转换为电压输出时,可外接运算放大器。属于该系列的芯片还有DAC0830、DAC0831,它们可以相互代换。DAC0832主要特性:,分辨率位;电流建立时间S;数据输入可采用双缓冲、单缓冲或直通方式;输出电流线性度可在满量程下调节;逻辑电平输入与TT

6、L电平兼容;单一电源供电(5V15V);低功耗,20m。,11.1.2 MCS-51与8位DAC0832的接口,1.DAC0832芯片介绍,DAC0832的逻辑结构:,(2)DAC0832的引脚及逻辑结构,引脚:,2.DAC的应用,(1)单极性电压输出,单极性模拟电压输出,可采用图11-5或图11-9所示接线。输出电压Vout与输入数字量B的关系:,Vout=-(B/256)VRFE 式中,B=b727+b626+b121+b020;,B为0时,Vout也为0,输入数字量为255时,Vout为最大值,单极性。,双极性电压输出,采用图11-3接线:,Vout=(B-128)(VREF/128),

7、由上式,在选用+VREF时,(1)若输入数字量b71,则Vout为正;(2)若输入数字量b70,则Vout为负。在选用-VREF时,Vout与+VREF时极性相反。,(2)双极性电压输出,-VREF0,(3)DAC用作程控放大器,DAC还可作程控放大器,见图11-4。,DAC的输出和输入之间的关系:,Vout=-Vin*(256/B),256/B看作放大倍数。但输入数字量B不得为“0”。,3.MCS-51与DAC0832的接口电路,有3种工作方法:直通方式、单缓冲方式和双缓冲方式。,地址FEH,MOV R0,#0FEH;DAC地址FEHR0,MOVX R0,A;WR*和译码器FEH输出端有效,

8、(2)单缓冲方式,例11-1 DAC0832用作波形发生器。分别写出产生锯齿波、三角波和矩形波的程序。,(1)锯齿波的产生,ORG 2000H,START:MOV R0,#0FEH;DAC地址FEH R0,MOV A,#00H;数字量A,LOOP:MOVX R0,A;数字量D/A转换器,INC A;数字量逐次加1,SJMP LOOP,每一上升斜边分256个小台阶,每个小台阶暂留时间为执行后三条指令所需要的时间。,(2)三角波的产生,ORG 2000H,START:MOV R0,#0FEH,MOV A,#00H,UP:MOVXR0,A;三角波上升边,INC A,JNZ UP,DOWN:DEC A

9、;A=0时再减1又为FFH,MOVX R0,A,JNZ DOWN;,三角波下降边,SJMP UP,(3)矩形波的产生,ORG 2000H,START:MOV R0,#0FEH,LOOP:MOV A,#data1,MOVX R0,A;置矩形波上限电平,LCALL DELAY1;调用高电平延时程序,MOV A,#data2,MOVX R0,A;置矩形波下限电平,LCALL DELAY2;调用低电平延时程序,SJMP LOOP;重复进行下一个周期,DELAY1、DELAY2为两个延时程序,决定矩形波高、低电平时的持续时间。频率也可采用延时长短来改变。,单缓冲方式适用于只有一路模拟量输出,或有几路模拟

10、量输出但并不要求同步的系统。,电阻的作用?,练习 D/A转换程序,用DAC0832输出0+5V锯齿波,电路为单缓冲方式。设VREF=-5V,若DAC0832地址为7FFFH,脉冲周期要求为100ms。,DACS:MOV DPTR,#7FFFH;0832 I/O地址 MOV A,#00H;开始输出0VDACL:MOVXDPTR,A;D/A转换 INCA;升压 ACALLDELAY;延时100ms/256:决定锯齿波的周期AJMPDACL;连续输出DELAY:;延时子程序,(3)双缓冲方式,图11-9中DAC输出的VX和VY信号要同步,控制X-Y绘图仪绘制的曲线光滑,否则绘制的曲线是阶梯状。多路同

11、步输出,必须采用双缓冲同步方式。,1#DAC0832因和译码器FDH相连,占有两个端口地址FDH和FFH。2#DAC0832的两个端口地址为FEH和FFH。其中,FDH和FEH分别为1#和2#DAC0832的数字量输入控制端口地址,而FFH为启动D/A转换的端口地址。,读P286,例11-2 内部RAM中两个长度为20的数据块,起始地址为分别为addr1和addr2,编写能把addr1和addrr2中数据从1#和2#DAC0832同步输出的程序。addr1和addr2中的数据,为绘制曲线的X、Y坐标点。,DAC0832各端口地址:,FDH:1#DAC0832数字量输入控制端口,FEH:2#DA

12、C0832数字量输入控制端口,FFH:1#和2#DAC0832启动D/A转换端口,工作寄存器0区的R1指向addr1;1区的R1指向addr2;0区的R2存放数据块长度;0区和1区的R0指向DAC端口地址。程序为:,ORG 2000H,addr1 DATA 20H;定义存储单元addr2 DATA 40H;定义存储单元,DTOUT:MOV R1,#addr1;0区R1指向addr1 MOV R2,#20;数据块长度送0区R2 SETB RS0;切换到工作寄存器1区 MOV R1,#addr2;1区R1指向addr2 CLR RS0;返回0区,NEXT:MOV R0,#0FDH;0区R0指向1#

13、DAC0832;数字量控制端口 MOV A,R1;addr1中数据送A MOVX RO,A;addr1中数据送1#DAC0832,INC R1;修改addr1指针0区R1,SETB RS0;转1区。MOV R0,#0FEH;1区R0指向2#DAC0832数字量;控制端口MOV A,R1;addr2中数据送AMOVX R0,A;addr2中数据送2#DAC0832,INC R1;修改addr2指针1区R1INC R0;1区R0指向DAC的启动D/A转换端口,MOVX R0,A;启动DAC进行转换,CLR RS0;返回0区,DJNZ R2,NEXT;若未完,则跳NEXTLJMP DTOUT;若送完

14、,则循环,END,11.1.3 MCS-51与12位DAC1208的接口,8位DAC分辨率不够,可采用12位DAC。常用的有AC1208系列与DAC1230系列。,1.DAC1208系列的结构引脚及特性,双缓冲结构。不是用一个12位锁存器,而是用一个8位锁存器和一个4位锁存器,以便和8位数据线相连。,主要特性:,(1)输出电流稳定时间:1s;,(2)基准电压:VREF=-10+10V;,(3)单工作电源:+5+15V;,(4)低功耗:20mW。,引脚功能:,CS*:片选信号。,WR1*:写信号,低电平有效,BYTE1/BYTE2*:字节顺序控制信号。1:开启8位和4位两个锁存器,将12位全部打

15、入锁存器。0:仅开启4位输入锁存器。,XFER*:传送控制信号,与WR2*信号结合,将输入锁存器中的12位数据送至DAC寄存器。,WR2*:辅助写。该信号与XFER*信号相结合,当同为低电平时,把锁存器中数据打入DAC寄存器。当为高电平时,DAC寄存器中的数据被锁存起来。,DI0-DI11:12位数据输入。,IOUT1:D/A转换电流输出1。当DAC寄存器全1时,输 出电流最大,全0时输出为0,IOUT2:D/A转换电流输出2。IOUT1+IOUT2=常数,RFB:反馈电阻输入,VREF:参考电压输入,IOUT1:D/A转换电流输出1。当DAC寄存器全1时,输 出电流最大,全0时输出为0,IO

16、UT2:D/A转换电流输出2。IOUT1+IOUT2=常数,VCC:电源电压,DGND、AGND:数字地和模拟地,2.接口电路设计及软件编程,接口电路设计,8031与DAC1208转换器的接口如图11-11。,高8位输入寄存器端口地址:4001H;,低4位寄存器端口地址:4000H;,DAC寄存器的端口地址:6000H。,由于8031的P0.0分时复用,所以用P0.0与DAC1208的 BYTE1/BYTE2*相连时,要有锁存器74LS377。,外接AD581做10V基准电压源。模拟电压输出接为双极性。,采用双缓冲方式。先送高8位数据DI11 DI4,再送入低4位数据DI3DI0,而不能按相反

17、的顺序传送。如先送低4位后送高8位,结果会不正确。,在12位数据分别正确地进入两个输入寄存器后,再打开DAC寄存器。,单缓冲方式不合适,在12位数据不是一次送入的情况下,边传送边转换,会使输出产生错误的瞬间毛刺。,图中DAC1208的电流输出端外接两个运放LF356,其中运放1用作I/V转换,运放2实现双极性电压输出(-10V+10V)。,电位器W1定零点,电位器W2定满度。,(2)软件编程,设12位数字量存放在内部RAM的两个单元,12位数的高8位在DIGIT单元,低4位在DIGIT+1单元的低4位。按图11-11电路,D/A转换程序如下:,MOV DPTR,#4001H;8位输入寄存器地址

18、,MOV R1,#DIGIT;高8位数据地址,MOV A,R1;取出高8位数据,MOVX DPTR,A;高8位数据送DAC1208,DEC DPL;指向4位输入寄存器地址,INC R1;低4位数据地址,MOV A,R1;取出低4位数据,MOVX DPTR,A;低4位数据送DAC1208,MOV DPTR,#6000H;DAC寄存器地址,MOVX DPTR,A;12位同步输出完成12位D/A转换,11.1.4 MCS-51与12位DAC1230系列的接口,DAC1230内部结构和应用特性与DAC1208完全相似,只不过DAC1230系列的低4位数据线在片内与高4位数据线相连,在片外表现为8位数据线,故比DAC1208少四个引脚,20脚DIP封装。,内部结构及引脚如图11-12。,DAC1230与8位单片机的接口比DAC1208要简单;但DAC1208系列与16位单片机连接更方便。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号