第六章AD与DA转换接口_第1页
第六章AD与DA转换接口_第2页
第六章AD与DA转换接口_第3页
第六章AD与DA转换接口_第4页
第六章AD与DA转换接口_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 本章内容本章内容pA/D转换器接口转换器接口pD/A 转换器接口转换器接口第第6 6章章 A/DA/D与与D/AD/A转换接口转换接口模数转换器即模数转换器即A/D转换器,或简称转换器,或简称ADC,通常是,通常是指一个将指一个将模拟信号模拟信号转变为转变为数字信号数字信号的电子元件。的电子元件。 通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,任何一个模数转换器都需要一个参考模拟量作为转换的标准,输出的数字量则表示输入信号相对于参考信号的大小。 模数转换器最重要的参数是转换精度,通常用输出的数字模数转换器最重要的参数是转换精度,通常用输出的数字

2、信号的位数表示。信号的位数表示。l例:对于一个2位的电压模数转换器,如果将参考设为1V,那么输出的信号有00、01、10、11,4种编码,分别代表输入电压在0V-0.25V, 0.26V-0.5V, 0.51V-0.75V, 0.76V-1V时的对应输入。分为4个等级编码,当一个0.8V的信号输入时,转换器输出的数据为11。 l例:对于一个4位的电压模数转换器,如果将参考设为1V,那么输出的信号有0000、0001、0010、0011、0100、0101、0110、0111、1000、1001、1010、1011、1100、1101、1110、1111,16种编码,分别代表输入电压在0V-0.

3、0625V, 0.0626V-0.125V, .0.9376V-1V。分为16个等级编码(比较精确)当一个0.8V的信号输入时,转换器输出的数据为1100。 lA/D转换一般要经过采样、保持、量化及编码4个过程。在实际电路中,有些过程是合并进行的,如采样和保持,量化和编码在转换过程中是同时实现的。 l一般来说,AD比DA贵,尤其是高速的AD,一般要上千美元。通过AD的并联可以提高AD的转换效率。模数转换器的选用具体取决于输入电平、输出形式、控制性质以及需要的速度、分辨率和精度。 A/D A/D 转换器接口转换器接口 pA/D转换器是实现模拟量向数字量转换的器件,按转换原理可分为四种:计数式A/

4、D转换器、双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器。p目前最常用的A/D转换器是双积分式A/D转换器和逐次逼近式A/D转换器。前者的主要优点是转换精度高,抗干扰性能好,价格便宜,但转换速度较慢,一般用于速度要求不高的场合。后者是一种速度较快、精度较高的转换器,其转换时间大约在几微秒到几百微秒之间。l直接逐位比较型(又称反馈比较型)转换器是一种高速AD,转换精度很高,但对干扰的抑制能力较差,常用提高数据放大器性能的方法来弥补。它在计算机接口电路中用得最普遍。 l间接法不将电压直接转换成数字,而是首先转换成某一中间量,再由中间量转换成数字。常用的有电压-时间间隔(V/T)型

5、和电压-频率(V/F)型两种,其中电压-时间间隔型中的双斜率法(又称双积分法)用得较为普遍。 A/D A/D 转换器接口转换器接口 ST CLKEOCD0D7IN0IN7ABCALE八位转换器A/D三态输出锁存器VCCGNDOEVR(+)VR(-)38地址锁存与译码八路模拟量开关.A/D A/D 转换器接口转换器接口 ST CLKEOCD0D7IN0IN7ABCALE八位转换器A/D三态输出锁存器VCCGNDOEVR(+)VR(-)38地址锁存与译码八路模拟量开关.通道选择表地址码选择的通道C B A0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1IN0IN1I

6、N2IN3IN4IN5IN6IN7A/D A/D 转换器接口转换器接口 ST CLKEOCD0D7IN0IN7ABCALE八位转换器A/D三态输出锁存器VCCGNDOEVR(+)VR(-)38地址锁存与译码八路模拟量开关.CLK:时钟信号,可由单片机ALE信号分频得到。A/D A/D 转换器接口转换器接口 ST CLKEOCD0D7IN0IN7ABCALE八位转换器A/D三态输出锁存器VCCGNDOEVR(+)VR(-)38地址锁存与译码八路模拟量开关.ADC0809 引脚图A/D A/D 转换器接口转换器接口 ADC0809 引脚图(1)IN7IN0:8个模拟量输入通道。(2)ADDA、AD

7、DB、ADDC:地址线。(3)ALE:地址锁存允许信号。对应ALE上升沿,ADDA、ADDB和ADDC地址状态送入地址锁存器中,经译码后输出选择模拟信号输入通道。(4)START:转换启动信号。对应START上跳沿时,所有内部寄存器清0;对应START下跳沿,开始进行A/D转换;在A/D转换期间,START应保持低电平。(5)D7D0:数据输出线,为三态缓冲输出形式,可以和单片机的数据线直接相连。A/D A/D 转换器接口转换器接口 ADC0809 引脚图(6)OE:输出允许信号,用于控制三态输出锁存器向单片机输出转换得到的数据。当OE=0时,输出数据线呈高电阻;当OE=1时,输出转换得到的数

8、据。(7)CLK:时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500kHz的时钟信号(8)EOC转换结束状态信号。启动转换后,系统自动设置EOC=0,转换完成后,EOC=1。该状态信号既可作为查询的状态标志,又可以作为中断请求信号使用。(9)Vref:参考电源。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准,其典型值为+5V(Vref (+) =+5V,Vref(-) =0V)。A/D A/D 转换器接口转换器接口 单片机与A/D转换器接口程序设计,主要有以下四个步骤:p 启动A/D转换,START引脚得到下降沿。p 查询EO

9、C引脚状态,EOC引脚由0变1,表示A/D转换过程结束。p 允许读数,将OE引脚设置为1状态。p 读取A/D转换结果。/程序:dyb.c/功能:简易数字电压表程序#include#define uchar unsigned char/无符号字符型数据预定义为ucharuchar code led=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8E; /定义0F显示码sbit P0_2=P02;/可寻址位定义sbit P0_3=P03;sbit P0_6=P

10、06;sbit P0_7=P07;void sepr(unsigned char i);uchar chh,chl;/全局变量定义/函数名:sepr /函数功能: 将8位二进制数00FFH转换为0.05.0,低位和高位分别存在全局变量chl和chh中/形式参数: i为A/D转换后的8位二进制数/返回值: chl中存放拆分后的低位、chh中存放拆分后的高位void sepr( i)/拆分高位和低位 uchar ch; ch=i; chh=ch/51;/除以51得到高位 ch=ch%51;/取余运算 chl=ch*10/51;/再除以51,并扩大10倍,得到低位/函数名:display/函数功能:

11、显示全局变量中chl和chh中的数字/形式参数:无/返回值:无void display() uchar j; P2=ledchl;/显示低位 P0_6 = 1; P0_7 = 0; for(j=0;j100;j+);/延时 P2=ledchh;/显示高位 P0_6 = 0; P0_7 = 1; for(j=0;j100;j+);/延时 void main() uchar a; unsigned char i; while(1) P0_2=1; for(a=0;a50;a+);/延时 P0_2=0;/在P0.2引脚产生下降沿,START和ALE引脚产生上升沿,锁存通道地址,所有内部寄存器清0 f

12、or(a=0;a50;a+);/延时 P0_2=1;/在P0.2上产生上升沿,START上产生下降沿,A/D转换开始 while(P0_3=0);/等待转换完成,EOC=1表示转换完成 P0_2=0;/P0_2=0,则OE=1,允许读数 P1=0 xff;/作为输入口,P1口先置全1 i=P1;/读入A/D转换数据 sepr(i);/数据高低位分开 display();/显示数据 A/D A/D 转换器接口转换器接口 单片机系统扩展三总线A/D A/D 转换器接口转换器接口 单片机系统扩展三总线 地址锁存器74LS373是带三态缓冲输出的8D锁存器。由于单片机的数据线与地址线的低8位共用P0口

13、,因此必须用地址锁存器将地址信号和数据信号区分开。74LS373的锁存控制端G直接与单片机的锁存控制信号ALE相连,在ALE的下降沿锁存低8位地址。高8位地址由P2口直接提供。 系统扩展中常用的控制线有以下三条: :控制程序存储器的读操作,在执行指令的取指阶段和从程序存储器中取数据时有效。 :控制数据存储器的读操作,从外部数据存储器或I/O端口中读取数据时有效。 :控制数据存储器的写操作,向外部数据存储器或I/O端口中写数据时有效。PSENRDWRA/D A/D 转换器接口转换器接口 ADC0809与8031单片机的连接A/D A/D 转换器接口转换器接口 ADC0809的通道地址表. . .

14、 . . . . . . . . . . . . .单片机P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A00809STCBAIN00000IN10001IN70111D/A D/A 转换器接口转换器接口 #include/该头文件中定义XBYTE关键字#include#define uchar unsigned char#define IN0 XBYTE0 xfef8/设置AD0809的通道0地址sbit ad_busy=P33;/定义EO

15、C状态void ad0809(uchar idata *x)uchar i;uchar xdata *ad_adr;/定义指向外部RAM的指针ad_adr=&IN0; /通道0的地址送ad_adrfor(i=0;i8;i+)/处理8通道*ad_adr=0;/写外部I/O地址操作,启动转换,写的内容不重要,只需写操作i=i;/延时等待EOC变低i=i;while(ad_busy=0);/查询等待转换结束xi=*ad_adr;/读操作,输出允许信号有效,存转换结果ad_adr+;/地址增1,指向下一通道void main(void)static uchar idata ad10; /sta

16、tic是静态变量的类型说明符ad0809(ad);/采样AD0809通道的值. . . . . . . . . . . . . . . .指针指针 指针变量的定义数据类型 *指针变量名;例如:int i,j,k,*i_ptr; /定义整型变量i,j,k和整型指针变量i_ptr为变量i赋值的方法有以下两种:直接方式: i=10; /将整数10送入地址为2000和2001的单元内(整型数据占两个存储单元2000和2001)间接方式: i_ptr=&i; /变量i的地址送给指针变量i_ptr,i_ptr=2000 *i_ptr=10; /将整数10送入i_ptr指向的存储单元中,即2000单

17、元指针指针 指针运算符(1)取地址运算符 取地址运算符&是单目运算符,其功能是取变量的地址,例如:i_ptr=&i; /变量i的地址送给指针变量i_ptr,i_ptr=2000(2)取内容运算符 取内容运算符*是单目运算符,用来表示指针变量所指的单元的内容,在*运算符之后跟的必须是指针变量。例如:j=*i_ptr; /将i_ptr所指的单元2000的内容10赋给变量j,则j=10指针指针 指针变量的赋值运算p 把一个变量的地址赋予指向相同数据类型的指针变量 int i,*i_ptr; i_ptr=&i; p 把一个指针变量的值赋予指向相同类型变量的另一个指针变量 int

18、 i,*i_ptr,*m_ptr; i_ptr=&i; m_ptr=i_ptr; p 把数组的首地址赋予指向数组的指针变量 int a5,*ap; ap=a; ap=&a0; int a5,*ap=a;p 把字符串的首地址赋予指向字符类型的指针变量 unsigned char *cp; cp=“Hello World!”; 这里应该说明的是,并不是把整个字符串装入指针变量,而是把存放该字符串的字符数组的首地址装入指针变量。D/A转换器转换器D/A 转换器概述转换器概述 在设计D/A转换器与单片机接口之前,一般要根据D/A转换器的技术指标选择D/A转换器芯片。 (1) 分辨率。分

19、辨率是D/A转换器对输入量变化敏感程度的描述。D/A转换器的分辨率定义为:当输入数字量发生单位数码变化时,即LSB位产生一次变化时所对应输出模拟量的变化量。对于线性D/A转换器来说,其分辨率与输入数字量输出的位数n呈现下列关系n2模拟量输出的满量程值 (2) 建立时间。是描述D/A转换速率快慢的一个重要参数。一般所指的建立时间是输入数字量变化后,模拟输出量达到终值误差LSB/2(最低有效位)时所经历的时间。 超高速 100 ns 较高速 100 ns1 s 高 速 110 s 中 速 10100 s 低 速 100 s (1) DAC0830系列。是美国National Semiconduct

20、or公司生产的具有两个数据寄存器的8位D/A转换芯片。该系列产品包括DAC0830 、DAC0831、 DAC0832,管脚完全相容为20脚双插直列式封装。 (2) DAC82。是B-B公司生产的8位能完全与微处理器兼容的D/A转换器芯片,片内带有基准电压和调节电阻。无需外接器件及微调即可与单片机8位数据线相连。芯片工作电压为15 V,可以直接输出单极性或双极性的电压(0+10 V,10 V)和电流(01.6 mA, 0.8 mA)。 (3) DAC1020/AD7520系列。10位分辨率的D/A转换集成系列芯片。DAC1020系列是美国National Semiconductor公司的产品,

21、包括DAC1020 、DAC1021、 DAC1022,与美国Analog Devices公司的AD7520及其后继产品AD7530、AD7533完全兼容。单电源工作,电源电压为+5+15 V,电流建立时间为500 ns,为16线双插直列式封装。与美国Analog Devices公司的AD7520及其后继产品AD7530、AD7533完全兼容。 (4) DAC1220/AD7521系列。为12位分辨率的D/A转换集成芯片。DAC1220系列包括DAC1220 、DAC1221、 DAC1222产品,与AD7521及其后继产品AD7531管脚完全兼容,为18线双插直列式封装。 (5) DAC1208和DAC1230系列。为美国National Semiconductor公司的12位分辨率产品。两者不同之处是DAC1230数据输入引脚线只有8根,而DAC1208有12根。DAC1208系列为24线双插直列式封装,而DAC1230系列为20线双插直列式封装。D/A D/A 转换器接口转换器接口 D/A转换器输入的是数字量,经转换后输出的是模拟量。DAC0832是一个8位D/A转换器。单电源供电,从+5V+15V范围均可正常工作。基准电压

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论