欢迎来到天天文库
浏览记录
ID:36320565
大小:543.58 KB
页数:35页
时间:2019-05-09
《[信息与通信]数模和模数转换》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第11章数模和模数转换11.1数模(D/A)转换器D/A转换器D/A转换器简称DAC=DigitaltoAnalogConverterDAC把数字量转换为模拟量(电压或电流)。数模转换原理数/模转换器的核心器件是“解码网络”常用的解码网络有权电阻解码网络、T型解码网络等.Vo=K*Vref*(D0*20+D1*21+…+Dn-1*2n-1)/2n11.1.1工作原理---T型解码网络:11.1.2D/A转换器的主要性能参数(1)分辨率:=Vref/2n(2)转换精度:与分辨率有关,但不完全取决于分辨率。(3)转换时间/转换速度:(4)绝对误差:实际输出值与理论值之间的最大偏差。±
2、1/2LSB。11.1.3D/A转换器及接口电路DAC0832DAC0832DAC0832是8位DAC,内部有两级缓冲。当LE1有效时,数据进入第一级(数据输入寄存器),当LE2有效时,数据输入寄存器的值进入第二级(DAC寄存器)。由于DAC寄存器的输出直接送D/A转换器,使LE2有效的命令又称转换命令。DAC0832的输出为两个电流信号IOUT1和IOUT2(IOUT1+IOUT2=常数),内部提供了一个反馈电阻R,只需加一个运算放大器,利用内部的反馈电阻R即可获得电压输出2019181716151413121112345678910VCCILEWR2XFERDI4DI5DI6
3、DI7IOUT1IOUT2CSWR1AGNDDI3DI2DI1DI0VREFRFBDGNDDAC0832的外部引脚11.1.3DAC0832的接口设计---单缓冲方式1.使数据输入寄存器工作在锁存状态,DAC寄存器工作在不锁存状态(LE2始终有效,DAC寄存器直通)。只使用一级缓冲。适用于大多数情况.设D/A转换端口号为PORTA,设需转换的数据放在1000H单元,则D/A转换程序为:MOVBX,1000HMOVAL,[BX]MOVDX,PORTAOUTDX,AL11.1.3DAC0832的接口设计---单缓冲方式2.使用两级缓冲11.1.3DAC0832的接口设计---双缓冲方
4、式适用于多个DAC0832同时使用的情况设CS’由A15~A1经译码产生,当A15~A1=A0832时,CS’有效。在CPU执行OUT指令时,若A0=0,DAC0832内部LE1有效,数据总线上的值(AL)送入数据输入寄存器;若A0=1,DAC0832内部LE2有效,数据输入寄存器的值送DAC寄存器。A0832EQU200HMOVDX,A0832+0;A0=0OUTDX,AL;AL的值为待转换的数字MOVDX,A0832+1;A0=1OUTDX,AL;AL的值无关13.1.3DAC0832的接口设计---双缓冲方式设CS’由A15~A1经译码产生,当A15~A1=A0832时,C
5、S’有效。在CPU执行OUT指令时,若A0=0,DAC0832内部LE1有效,数据总线上的值(AL)送入数据输入寄存器;若A0=1,DAC0832内部LE2有效,数据输入寄存器的值送DAC寄存器。A0832EQU200HMOVDX,A0832+0;A0=0OUTDX,AL;AL的值为待转换的数字MOVDX,A0832+1;A0=1OUTDX,AL;AL的值无关11.1.3DAC0832的接口设计---双缓冲方式3.直通方式11.1.3DAC0832的接口设计---直通方式一般接锁存输出.注:在DAC实际连接中,要注意区分“模拟地”和“数字地”的连接,为了避免信号串扰,数字量部分只
6、能连接到数字地,而模所量部分只能连接到模拟地。采用单缓冲方式连接如图10-3所示。利用DAC可实现任意波形(如锯齿波、三角波、正弦波等)的输出,如输出锯齿波、三角波的程序段如下:TRG:MOVDX,200HMOVAL,0HTN1:OUTDX,ALINCALDAC0832的应用举例:JNZTN1MOVAL,0FFHTN2:OUTDX,ALDECALJNZTN1…………输出锯齿波程序段如下:TRG:MOVDX,200HMOVAL,0HTN:OUTDX,ALINCALJMPTN…………利用图所示的DAC0832单缓冲方式连接图,也可输出正弦波,由于DAC0832是一个单极性输出DAC芯
7、片,因此在正弦波输出中应将0V平移到128数值上,其C语言控制程序如下:#include#includeMain(){unsignedcharV0=128,VOUT;inti;while(!kbhit()){∥等待键盘i=0;while(I<=360){∥角度最大为360度VOUT=V0+128*sin(3.14159*I/180);∥计算每10度的正弦值outportb(0x200,VOUT);∥输出i=i+10;∥角度+10}}}11.2模数
此文档下载收益归作者所有