和d转换器的接口第章.pptx

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.1 D/A转换器 page 209 6.2 A/D转换器 page 217;6.1.1 D/A转换器的原理 D/A转换的目的是将数字量转换成为与此数值成正比的模拟量 一个二进制的数字量由n位代码组成,每一位代码都有其对应的权值,进行数模转换时,应将每一位代码按权值大小转换成相应的模拟分量,然后根据叠加原理将各模拟分量相加,其和即为转换得到的模拟量。即:;解码网络 实现二进制数字量按权值转换为模拟量的电路系统 电阻网络 二进制电阻解码网络、T型电阻解码网络;T型电阻解码网络只有R和2R两种阻值的电阻,根据等效电路定理,每经过一个并联支路等效电源,电压减少一半,而等效电阻不变,总是为R,支路电流也减少一半,即:;;1.分辨率 D/A转换器分辨率的定义为:   输入数字量在最低位上变化1时,输出模拟量对应发生的变化量   对于线性D/A转换器,其分辨率可以表示为模拟输出的满量程值与2n之比 2.建立时间   建立时间是描述D/A转换快慢的一个重要指标。?建立时间指输入数字量变化时,输出模拟电压变化到相应稳定电压值所需要的时间 3.转换精度   转换精度是指满量程时D/A转换器的实际模拟输出值和理论值的接近程度;DAC0832 NS(National Semiconductor,美国国家半导体公司)设计的8位CMOS D/A转换器 可以直接与微处理器和单片机接口连接,在模拟输出通道设计中应用较为广泛 DAC0832内部具有双缓冲器,采用5~15V的单电源供电,参考电压为-10~+10V,电流建立时间1μs;CS是片选;ILE是输入锁存允许; CS+ILE WR1有效则输入数据;WR1变高,完成锁存 LE1为1时Q端输出数据同D端的输入数据;LE1为0时,数据锁存;XFER传输控制信号,XFER有效时: LE2有效则输入寄存器的数据传到DAC寄存器;LE2=0时锁存 LE2无效时DAC的Q端输出跟随D端的输入; DI0~DI7输入端 IOUT1的模拟电流输出和数字量大小成正比;IOUT1+IOUT2=常量 Rfb ,反馈电阻; VREF,参考电压输入端,外接用;为T型电阻解码网络提供高精度参考电压源;电压范围-10V~+10V;1.DAC0832电压输出 2级运算放大器的接法如下图所示 VREF=+5v时 a点为单极性电压输出,输出电压为-5V~0V B点为双极性电压输出,输出电压为0V~+5V ;;将数字量data转换为模拟量的程序如下: MOV DPTR,#7FFFH ; DPTR指向输入寄存器和DAC寄存器 MOV A,#data ; 数字量data送入累加器 MOVX @DPTR,A ; 完成D/A转换;输入数值、WR有效;适用于 多路输出、各路输出同步 输出分2步进行 先把各路待转换数字量分别输入各路的输入寄存器 再由单片机控制,同时从输入寄存器送入DAC寄存器;MOV DPTR,#0FEFFH ; 指向1#DAC0832的输入寄存器 MOV A,#data1 ; 数字量data1送入累加器 MOVX @DPTR,A ; data1送入1#DAC0832的输入寄存器 MOV DPTR,#0FDFFH ; 指向2#DAC0832的输入寄存器 MOV A,#data2 ; 数字量data2送入累加器 MOVX @DPTR,A ; data2送入2#DAC0832的输入寄存器 MOV DPTR,#7FFFH ; 指向两路DAC0832的DAC寄存器 MOVX @DPTR,A ; 完成两路同步转换输出 ;; ORG 0000H JIETI: MOV A,#00H ; 阶梯波的初值送入累加器 MOV DPTR,#7FFFH ; DAC0832地址送入DPTR MOV R2,#0AH ; 台阶个数为10个 LOOP: MOVX @DPTR,A ; 数字量送入DAC0832输出 ACALL DELAY1 ; 1ms延时 DJNZ R2,NEXT ; 如果不足10个台阶则转移到NEXT处执行 SJMP JIETI ; 如果已满10个台阶则输出下一个周期 NEXT: ADD A,#0AH ; 台阶递增数字量10 SJMP LOOP ; 输出下一台阶 DELAY1: MOV R4,#02H ; 1ms延时子程序(假设系统时钟为12MHz) DEL1: MOV R5,#0F4H DEL2: DJNZ R5,DEL2 DJNZ R4,DEL1 RET END ;;设80

文档评论(0)

fuwuzhishi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档