版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机典型外围接口技术第1页,共23页,2023年,2月20日,星期一内容提要
★A/D、D/A接口技术
★A/D接口技术 ★
D/A接口技术
第2页,共23页,2023年,2月20日,星期一
8.1A/D、D/A接口技术
在前一章并行接口的扩展中,解决了数字量或开关量的检测和控制,然而很多应用系统中,测控的对象是模拟量,计算机只能处理数字量,因此必须进行数字量和模拟量之间的转换,这就需要使用A/D或D/A接口。A/D和D/A接口又有串行接口和并行接口之分。本章主要介绍并行D/A和A/D转换接口。
第3页,共23页,2023年,2月20日,星期一8.1.1A/D接口技术8.1.1.1A/D概述 模数AD转换器是一种用来将连续的模拟信号转换成二进制数的器件。一个完整的A/D变换器通常包括这样的一些输入、输出信号:模拟输入信号和参考电压;数字输出信号;启动转换信号;转换结束信号;数据输出允许信号等。高速A/D一般还应有采样保持电路,以减少孔径误差(在A/D转换的孔径时间内,因输入模拟量的变动所引起输出的不确定性误差)。
第4页,共23页,2023年,2月20日,星期一A/D转换器的主要技术指标有:①分辨率输出数字量变化一个相邻数码所需输入模拟电压的变化量。通常用位数表示,对n位的A/D转换器,分辨率为满刻度电压的1/2n。②转换误差指一个实际的A/D转换器量化值与一个理想的A/D转换器量化值之间的最大偏差,通常以最低有效位的倍数给出。转换误差和分辨率一起共同描述A/D转换器的转换精度。值得一提的是,转换误差或转换精度的概念在国内外不同的参考文献上含义或形式可能会有所不一样,读者在阅读时应该注意类别区别。③转换时间与转换速率A/D转换器完成一次转换所需要的时间为A/D的转换时间。转换时间的倒数为转换速率,即1秒种完成转换的次数。
第5页,共23页,2023年,2月20日,星期一
ADC0809是逐次逼近型八位A/D转换器,片内有八路模拟开关,可对八路模拟电压量实现分时转换。典型转换速度100μs。片内带有三态输出缓冲器,可直接与单片机的数据总线相连接。ADC0809的引脚见图,其信号意义如下:
CLK时钟信号,典型值为500~640KHZ
VREF+、VREF-
基准电压输入,通常
VREF+接+5V、VREF-接地
ALE
地址锁存允许,其上升缘锁存
ADDC~ADDA的地址信号
8.1.1.2ADC0809的扩展接口ALEADDAADDBADDCSTARTEOC~D0D7OECLKVREF+VREF-VCCIN0IN7GNDADC0809第6页,共23页,2023年,2月20日,星期一
STARTA/D转换启动信号,上升缘启动A/D转换。
EOC转换完成信号,启动转换后,EOC输出低电平,转换完成后输出高电平。该信号可用作向单片机提出中断申请,或者作为查询信号。
OE数字量输出允许信号,该引脚输入高电平时,转换后的数字量从D0~D7脚输出。
IN0~IN7模拟电压输入,八个引脚可分别接八路模拟信号。
ADDA、ADDB、ADDC通道选择信号,其输入电平的组合选择模拟通道IN0~IN7之一:ADDC、ADDB、ADDA模拟通道000IN0001IN1……111IN7…第7页,共23页,2023年,2月20日,星期一
转换结束信号EOC根据不同的方式和单片机的连结方式不同:
采用延时方式EOC悬空,在启动转换后延时100μs,再读转换结果;
采用查询方式,可将EOC接并行口(P1或P3)的某线,检测EOC变高后,再读入转换结果。
采用中断方式,可将EOC经非门反相接到单片机的中断请求端,一旦转换完成EOC变为高电平,向8XX51提出中断请求,进入中断服务后读入转换结果。如图10.12是一个中断方式的接口电路。第8页,共23页,2023年,2月20日,星期一图8.3ADC0809和8XX51的连结ALE~2731~D0D7Q0Q1Q2373G1INT1P08XX51RDWRCLKQALEDQALEADDAADDBADDCSTARTEOC~D0D7OECLKIN0IN7VREF+VREF-VCCGNDADC080988P2.7+5V11第9页,共23页,2023年,2月20日,星期一
主程序:
ORG0000HLJMPMAINORG0013H;INT1中断入口地址LJMPINT1ORG0030HMAIN:MOVR0,#60H;置数据存储区首址MOVR2,#08H;置八路数据采集初值SETBIT1;设置边延触发中断SETBEA第10页,共23页,2023年,2月20日,星期一SETBEX1;开放外部中断1MOVDPTR,#7FF8H;指向0809通道0RD:MOVX@DPTR,A;启动A/D转换HE:MOVA,R2;八路巡回检测数送AJNZHE;等待中断,八路未完继续中断服务程序:INT1:MOVXA,@DPTR;读取A/D转换结果MOV@R0,A;向指定单元存数INCDPTR;输入通道数加1INCR0;存储单元地址加1MOVX@DPTR,A;启动新通道A/D转换DECR2;待检通道数减1RETI;中断返回第11页,共23页,2023年,2月20日,星期一8.1.1.3AD574的扩展接口AD574是逐位比较式12位模数转换器,转换时间小于25微秒,可以方便地与8位或16位单片机接口。其内部结构框图和引脚如图8.3所示。1)芯片引脚①与外围器件接口的引脚10VIN:0V~+10V的单极性或-5V~+5V的双极性输入线。20VIN:0V~+20V的单极性或-10V~+10V双极性输入线。REFOUT:片内基准电压输出线。第12页,共23页,2023年,2月20日,星期一REFIN:片内基准电压输入线。BIPOFF:极性调节线。模拟量从10VIN或20VIN输入,输入极性由REFIN,REFOUT和BIPOFF的外部电路确定。如图8.3所示,不论输入模拟量是单极性还是双极性,均按从小到大的顺序将输入模拟量变换为数字量000H~FFFH。对单极性的模拟量,0伏对应000H,最大电压值对应FFFH;对双极性的模拟量,负幅值对应0,0伏对应800H,正幅值对应FFFH如果把转换结果减去800H,可以得到与模拟量极性与大小对应的数字量。0-800H=800H(负幅值),800H-800H=0(零值)FFFH-800H=7FFH(正幅值)第13页,共23页,2023年,2月20日,星期一②与单片机接口的引脚:12位转换或8位转换线。,12位转换结果同时输出到数据线上;,则根据A0的状态来确定输出是高8位或低4位有效。当A0=0,读出高8位数据;当A0=1,读出低4位数据。通常数据线低4位连接到数据线高4位上:片选线,低电平选通芯片。
A0:端口地址线。启动转换时:A0=0启动12位转换;A0=1,启动8位转换;输出转换数据时:A0=0输出高8位数据;A0=1输出低4位数据。:读结果/启动转换线,高电平读结果,低电平启动转换。
CE:芯片允许线,高电平允许转换。这5个控制信号之间的逻辑关系如表8-1所示。
STS:转换状态指示,转换开始变为高电平,转换结束后输出变为低电平。第14页,共23页,2023年,2月20日,星期一图8.4AT89C51与AD574A的接口电路第15页,共23页,2023年,2月20日,星期一以中断方式为例,编程如下。
ORG 0003H LJMP INTS0 ORG 0100H ;主程序
MOV R0,#30H ;设定数据缓冲区首地址
MOV DPTR,#5FFFH ;AD574A的启动地址
SETB IE.2 ;外部中断1允许
SETB IE.7 ;开CPU中断
MOVX @DPTR,A ;启动12位转换
…
第16页,共23页,2023年,2月20日,星期一ORG 1000HINTS0:MOVDPTR,#5FFEH ;准备数据高8位地址MOVXA,@DPTR ;读入A/D转换值的高8位
MOV @R0,A ;存A/D转换值的高8位数据
INC DPTR ;准备数据低4位地址
INC R0 ;调整数据缓冲区指针
MOVX A,@DPTR ;读入A/D转换值的低4位
MOV @R0,A ;保存低4位数据
RETI
;中断返回第17页,共23页,2023年,2月20日,星期一8.1.2D/A接口技术
8.1.2.1D/A概述 数模D/A转换器是一种将数字信号转换成模拟信号的器件,为计算机系统的数字信号和模拟环境的连续信号之间提供了一种接口。D/A转换器的输出是由数字输入和参考电压组合进行控制的。大多数常用的D/A转换器的数字输入是二进制或BCD码形式的,输出可以是电流也可以是电压,而多数是电流。第18页,共23页,2023年,2月20日,星期一D/A转换器的主要性能指标有:①分辨率。指最小输出电压与最大输出电压之比。或用数字输入信号的有效位表示,如8位、12位等。②转换精度。以最大的静态转换误差的形式给出,用来描述转换后的实际转换特性与理想转换特性之间的最大偏差。该项指标在不同的参考文献中有可能定义的含义或形式不一样,读者在阅读时应该注意区别。③建立时间。描述D/A转换速率快慢的一个重要参数,一般是指输入数字量变化后,输出模拟量稳定到相应数值范围内所经历的时间。第19页,共23页,2023年,2月20日,星期一
8.1.2.2DAC0832的扩展接口
DAC0832是八位的D/A转换器,片内有两个数据缓冲器:输入寄存器和DAC寄存器,两控制端LE1和LE2分别受ILE、CS、WR1和WR2、XFER的控制。DI0~DI7为数据输入线,转换结果从IOUT1、IOUT2以模拟电流形式输出。当输入数字为全“1”,IOUT1最大,全“0”其IOUT1值最小,IOUT1和IOUT2之和为常数,当希望输出模拟电压时需外接运算放大器进行I/V转换。下图中DAC0832接成单缓冲形式和单片机接口,运算放大器组成的模拟电压输出电路,完成电流到电压的转换。第20页,共23页,2023年,2月20日,星期一tP0P2.7IOUT1IOUT2VREFREF+-XFERCSWR1WR2VCCILED0-D7V0WRAGNDDGND+5V-5V89C51DAC0832+-
MOVDPTR,#7FFFHDA1:MOVR0,#00HDA2:MOVA,R0MOVX@DPTR,AINCR0ACALLTIMERAJMPDA2TIMER为延时子程序
单片机执行以下汇编程序可在输出端得到锯齿波电压信号,图中0832地址为7FFFH;
。第21页,共23页,2023年,2月20日,星期一8.1.2.3DAC1210的扩展接口
DAC1210逻辑结构与DAC0832类似,所不同的是DAC1210
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论