项目十--AD与DA转换器《单片机原理及应用》接口设计与编程——数字电压表设计和数模转换电路设计_第1页
项目十--AD与DA转换器《单片机原理及应用》接口设计与编程——数字电压表设计和数模转换电路设计_第2页
项目十--AD与DA转换器《单片机原理及应用》接口设计与编程——数字电压表设计和数模转换电路设计_第3页
项目十--AD与DA转换器《单片机原理及应用》接口设计与编程——数字电压表设计和数模转换电路设计_第4页
项目十--AD与DA转换器《单片机原理及应用》接口设计与编程——数字电压表设计和数模转换电路设计_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机原理及应用技术A/D与D/A转换器接口设计与编程数字电压表设计和数模转换电路设计任务一 A/D转换器任务二 典型应用数字电压表设计任务三 D/A转换器任务四 典型应用数模转换电路设计Project 10A/DD/A单片机被控实体传感器变送器多路开关其他功能单片机是数字部件,只能处理数字量“0”或“1”。在实际应用场合,会有一些模拟量需要单片机来处理,此时,单片机就需要连接A/D转换器(Analog to Digital Converter,模数转换器)将模拟量转换为数字量,再进行相应处理;同时也有一些终端控制部件只能接受模拟量,此时,单片机就需要连接D/A转换器(Digital to A

2、nalog Converter,数模转换器)将其输出的数字量转换为模拟量,然后才能对终端部件实施控制。如图所示为A/D、D/A转换器与单片机的连接。任务1A/D转换器A/D转换器的基本原理one模拟信号iA/D转换器数字量D0DnA/D转换器用于将模拟信号转换为数字信号,如图所示。从模拟量到数字量的转换可以分为采样、保持、量化和编码四个步骤。1采样采样是指周期地获取模拟信号的瞬时值,从而得到一系列时间上离散的脉冲采样值,如图所示。2保持保持是指在两次采样之间,将前一次采样值保存下来,使其在量化编码期间不发生变化,如图所示。3量化量化是将采样保持电路输出的模拟电压转化为最小数字量单位整数倍。4编

3、码编码是指将量化后的数值通过编码用一个代码表示出来,代码就是A/D转换器输出的数字量。A/D转换器的种类twoA/D转换器按照输出代码的有效位数可以分为4位、6位、8位、10位、12位、14位、16位和BCD码输出的3位、4位、5位等多种;按照转换速度可以分为超高速(转换时间1ns)、高速(转换时间1s)、中速(转换时间1ms)、低速(转换时间1s)等几种;按转化原理的不同可以分为双积分型A/D转换器、逐次逼近式A/D转换器以及并行比较型A/D转换器等。A/D转换器的主要性能指标three1分辨率分辨率指A/D转换器对输入模拟信号的分辨能力。从理论上讲,一个n位二进制数输出的A/D转换器应能区

4、分输入模拟电压的2n个不同量级,能区分输入模拟电压的最小差异为满量程输入的1/2n。2转换误差转换误差表示A/D转换器实际输出的数字量和理论上输出的数字量之间的差别。3转换时间转换时间是指A/D转换器从接到转换启动信号开始,到输出端获得稳定的数字信号所经过的时间。A/D转换器的转换速度主要取决于转换电路的类型,不同类型A/D转换器的转换速度相差很大。 双积分型A/D转换器的转换速度最慢,需几百毫秒左右; 逐次逼近式A/D转换器的转换速度较快,需几十微秒; 并行比较型A/D转换器的转换速度最快,仅需几十纳秒时间。ADC0809(8位)引脚功能与内部结构fourADC0809芯片是单片机系统中常用

5、的A/D转换芯片,它属于逐次逼近式A/D转换器。1引脚功能如图左图所示为ADC0809的引脚图,如图右图所示为ADC0809的实物图。STARTA/D转换启动信号端。START端输入下降沿时启动芯片,开始A/D转换,在数据转换期间该引脚需要保持低电平状态;START端输入上升沿时复位芯片。EOC转化结束信号输出端。EOC=0时,表示正在进行转换;EOC=1时,表示转换结束。即可作为查询的状态标志,也可作为中断请求信号。OE输出允许信号端,用于控制三态输出锁存器向单片机输出转换后的数字量。OE=0时,输出数据线呈高阻;OE=1时,输出转换得到的数据。CLOCK时钟信号端。ADC0809内部没有时

6、钟发生装置,该引脚用于连接外部时钟。时钟频率在101280KHz之间,典型值为640KHz。Vcc电源端,接+5V电压。各引脚具体功能如下:Vref(+)和Vref(-)正、负基准电压输入端(典型值为+5V),用来与输入的模拟信号进行比较,作为逐次逼近的基准。GND接地端。ALE地址锁存允许端,高电平有效。用于将ADDAADDC地址状态送入地址锁存器。IN0IN7模拟量输入通道D0D7数字量输出通道,可以与单片机直接相连ADDAADDC地址码输入线,用于选择通道。2内部结构A/D转换器的内部结构如图所示。A/D转换器主要由8位模拟开关电路、地址锁存与译码电路、8位A/D转换器以及三态输出锁存缓

7、冲器组成。ADC0809芯片采用的是一种经济的多路数据采集方法,8位模拟开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换,转换结果通过三态输出锁存器输出。地址锁存与译码电路可以完成对ADDA、ADDB和ADDC3个地址位的锁存和译码,译码输出用于通道选择,下表为通道选择表。地址输入通道ADDAADDBADDCY0000INT0001INT1010INT2011INT3100INT4101INT5110INT6111INT7任务2典型应用 数字电压表设计硬件设计one在proteus中,我们采用ADC0808芯片(引脚功能与芯片ADC0809相同)将输入的模拟信号进行

8、模数转换,通过单片机对转换的结果进行运算和处理,最后驱动数码管显示数字电压信号。简易数字电压表的设计如图(下页)所示,在滑动电阻两端连接一个电压表(滑动变阻器的阻值变化,电压表的测量值将随之变化),模拟电压值输入芯片ADC0808的IN0引脚进行模数转换,转化结果经由单片机处理后在数码管上输出。我们可以通过比较数码管的输出数字和电压表的测量数值来判断芯片的转化精度。硬件原理图关于图中连线,说明如下:芯片ADC0809的ADDAADDC引脚均接地,用于选择通道IN0。在实际应用中,常用同一条信号产生START和ALE信号,这里用单片机P3.6引脚与其相连。单片机的P3.1引脚与芯片ADC0809

9、的OE引脚相连。单片机的P3.0引脚与芯片ADC0809的EOC引脚相连。芯片ADC0809的CLOCK引脚连接500KHz的脉冲。芯片ADC0809的输出数据线OUT1OUT8(OUT1是数据最高位)与单片机的P0.7P0.0相连。单片机的P1.0P1.7与数码管的ADP相连单片机的P2.1P2.4与数码管的14相连。提示在上图中你会发现,许多连线没有实际相连。这里我们使用了proteus中的一个功能来避免过多的连线。具体做法如下:在需要连线的引脚处画一小段线,结束时双击鼠标,使连线以结点形式终止。然后在连线上右击鼠标,在弹出的快捷菜单中选择Place Wire Lable(放置导线标号)选

10、项(参见下页如何连接线左图),弹出下页如何连接线右图所示Edit Wire Label(编辑导线标号)对话框,然后在Label选项卡的String编辑框中填写导线标号(连线的另一端以同样的方式设置,必须填写相同的名字)。要在proteus中获得电压表,可单击符号栏中的Instruments(仪器)按钮 ,在右侧的选择框中选择DC VOLTMETER选项,如下页图如何添加电压表所示。要在proteus中获得滑动变阻器,可通过在Pick Device编辑框中输入关键字POT-LIN。如何设计连线如何添加电压表软件设计two程序如下:ORG1000HSTART:MOVXDPTR,A;启动AD转换AA

11、:JNBP3.0,AAMOVA,P0;读转换结果MOV20H,A;转换结果存入20HMOVB,#50DIVABMOV21H,A;整数部分送21HMOVA,BMOVB,#5DIVABMOV22H,A;第1位小数送22HMOVA,BRLAMOV23H,A;第2位小数送23H;MOVDPTR,#TAB;转换表首地址送DPTRMOVA,21H;取整数部分送AMOVCA,A+DPTR;读取相应字型码MOVP1,A;A内容送P1端口CLRP2.4;选通S1,在最高位显示数字LCALLDELAY;延时MOVP1,#0;P1口置0MOVA,22H;取第一位小数送AMOVCA,A+DPTR;读取相应字型码MOV

12、P1,A;A内容送P1端口CLRP2.2;选通S3,在第三个位置显示数字SETBP2.4;复位S1信号LCALLDELAY;延时MOVP1,#0;0送P1端口MOVP1,#40H;40H(“”的字型码)送P1端口CLRP2.3;选通S2,在第二个位置显示“”SETBP2.2;复位S3信号CALLDELAY;延时MOVP1,#0;0送P1端口MOVA,23H;取第二位小数送AMOVCA,A+DPTR;读取相应字型码MOVP1,A;A的内容送P1口CLRP2.1;选通S4,在第四个位置显示数字SETBP2.3;复位S2信号LCALLDELAY;延时MOVP1,#0;0送P1端口SETBP2.1;复

13、位S4信号LJMPSTART;转到START;TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;DELAY:RETEND在proteus中进行系统仿真,调节滑动变阻器的值并观察电压表及LED数码管的显示数值,如图所示。当滑动变阻器两端的电压显示1.80时,LED显示屏显示相同的数值。任务3D/A转换器D/A转换器的原理oneD/A转换器模拟信号i数字量D0DnD/A转化器是将离散的数字量转换为连接变化的模拟量,如图所示。数模转换的基本思想与二进制数转换为十进制数的原理相似。在将二进制数转化为十进制数时,我们需要将二进制各位的数值与其位的权值相乘,然后

14、相加即可得到相应的十进制数。输入值输出值基准电压运算放大电路D/A转换的原理如图所示,数字量以串行或并行方式输入,存储于数字寄存器中,各位分别控制对应的模拟电子开关,数字为的位将在位权网络上产生与其权值成正比的电流值(由基准电压通过不同的电阻控制得到),由求和电路将各种权值相加,即可得到数字量对应的模拟量。D/A转换器的种类twoD/A转换器按解码网络结构分类,可以分为T型电阻网络DAC、倒T形电阻网络DAC、权电流DAC和权电阻网络DAC;按模拟电子开关电路分类,可以分为CMOS开关型DAC、双极型开关型DAC(包括电流开关型DAC和ECL电流开关型DAC)。D/A转换器的主要性能指标thr

15、ee分辨率分辨率是指输出电压的最小变化量(最低位为1其余各位为0)与满量程(各位均为1)输出电压之比。对于n位D/A转换器,分辨率1/(2n1)转化速度转换速度是指D/A转换器从输入数字量到转换成稳定的模拟输出电压所需要的时间。不同的DAC其转换速度不同,一般从几微秒到几十微秒。非线性误差非线性误差是指D/A转换器输出电压值与理想输出电压值之间的偏差。它主要是由模拟开关以及运算放大器的非线性引起的。温度系数温度系数是指在输入不变的情况下,输出模拟电压随温度变化而变化的量。一般用满刻度的百分数表示温度每升高一度输出电压变化的值。1引脚功能DAC0832是双列直插式8位D/A转换器。左图所示为AD

16、C0832的引脚图,右图所示为ADC0832的实物图。DAC0832引脚功能与内部结构fourCS:片选信号输入端,低电平有效。WR1:8位输入寄存器的写信号端,低电平有效。WR2:DAC寄存器的写信号端,低电平有效。ILE:数据锁存允许控制信号端,高电平有效。XFER:数据传输控制信号端,低电平有效。AGND:模拟电路接地端。DI0DI7:8位数字量输入端。Vref:参考电压输入端,范围为1010V。Rfb:反馈电阻引出端,DAC0832内部有反馈电阻,可用作外部运算放大器的分路反馈电阻。Iout1:模拟电流输出端1。当DAC寄存器中数据全为1时,输出电流最大;当DAC寄存器中数据全为0时,

17、输出电流为0。Iout2:模拟电流输出端2。Iout2与Iout1的和为一个常数,即Iout1Iout2常数。一般在单极性输出时,Iout2接地;在双极性输出时,连接运算放大器。Vcc:电源端,一般515V。DGND:数字电路接地端。2内部结构DAC0832芯片的内部主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器组成,如图所示。由图中可以看出,数字量是通过两级寄存器后送至D/A转换器的输入端。这样的设计可以做到当后一级锁存器(8位DAC寄存器)向D/A转换器输出数据时,前一级寄存器(8位输入寄存器)可接收新的数据,从而提高了转换速度。ILE、CS和WR1是8位输入寄存器的控制信号。当

18、WR1、CS、ILE均有效时,可以将引脚的数据写入8位输入寄存器。WR2和XFER是8位DAC寄存器的控制信号。当两个信号均有效时,DAC寄存器工作在直通方式;当其中某个信号为高电平时,DAC寄存器工作在锁存方式。DAC0832的三种工作方式fiveDAC0809有直通方式、单缓冲方式和双缓冲方式三种工作方式,下面分别进行介绍。直通方式当两个寄存器的5个控制信号均有效时,两个寄存器均处于开通状态,数据可以从输入端经两个寄存器直接进入D/A转换器。单缓冲方式两个寄存器之中有一个处于直通方式(数据接收状态),另一个受单片机控制。如图所示DAC0832工作在单缓冲方式,信号WR2和XFER接地,DA

19、C寄存器处于直通方式;ILE端接高电平,CS端接译码输出,WR1与单片机的WR信号相连,输入寄存器的状态由单片机控制。单缓冲方式用于只有一路模拟量输出或有多路模拟量但不同时输出的情况。双缓冲方式两个寄存器均处于受控状态。这种工作方式适合于多模拟信号同时输出的应用场合。采用双缓冲方式时,数字量的输入锁存和D/A转换输出是分两步进行的。第一步,CPU分时向各路D/A转换器输入要转换的数字量并锁存在各自的输入寄存器中。第二步,CPU对所有的D/A转换器发出控制信号,使各路输入寄存器中的数据进入DAC寄存器,实现同步转换输出。如图所示为两片DAC0832与8031的双缓冲方式连接电路,可以实现两路同步

20、输出。任务4典型应用数模转换电路设计数模转换电路如数模转换电路图(下页)所示,单片机的P0端口与DAC0832的数字量输入端相连,单片机的P1.0、P1.1、P1.2连接三个开关,分别用于输出方形波、锯齿波以及三角波。要求利用单片机和DAC0832控制输出方形波、锯齿波、三角波,并通过示波器显示。硬件设计one提示要获取运算放大器,可在Pick Devices对话框中输入关键字operational amplifier进行搜索。要获取虚拟示波器,可单击左侧符号栏中的Instruments(仪器)按钮 , 然后在弹出的仪器列表中OSCILLOSCOPE关键字。数模转换电路 1示波器运算放大器数模转换电路 2ORG0000HLJMPMAINORG0030HMAIN:JNBP1.1,HH2;按键KEY2输出锯齿波JNBP1.2,HH3;按键KEY3输出三角波HH1:J

温馨提示

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

评论

0/150

提交评论