
模拟接口技术课件.ppt
59页微机原理与接口技术微机原理与接口技术中国水利水电出版社中国水利水电出版社主编主编 李云强李云强 模拟接口技术第第11章章 模拟接口技术模拟接口技术本章导读本章导读 并行接口和串行接口都是数字接口,是计算机中普遍采用的计算机与外设连接的桥梁数字接口处理的是数字量信息,然而在现实世界中有很多信息例如声音、电压、电流、流量、压力、温度、位移和速度等都是不数字量的,它们都是连续变化的物理量,所谓连续,一是从时间上来说,这些信息是随时间连续变化的;二是这些信息的数值也是连续变化的将这些连续变化的物理量称为模拟量计算机是处理数字量信息的设备,要处理模拟量信息就必须有一个模拟接口,通过这个模拟接口,将模拟量信息转换成数字量信息,以供计算机运算和处理;然后,再把计算机处理过的数字量信息转换为模拟量信息,以实现对被控制量的控制 了解和掌握数字与模拟接口的相关概念及其设计方法具有十分重要的意义本章主要讨论数/模、模/数转换的基本原理,模拟量的8位D/A转换器DAC0832与8位A/D转换器ADC0809的接口技术和性能参数,同时介绍各自与微机接口时应考虑的事项 模拟接口技术第第11章章 模拟接口技术模拟接口技术•11.1 概述•11.2 D/A(数/模)转换器•11.3 A/D (模/数)转换器 模拟接口技术11.1 概述概述 将数字量转换成相应模拟量的过程称为数字/模拟转换,简称数/模转换,或D/A转换(Digital to Analog Conversion),完成这种转换的装置称为D/A转换器(Digital to Analog Converter,DAC);反之,将模拟量转换成相应数字量的过程称为模拟/数字转换,简称模/数转换,或A/D转换(Analog to Digital Conversion)。
完成这种转换的装置称为A/D转换器(Analog to Digital Converter,ADC) 模拟接口技术 A/D转换和D/A转换在控制系统和测量系统中有非常广泛的用途,图11-1是一个计算机自动控制系统的方块图在生产或实验的现场,有多种物理量,如温度、压力、流量等,它们先通过传感器转换成电信号(电流或电压信号),然后经过滤波放大后送到A/D转换器去,模拟量被转换成数字量,再送给微型计算机微型计算机对这些数字量进行处理加工后,再由D/A转换器转换成模拟信号,在对这些模拟信号进行一定的调理后,由执行部件产生相关的控制信号去控制生产过程或实验装置中的各种参数,这就形成了一个计算机闭环自动控制系统 模拟接口技术图11- 1 计算机自动控制系统 模拟接口技术11.2 D/A (数模)转换器11.2.1 D/A转换器的工作原理 D/A转换器一般由基准电基准电压源、电阻解码网络、运算放压源、电阻解码网络、运算放大器和数据缓冲寄存器大器和数据缓冲寄存器等部件组成各种D/A转换器都可用图11-2所示的结构框图来概括,其中电阻解码网络电阻解码网络是其核心部件,是任何一种D/A转换器都必须具备的组成部分。
图11-2 D/A转换器结构框图 模拟接口技术1. 权电阻网络型权电阻网络型D/A转换器转换器(1) 电路的构成及各部分的作用 权电阻D/A转换器的电路原理图如图11-3所示,它由双向电子开关、基准电压源、权电阻网络和运算放大器等部分组成 1)双向电子开关Sn-1,Sn-2,…,Sl S0双向电子开关通常由场效应管构成,每位开关分别受对应的输入二进制数码bn-1,bn-2,…,bl b0的控制每一位二进制数码bi (0或1)控制一个相应的开关Si (i=0,1,…,n-1) 当bi =1时,开关上合,对应的权电阻与基准电压源UR相接;当bi=0时,开关下合,对应的权电阻接“地”也就是说,开关的状态由相应二进制数码来控制如4位二进制数码是1010,则开关S0接“地”,S1接基准电压源,S2接“地”,S3接基准电压源 数字bn-1,bn-2,…,bl b0来自一个数据缓冲寄存器 模拟接口技术图11- 3 权电阻网络D/A转换器电路原路图 模拟接口技术 2)基准电压源URUR是一个稳定性很高的恒压源 3)权电阻网络R,2R,22R,23R,…。
流过权电阻网络中每个电阻的电流与对应位的“权”成正比,这些分电流在权电阻网络的输出端∑处汇总加至运算放大器的反相端,总电流I与输人数字量成正比对应的位越高,相应的电阻值越小(bn-1为最高位,电阻值20R最小)由于电阻值和每一位的“权”相对应,所以称为权电阻网络 4)运算放大器运算放大器和权电阻网络构成反相加法运算电路输出电压U0与I成正比,亦即与输入数字量成正比运算放大器还能起缓冲作用,使U0输出端负载变化时不影响I调节反馈电阻Rf的大小,可以很方便地调节转换系数,使U0的数值符合实际需要 模拟接口技术 例例11-1 设UR=-10 V,试分别求出与二进制数码0001、0010、0100相对应的模拟输出量U0 解:根据式(11-3),可得: ①与000l相对应的模拟输出量U0=10(0/21+0/22+0/23+l/24)V=0.625 V;②与0010相对应的模拟输出量U0=10(0/21+0/22+1/23+0/24)V=1.25 V;③与0100相对应的模拟输出量U0=10(0/21+1/22+0/23+0/24)V=2.5 V可见,输出模拟量与输人数字量成正比。
模拟接口技术 这种电路只用R和2R两种电阻来接成倒T型电阻网络4位倒T型电阻网络D/A转换器如图11-4所示 该电路的特点如下当输入数字量的任何一位为1时,对应的开关将2R电阻支路接到运算放大器的反相端;而当该位为0时,对应开关将2R电阻支路接地因此,无论输入数字信号每一位是“1”还是“0”,2R电阻要么接地,要么虚地,其中流过的电流保持恒定,这就从根本上消除了在动态过程中产生尖峰脉冲的可能性2. 倒倒T型电阻网络型型电阻网络型D/A转换器转换器 模拟接口技术图11- 4 倒T型电阻网络D/A转换器 模拟接口技术•1.分辨率 分辨率是指D/A转换器的输出模拟量对输入数字量的敏感程度一般有两种表示法,一种是用输入二进制位数来表示,如分辨率为n位的D/A转换器就是输入的二进制代码为n位;另一种方法是以最低有效位(LSB)所对应的模拟电压值来表示如果输入为n位,则最低有效位对应的模拟电压值是满量程电压的1/2n 11.2.2 D/A转换器的主要技术指标 模拟接口技术2.精度 精度(即误差)表明D/A转换的准确程度,它可分为绝对精度和相对精度。
绝对精度是指输入给定数字量时,其理论输出模拟值与实际所测得输出模拟值之差它是由D/A转换器的增益误差、零点误差、线性误差和噪声等综合因数引起的 相对精度是指满量程值VFS校准以后,任一数字输入的模拟量输出与它的理论值之差相对于满量程值的百分数情况,有时也以最低有效位(LSB)的分数形式给出 例如:相对精度±0.1%指的是最大误差为VFS的±0.1%如满量程值VFS为10 v时,则最大误差为K=±10 mV 模拟接口技术3.建立时间 D/A转换器的建立时间是指从输入数字信号起到输出电压(或电流)达到稳定输出值所要的时间当输出形式是电流时,这个时间很短;当输出形式是电压时,则建立时间取决于算放大器所需要的时间建立时间一般为几十纳秒至几微秒 除以上几个主要技术指标外,还有温度系数、功率消耗、零点误差、标度误差等,使用时可查阅有关资料 模拟接口技术11.2.3 DAC0832芯片 模拟接口技术1.芯片简介 DAC0832芯片是具有两级输入数据寄存器的8位单片D/A转换器,它能直接与微机相连接,采用二次缓冲方式,可以在输出的同时采集下一个数据,从而提高转换速度,能够在多个转换器同时工作时实现多通道D/A的同步转换输出。
主要的特性参数如下:(1)8位分辨率2)电流稳定时间为1μs3)功耗低,约为200mW4)逻辑输入电平与TTL兼容5)可双缓冲、单缓冲或直通数据输入6)单电源供电(+5V~+15V) 模拟接口技术2.引脚功能及逻辑结构DAC0832的引脚如图11-6(a),内部逻辑结构由8位锁存器、8位DAC 寄存器和8位D/A转换器构成,见图11-6 (b)DAC0832各引脚的功能如下:D0~D7:8位数字输入,D0为最低位ILE:数据锁存允许信号,高电平有效CS#:片选信号,它与ILE结合起来用于控制是否起作用WR1#:写信号1,输入寄存器的“写”选通信号,低电平有效 模拟接口技术WR2#:写信号2,DAC寄存器“写”选通信号,低电平有效XFER#:传送控制信号,用于控制是否起作用在控制多个DAC0832同时输出时特别有用VREF:基准电压输入,可超出±10V范围RFB:反馈电阻,该电阻被制作在芯片内,用作运算放大器的反馈电阻Iout1:DAC输出电流1,它是逻辑电平为1的各位输出电流之和Iout2:DAC输出电流2,它是逻辑电平为0的各位输出电流之和VCC:逻辑电源,+5V~+5V,最佳用+15V。
DGND:数字地,芯片数字信号接地点AGND:模拟地,芯片模拟信号接地点 模拟接口技术3.DAC0832的工作原理 图11-6中有两个独立的数据寄存器,即“8位输入寄存器”和“8位DAC寄存器”8位输入寄存器直接与数据总线连接,当ILE、和有效时,8位输入寄存器的为高电平此时该寄存器的输出状态随输入状态变化;当=0时,数据锁存在寄存器中,但此时还没有转换当和有效时,8位DAC寄存器的为高电平,输入寄存器中的数据送到DAC寄存器并输出;当=0时,则将这个数据锁存在DAC寄存器中,并开始转换4.DAC0832的工作方式 有3种工作方式,通过改变WR1#、WR2#、XFER#、CS#的接入方式,可以使DAC0832进入3种工作方式之一 模拟接口技术 (1)直通方式 顾名思义,直通就是使DAC0832的两级锁存器一直处于直通状态,做到这一点很容易,只需将5个控制信号一直保持有效即可:ILE=1, WR1#=WR2#=XFER#=CS# =0 (2)单缓冲方式 将DAC0832的两级锁存器中的任一级一直处于直通状态,而另一级处于锁存器状态,就构成单缓冲方式。
通常,将DAC0832的第二级锁存器,即DAC寄存器设置成直通状态,即ILE=1, WR2#=XFER =0第一级输入锁存器的有效锁存脉冲由、 CS#、 WR1#同时有效决定,见图11-7 模拟接口技术图11- 7 DAC0832单缓冲接口电路图11-8 DAC0832的电压输出电路 模拟接口技术 (3)双缓冲方式 CPU分两次写指令对DAC0832进行写操作,第一次写指令将数字量锁存到第一级输入锁存器,第二次写指令将第一级输入锁存器输出数字量锁存到DAC寄存器,只有将数字量锁存到DAC寄存器,才真正启动新一轮D/A转换模拟量输出 通常将CPU的写信号WR#与DAC0832的WR1#、WR2#相连,XFER#与CS#分别与地址译码 器的不同译码输出相连,ILE为高电平当执行写第一级输入锁存器端口指令时,WR1#、CS#同时有效;当执行写第二级DAC寄存器端口指令时,WR2#、XFER#同时有效 模拟接口技术5.DAC0832的模拟输出 DAC0832的输出是电流型的,如果需要电压输出,只要使用运算放大器即可实现,如图11-8所示。
其中VREF是稳定的直流电压,也可以是从-10 V~+10 V之间的可变电压当为可变电压时,即可实现四象限乘VOUT的极性与VREF相反,其数值由数字输入和VREF决定由于芯片内部有反馈电阻Rf,所以运算放大器外部不必再接另外的反馈电阻 模拟接口技术1. D/A转换器与微处理器接口要考虑的问题 (1)数据锁存问题由于D/A转换器只有数据输入线、片选和写入控制线等与微处理器有关,因此它与微处理器的接口相对比较简单,它不需要应答,微处理器可直接把数据输出给D/A转换器若D/A转换器芯片内有数据锁存器,则微处理器就把D/A转换器芯片当作一个并行输出端口;若D/A转换器内没有数据锁存器,则微处理器把D/A转换器芯片当作一个并行输出的外设,在两者之间还需要增加并行输出的接口,该接口实际上就是一个数据锁存器 (2)其它问题除了数据锁存问题,绝大多数D/A转换器还需要考虑地址译码和信号组合等问题,个别的D/A转换器还要考虑电平匹配问题总之,接口的目的是希望使微处理器简单地执行一次输出指令就能建立一个给定的电压或电流输出11.2.4 D/A转换器芯片与微处理器的接口 模拟接口技术2. DAC 0832与8位微处理器的连接 图11-9是DAC工作于双缓冲方式下,与8位微处理器的连接图。
DAC 0832是作为微处理器的一个端口由于DAC 0832内部有锁存器,所以接口特别简单,只需要外加地址译码给出片选信号即可图11-9中,将和同接在地址译码器输出端上,的端口地址为320H,的端口地址为321H,把和同接到CPU的写信号上因本例没有外界的禁止输入锁存控制,故ILE可简单地接+5V11.2.4 D/A转换器芯片与微处理器的接口 模拟接口技术图11-9 CPU与DAC0832接口 模拟接口技术CPU执行第一条输出指令,将待转换的数据转入输入寄存器;再执行第二条输出指令,把输入寄存器的内容写入DAC寄存器,并启动D/A转换执行第二条输出指令时,AL中的数据时多少是无关紧要的,主要目的是使有效一个数据通过DAC0832输出的典型程序段如下:MOV DX,320H;执行输入寄存器MOV AL,DATA;DATA为被转换的数据OUT DX,AL;数据打入输入寄存器INC DX;指向DAC寄存器OUT DX,AL;选通DAC寄存器,启动D/A转换 模拟接口技术11.2.5 DAC0832应用 利用D/A转换器的模拟输出和输入数字代码存在比例关系的特性,通过软件控制输入代码的变化规律,就可以产生各种形式的模拟电流或电压波形,如锯齿波、三角波、正弦波等。
DAC0832就产生波形的原理: 锯齿波:送出数字量0,加1到255,循环上述过程即形成锯齿波 三角波:送出数字量0加1到255,然后减1到0,循环上述过程即形成三角波 矩形波:将方波的高电平和低电平延时时间进行修改,即成矩形波 梯形波:锯齿波和方波的组合 模拟接口技术1.产生锯齿波例11-2 锯齿波的产生锯齿波发生器的电路结构如下图11-10图11-10 DAC0832锯齿波发生器 模拟接口技术控制程序清单如下:;8255A初始化MOVDX,0E003;8255A的控制端口地址MOVAL,80H;设置8255A的方式字OUTDX,AL ;B口控制DAC的转换MOVDX,0E001H;8255A的B口地址MOVAL,10H;置0830为直通工作方式OUTDX,AL;生成锯齿波MOVDX,0E000H;设置DAC端口号MOVAL,0H;设置初值L1: OUT DX,AL;向DAC送数据INCAL;输出数据加1NOP;延时 JMP L1 模拟接口技术2. 三角波的产生 例11-3 在原有硬件电路的基础上,换用下述程序即可产生三角波。
MOV DX,0E000HMOV AL,0H;输出数据从0开始L2:OUTDX,ALINCAL;输出数据加1JNZL2;AL是否加满?未满,继续MOV AL,0FFH;已满,AL置全“1”L3:OUTDX,ALDECAL;输出数据减1JNZL3;AL是再减到“0”?不是,继续JMPL2 模拟接口技术11.3 A/D (模数)转换器11.3.1 A/D转换器的工作原理 A/D转换器的原理框图如图11-11所示可见:A/D转换器由电压比较器、D/A转换器、逐次逼近寄存器、置数选择逻辑电路、时钟等组成这是A/D芯片中最常用的逻辑结构形式A/D转换经历采样—量化—编码3个阶段 (1) 采样原理:采样频率至少大于等于被采样频率的2倍,才能反映原信号 (2) 量化:连续信号离散划分为量化层,在一个量化层内的所有相量归到一个量化线输出8位A/D转换器,共分为28=256个量化层,由此类推 模拟接口技术 (3) 编码:工作原理称为逐次逼近法,又称为二分搜索法:首先用最大量程电压一半的数据置入逐次逼近寄存器(即最高位是1,其余全是0),经D/A转换成模拟电压Vd,与模拟输入电压Vi进行比较。
若Vi>Vd,则电压比较器输出1,回馈到置数选择逻辑,再使逐次逼近寄存器的次最高为D6=1,1100 0000送D/A转换若Vi≥Vd则逐次逼近寄存器内容就是A/D转换结果若仍是Vi>Vd,再使逐次逼近寄存器下一个次高位D5=1,则搜索范围在原有的基础上再扩大一半否则Vi<Vd,则在原数字量搜索范围上再缩小到原来的一半因此n位A/D转换器最多搜索n次,就能使Vi=Vd,从而得到A/D转换结果的数字量从理论上讲,用D/A芯片、电压比较器、采样保持器、并行数据缓冲器等可构成A/D转换器,但转换速度比不上集成ADC芯片 模拟接口技术图11-11 AD转换器原理结构框图 模拟接口技术11.3.2 A/D转换器的主要性能参数1.分辨率 对于A/D转换器来说,分辨率表示输出数字量变化一个相邻数码所需要输入模拟电压的变化量通常定义为满刻度电压与2n的比值,其中n为A/D转换器的位数例如12位的A/D转换器能够分辨出满刻度电压的1/212(0.0244%)若满刻度电压为10 V,则分辨率为2.44 mV 有时分辨率也用A/D转换器的位数来表示,如ADC 0809的分辨率为8位,AD574的分辨率为12位等。
2.量化误差 量化误差是由于A/D转换器的有限分辨率引起的误差,这是连续的模拟信号在量化取整后的固有误差对于四舍五入的量化法,量化误差在±1/2 LSB之间 模拟接口技术3.绝对精度 绝对精度是指在输出端产生给定的数字代码,实际需要的模拟输入值与理论上要求的模拟输入值之差4.相对精度 相对精度与绝对精度相似,所不同的是把这个偏差表示为满刻度模拟电压的百分数5.转换时间 转换时间是A/D转换器完成一次转换所需要的时间,即从启动信号开始到转换结束并得到稳定的数字输出量所需要的时间,通常为微秒级一般约定,转换时间大于1ms的为低速,1 ms~1μs的为中速,小于1μs的为高速,小于1ns的为超高速6.量程 量程是指能转换的输入电压范围 模拟接口技术11.3.3 ADC0809芯片 ADC0809是美国数据公司NSC生产的内嵌8选l模拟开关的8通道8位逐次逼近型A/D转换器,最大满量程输入电压为0~5V(当REF(+)=5V时) 1.ADC0809的封装及内部结构 ADC0809封装为D1P28,ADC0809由8选1模拟多路开关、通道地址锁存器和译码器、电压比较器、开关树形D/A转换器、逐次逼近寄存器(SAR)、带三态控制的8位输出锁存缓冲器、控制逻辑等组成,内部逻辑结构图如图11-12(a)所示。
模拟接口技术图11-12 ADC0809内部结构和引脚分布图 模拟接口技术2.ADC0809引脚功能 引脚分布如图11-12(b)所示引脚功能说明如下1)IN0~IN7:8个输入通道的模拟输入端2)D0(2)~D7(2):8位数字量输出端3)START:启动信号,加上正脉冲后,A/D转换开始进行4)ALE:地址锁存信号由低至高电平时,把三位地址信号送入通道号地址锁存器,并经译码器得到地址输出,以选择相应的模拟输入通道5)EOC:转换结束信号,是芯片的输出信号转换开始后,EOC信号变低;转换结束时,EOC返回高电平这个信号可以作为A/D转换器的状态信号来查询,也可以直接用作中断请求信号6)OE:输出允许控制端(开数字量输出三态门)连微机控制信号,当接到微机有效信号时,0809打开三态门,将转换的数据结果送给微机的数据总线,完成输出若是在中断方式下工作,此信号可以通常作为微机发出的中断响应信号7)CLOCK:时钟信号最高允许值为640kHz8)ADDA、ADDB、ADDC:模拟通道选择地址信号如表11-1 模拟接口技术表11-1 模拟开关功能表ADDCADDBADDA输入通道号输入通道号000IN0001IN1010IN2…………111IN7(9)VREF(+)和VREF(-):A/D转换器的参考电压。
10)VCC:电源电压由于是CMOS芯片,允许的电压范围较宽,可以是+5~+15V 模拟接口技术3.ADC0809的工作过程START为高电平启动,START的上升沿将SAR(逐次逼近寄存器)复位,真正转换为从START的下降沿开始,转换期间EOC输出为低电平,以指示转换操作正在进行中转换完成后EOC变为高电平,此时若OE也为高电平,则输出三态门打开,数据锁存器的内容输出到数据上模拟通道的选择可以相对于转换操作开始前独立地进行,然而通常把通道选择和启动转换结合起来完成这样用一条输出指令就可以既选择模拟通道,又可以启动转换开始EOC信号是转换结束的标志,可供CPU查询或用作中断申请信号4.ADC0809的工作时序 模拟接口技术ADC0809工作时序如图11-13所示,从图中可以看出各信号的时序关系,完成一次转换所需要的时间为66~73个时钟周期ADC0809的一次转换分为以下几个阶段:(1)在ALE信号的作用下,地址引脚ADDA~ADDC上的信号被锁存,随后由地址引脚选择的模拟信号被多路开关接通,进入ADC08092)在启动脉冲START的作用下,A/D转换开始3)转换完成后,ADC0809转换结束信号EOC由低电平变为高电平,该信号可以作为状态信号由CPU查询,也可以作为中断请求信号通知CPU本次A/D转换已经完成。
4)CPU在查询式I/O程序或中断服务程序中执行读ADC0809数据端口的指令,该指令经地址译码电路产生高电平的OE有效信号,打开输出三态缓冲器,转换结果通过系统数据总线进入CPU 模拟接口技术11.3.4 A/D转换器芯片与微处理器的接口1.A/D转换器与微处理器接口中必须考虑的问题(1) A/D转换器的数字输出特性 首先要考虑A/D转换器芯片内部是否有数据锁存器和三态输出缓冲器,如果有,则接口很简单,只要将A/D的数字输出线直接连到微处理器的数据总线上就可以了如果A/D芯片内没有数据锁存器和三态输出缓冲器,则A/D的数字输出必须考虑数据的锁存和三态输出问题,以保证A/D转换器芯片与微处理器接口的正确性 模拟接口技术(2) ADC和CPU的时间配合问题通常采用3种方法来解决A/D和CPU的时间配合问题:固定延迟时固定延迟时间法、查询法和中断响应法间法、查询法和中断响应法1) 固定延迟时间法最简单,当CPU执行指令启动A/D开始转换后,就执行一段延迟程序,延迟时间多长取决于A/D转换器的最大转换时间,对于一种A/D芯片,这个时间通常是固定的,所以选择延迟时间比最大转换时间稍长一些就可以。
延迟结束,A/D转换也完成,然后读取数据这种方法接口简单,但等待时间较长2) 查询法采样率不是很高,读取转换结果数据的迫切性也不是很高时,可以采用此方法查询法操作简单,硬件电路也不复杂,但缺点是微处理器要等待转换完成才能读取数据,使CPU的效率大大降低3) 中断响应法采用这种方法,可由CPU先执行一条输出指令,启动A/D开始转换在A/D转换完成后,转换结束信号EOC作为中断申请信号发给CPU,CPU响应该中断,在中断服务程序中执行一条输入指令,读取转换结果数据中断响应法的特点是在A/D转换期间,CPU不需要花费等待时间,在A/D辖换完成后,CPU能立即得到通知,接口硬件也不复杂,但编程相对要复杂些 模拟接口技术(3) A/D转换器的控制和状态信号A/D转换器的控制和状态信号主要有3个,即启动信号、转换结束信号和输出允许信号1) 启动信号(START或CONVERT):是一个用于启动ADC开始转换的控制信号,一般用微处理器的输出指令与地址译码信号相结合产生启动信号要注意启动信号的极性、是脉冲还是电平,以及对脉冲宽度的要求等2) 转换结束信号(EOC或BUSY):是A/D转换器提供的转换结束标志信号,指示A/D转换是否完成,通常用于CPU查询或作中断申请信号。
3) 输出允许信号(OE):有的A/D内部有数据三态输出缓冲器,控制该缓冲器是否开启的信号就是输出允许信号CPU读取数据时,一般执行输入指令和地址译码相结合产生输出允许信号,读取转换结果数据使用时也要注意有效的极性 模拟接口技术2.ADC0809多通道采样控制方案(1) 一个通道A/D转换结束后,才能启动下一个通道的A/D转换,否则前一个A/D转换中途中止,没有A/D转换结果2) 利用定时器,以定时时间大于A/D转换时间的周期对ADC0809定时采样3) A/D转换结束信号(低到高跳变)作为中断请求信号,触发CPU中断,在中断服务程序中读取A/D转换结果,或者启动定时器延时等待一段时间后读取A/D转换结果4) A/D转换结果要及时读取到数据缓冲器中存放,否则下一次A/D转换结果会自动覆盖ADC0809的A/D的转换结果寄存器若循环启动ADC0809的IN0~IN7个模拟通道采样,则至少要设计8个8位的数据缓冲器,用于存放各通道A/D转换结果 模拟接口技术3.ADC0809与PC总线的等的连接实例(1)ADC 0809与CPU的接口1)直接连接由于ADC 0809内部有三态缓冲器,所以它的数据线可与CPU的数据总线直接连接,如图11-14所示。
设地址译码器的输出的端口地址为84H~87H,与经过或非门#2控制ADC 0809的启动信号START和通道地址锁存允许信号ALE与经过或非门#1控制ADC 0809的输出允许OE 模拟接口技术通道地址选择信号ADDA、ADDB、ADDC分别接到数据总线的D0、D1、D2本例中,转换结束信号EOC没有用,采用软件延迟(固定延迟法)来等待转换结束已知ADC 0809的转换时间为100μs,则从输入通道IN,读入一个模拟量经ADC 0809转换后送入CPU的程序如下:图11-14 ADC0809直接与微处理器链接图 模拟接口技术图11-15 ADC0809通过8255与CPU链接图MOV AL,05H ;选择输入通道号5OUT 84H,AL ;并发出启动A/D转换信号CALL DELAY100 ;延时100μs,等待转换结束IN AL,84H ;读入数据HLT 模拟接口技术2) 通过并行接口8255A与CPU连接 如图11-15所示,ADC 0809通过并行接口8255A与CPU连接,译码器输出的端口地址为80H~83H,用于选通8255A;的端口地址为84H~87H,用来选通ADC 0809。
ADC 0809的START和ALE一起与8255A的PB4相连,EOC同PC7相连,数字输出直接与CPU的数据总线连接 8255A设定在工作方式0,从通道IN4输入一个模拟量,经ADC0809转换后送入CPU的程序如下: 模拟接口技术MOV AL,88H ;8255A初始化:方式0,B口输出,C口高4位输入OUT 83H,ALMOV AL,04H ;选取通道IN4,且使PB4=0,以产生正脉冲启动ADC 0809开始转换OUT 81H,ALMOV AL,14H ;使PB4为1OUT 81H,ALMOV AL,04H ;使PB4为0,从而在PB4产生一个正脉冲信号OUT 81H,ALLOP: IN AL,82H ;读入8255A C口信息,此信息的PC7是ADC 0809的EOC状态TEST AL,80H ;测试EOCJZ LOP ;若EOC =0,则继续查询IN AL,84H ;若EOC =1,则使ADC 0809的OE有效,允许输出,读人数字量HLT 模拟接口技术11.3.5 ADC0809应用举例例11-4 ADC0809实验电路如图11-16所示,输入电压范围0~5V,用2.2kΩ电位器对5V电压分压,模拟输入电压的变化,接到ADC0809的IN0上,A/D转换结果送PC屏幕上显示。
图11-16 ADC0809通过8255与CPU链接图 模拟接口技术程序清单如下: Z8279 EQU 239HD8279 EQU 238HD0809 EQU 208HLEDMOD EQU 00 ;左边输入,8位显示外部译码8位LEDFEQ EQU 38H ;扫描频率CODE SEGMENTASSUME CS:CODE,DS:codeSTART: PUSH CS POP DSCALL DELAYMOV DX,Z8279MOV AL,LEDMODOUT DX, AL 模拟接口技术 MOV AL,LEDFEQ OUT DX,AL MOV CX,06H XZ: MOV DX,D8279 MOV AL,00H OUT DX,AL LOOP XZ MOV DX,D8279 MOV AL,5EH OUT DX,AL MOV DX,D8279 MOV AL,77H OUT DX,AL ;以上为写(AD) NOP 模拟接口技术 BG: MOV DX,D0809 MOV AL,0 OUT DX,AL CALL DELAY IN AL,DX MOV CL,04H ROR AL,CL AND AL,0FH PUSH AX MOV DX,Z8279 MOV AL,83H OUT DX,AL POP AXLEA BX,LED XLAT MOV DX,D8279 ;将AL中内容写到数码管上 OUT DX,AL CALL DELAY JMP BG 模拟接口技术DELAY: PROC NEAR PUSH CXMOV CX,0F00HLOOP $POP CXRETDELAY ENDPLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39HDB 5EH,79H,71HCODE ENDSEND START 模拟接口技术 再见!!! 模拟接口技术。












