输入输出与接口技术.ppt

上传人:小飞机 文档编号:6028104 上传时间:2023-09-16 格式:PPT 页数:91 大小:1.50MB
返回 下载 相关 举报
输入输出与接口技术.ppt_第1页
第1页 / 共91页
输入输出与接口技术.ppt_第2页
第2页 / 共91页
输入输出与接口技术.ppt_第3页
第3页 / 共91页
输入输出与接口技术.ppt_第4页
第4页 / 共91页
输入输出与接口技术.ppt_第5页
第5页 / 共91页
点击查看更多>>
资源描述

《输入输出与接口技术.ppt》由会员分享,可在线阅读,更多相关《输入输出与接口技术.ppt(91页珍藏版)》请在三一办公上搜索。

1、微机原理、汇编与接口技术,朱定华,2008.8,6.1,6.2,6.3,接口的基本概念,I/O指令和I/O地址译码,数字通道接口,第六章 输入输出和接口技术,6.4,模拟通道接口,输入输出(I/O)是指微型计算机与外界的信息交换,即通信(communication)。微型计算机与外界的通信,是通过输入输出设备进行的,通常一种I/O设备与微型机连接,就需要一个连接电路,我们称之为I/O接口。,接口是用于控制微机系统与外设或外设与系统设备之间的数据交换和通信的硬件电路。接口设计涉及到两个基本问题,一是中央处理器如何寻址外部设备,实现多个设备的识别;二是中央处理器如何与外设连接,进行数据、状态和控制

2、信号的交换。,1.接口的一般定义 接口是一组电路,是中央处理器与存储器、输入输出设备等外设之间协调动作的控制电路。接口电路并不局限在中央处理器与存储器或外设之间,也可在存储器与外设之间,如直接存储器存取DMA接口就是控制存储器与外设之间数据传送的电路。,6.1 接口的基本概念,6.1.1 接口的功能,6.1 接口的基本概念,2.接口电路的功能 接口电路的作用就是将来自外部设备的数据信号传送给处理器,处理器对数据进行适当加工,再通过接口传回外部设备。所以,接口的基本功能就是对数据传送实现控制,具体包括以下5种功能:地址译码、数据缓冲、信息转换、提供命令译码和状态信息以及定时和控制。,6.1 接口

3、的基本概念,3.接口电路的基本结构,控制命令逻辑电路一般由命令字寄存器和控制执行逻辑组成,这一部分是接口电路的“中央处理器”,用来完成全部接口操作的控制。,状态设置和存储电路主要由一组数据寄存器构成,中央处理器和外设就是根据状态寄存器的内容进行协调动作的。,数据存储和缓冲电路也是一组寄存器,用于暂存中央处理器和外设之间传送的数据,以完成速度匹配工作。,6.1 接口的基本概念,1.数据传送方式,接口控制原理,接口控制原理,异步串行通信协议规定字符数据的传送格式:,异步串行通信中,接收设备和发送设备必须保持相同的传送波特率,并与每个字符数据的起始位同步。起始位、数据位、奇偶位和停止位约定,在同一次

4、传送过程中必须保持一致。,接口控制原理,2.传送控制方式,接口控制原理,传送控制方式有查询、中断和DMA3种。,2.传送控制方式,接口控制原理,在查询方式下,CPU需要完成以下操作:(1)CPU向接口发出传送命令,输入数据或输出数据;(2)中央处理器查询外设是否允许传送?,在查询方式下,中央处理器需要花费较多的时间去不断地“询问”外设,外设的接口电路处于被动状态。,传送控制方式有查询、中断和DMA3种。,接口控制原理,中断方式是在外设要与中央处理器传送数据时,外设向中央处理器发出请求,中央处理器响应后再传送数据的操作方式。,在中断方式下,中央处理器不必查询外设,提高了系统的工作效率,但中央处理

5、器管理中断的接口比管理查询复杂。,接口控制原理,DMA 方式是数据不经过中央处理器在存储器和外设之间直接传送的操作方式。DMA方式是这3种方式中效率最高的一种传送方式,DMA 方式控制接口也最复杂,需要专用的DMA控制器。,DMA 方式适合数据量较大的传送,如存储器与磁盘之间的数据传送。,接口控制信号可分为两类:总线控制信号 和 输入输出控制信号。,接口控制信号图,输入输出控制信号比较复杂,不同控制方式的接口信号不同。一般包括数据线、输入输出应答信号等。,中断接口和DMA接口的控制信号更复杂一些,通常由接口芯片提供专用控制信号来完成数据传送控制。,总线控制信号包括数据线、地址线、等。,接口控制

6、信号,微处理器进行I/O操作时,对I/O接口的寻址方式与存储器寻址方式相似。即必须完成两种选择:一是选择出所选中的I/O接口芯片(称为片选);二是选择出该芯片中的某一寄存器(称为字选)。,通常有两种I/O接口结构:一种是标准的I/O结构,另一种是存储器映象I/O结构(memory mapped I/O)。与之对应的有两种I/O寻址方式。,6.2 I/O指令和I/O地址译码,标准的I/O寻址方式有以下3个特点:,(1)I/O设备的地址空间和存储器地址空间是独立的、分开的,即I/O接口地址不占用存储器的地址空间。,(2)微处理器对I/O设备的管理是利用专用的IN(输入)和OUT(输出)指令来实现数

7、据传送的。,(3)CPU对I/O设备的读/写控制是用I/O读/写控制信号(、)。,一个外设常有若干个端口地址。,6.2.1 标准的I/O 寻址方式,1.存储器映象I/O寻址方式又称为存储器对应I/O寻址方式,有3个特点:,(1)I/O接口与存储器共用同一个地址空间。即在系统设计时指定存储器地址空间内的一个区域供I/O设备使用,故I/O设备的每一个寄存器占用存储器空间的一个地址。这时存储器与I/O设备之间的唯一区别是其所占用的地址不同。,(2)CPU利用对存储器的存储单元进行操作的指令来实现对I/O设备的管理。,(3)CPU用存储器读/写控制信号(、)对I/O设备进行读/写控制。,6.2.2 存

8、储器映像I/O 寻址方式,2.存储器映象I/O寻址方式的优点:,(1)CPU对外设的操作可使用全部的存储器操作指令,故指令多,使用方便,如可对外设中的数据(存于外设的寄存器中)进行算术和逻辑运算,进行循环或移位等;(2)存储器和外设的地址分布图是同一个;(3)不需要专门的输入/输出指令。,3.其缺点有以下两种:,(1)外设占用了内存单元,使内存容量减小;(2)存储器操作指令通常要比I/O指令的字节多,故加长了I/O操作的时间。,6.2.2 存储器映像I/O 寻址方式,6.2.3 输入输出指令,输入指令是把一个字节或一个字由输入端口传送至AL(8位Acc)或AX(16位Acc)或EAX(32位A

9、cc)。端口地址若是由指令中的port所规定,则只可寻址 0255。端口地址若用寄存器 DX间址,则允许寻址64K个输入端口。,6.2.3 输入输出指令,输出指令是把AL中的一个字节或AX中的一个字或者EAX中的一个双字,传送至输出端口。端口寻址方式与IN指令相同。输入输出指令传送字节还是字,取决于端口的宽度。PC XT机端口宽度只有位,只能传送字节。,80 x86微处理器都由低16位地址线寻址 I/O端口,故可寻址64K个I/O端口,但在实际的80 x86PC机中,只用了最前面 1K个端口地址,也即只寻址1K范围内的I/O空间。因此仅使用了地址总线的低10位,即只有地址线A9A0用于I/O地

10、址译码。,在DMA操作时,DMA控制器控制了系统总线。DMA控制器在发出地址的同时还要发出地址允许信号AEN,所以还必须将DMA控制器发出的地址允许信号AEN也参加端口地址的译码,用AEN限定地址译码电路的输出。当 AEN信号有效时即 DMA控制器控制系统总线时,地址译码电路无输出;当 AEN信号无效时,地址译码电路才有输出。,6.2.4 I/O 接口的端口地址译码,无论是大规模集成电路的接口芯片,还是基本的输入输出缓冲单元,都是由一个或多个寄存器加上一些附加控制逻辑构成的。对这些寄存器的寻址就是对接口的寻址。通常采用两级译码方法,译码地址的高位组确定一个地址区域,作为组选信号;低位组地址直接

11、接到芯片的地址输入端,选择芯片内各寄存器。,6.2.4 I/O 接口的端口地址译码,图6-4是采用直接地址译码寻址端口的电路。,图6-4所示的直接地址译码电路的输出线分别用于输入和输出。,6.2.4 I/O 接口的端口地址译码,图6-5所示的直接地址译码电路的输出线,既可以用于输入也可以用于输出。,图6-5 输入输出直接地址译码,6.2.4 I/O 接口的端口地址译码,PC微机接口芯片的译码电路,6.2.4 I/O 接口的端口地址译码,6.2.4 I/O 接口的端口地址译码,这种译码电路节省系统地址空间,但在寻址时必须把间接地址作为数据输出,这样就多使用了一条OUT指令。,6.2.4 I/O

12、接口的端口地址译码,间接端口译码电路图,在接口电路中,大量使用三态缓冲器、寄存器和三态缓冲寄存器来作微处理器与外部设备的数字量通道,用来输入输出数据或检测和控制与之相连接的外部设备。微处理器可以将接口电路中的三态缓冲(寄存)器视为存储单元,把控制或状态信号作为数据位信息写到寄存器中或从三态缓冲(寄存)器中读出。寄存器的输出信号可以接到外部设备上,外部设备的信号也可以输入到三态缓冲寄存器中。,一般说来,微处理器都是通过三态缓冲(寄存)器检测外设的状态,通过输出寄存器发出控制信号。,6.3 数字通道接口,数据输出寄存器用来寄存微处理器送出的数据和命令。,74LS273可以用作无条件传送的输出接口电

13、路。,6.3.1 数据输出寄存器,8D触发器74LS273,外设输入的数据和状态信号,通过数据输入三态缓冲器经数据总线传送给微处理器。,74LS244三态总线驱动器,74LS244可以用作无条件传送的输入接口电路。,6.3.2 数据输入三态缓冲器,三态缓冲寄存器是三态缓冲器和寄存器组成的。数据进入寄存器寄存后并不立即从寄存器输出,要经过三态缓冲才能输出。三态缓冲寄存器既可以作数据输入寄存器,又可作数据输出寄存器。寄存器既可以由触发器构成,也可以锁存器构成。触发器与锁存器是有差别的。,74LS373就是三态缓冲锁存器,74LS374是三态缓冲触发器,它的引线排列与74LS373相同。,6.3.3

14、 三态缓冲寄存器,寄存器和缓冲器接口的应用简单又灵活,只要处理好它们的时钟端(选通端)或输出允许端与微型计算机的连接即可。在下述应用接口电路中都使用图6-10所示的电路的地址译码,该电路的8个输出端是对图6-5所示的输入输出直接地址译码电路的进一步译码的输出。,图6-10 读缓冲器和写寄存器信号,6.3.4 寄存器和缓冲器接口的应用,6.3.4 寄存器和缓冲器接口的应用,发光二极管显示器(LED)是微型计算机应用系统中常用的输出装置。,6.3.4 寄存器和缓冲器接口的应用,七段显示器动态显示接口电路,把从PC机的键盘键入的六位十进制数送七段显示器显示的程序如下:,stack segment s

15、tack stack dw 32 dup(0)stack ends data segment IBF DB 7,0,7 DUP(0)SEGPT DB 40H,79H,24H,30H,19H,12H,2,78H,0,18H data ends code segment start proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax mov ax,data mov ds,ax MOV DX,OFFSET IBF;键入 MOV AH,10 INT 21H AGANO:MOV BP,OFFSET IBF+2;建立指针 M

16、OV AH,20H;位指针代码 MOV BH,0;将键入数的ASCII码变为BCD数 AGANI:MOV BL,DS:BP AND BL,0FH,MOV AL,SEGPTBX;取BCD数的七段显示代码 MOV DX,380H;输出段码 OUT DX,AL MOV AL,AH;输出位码 MOV DX,384H OUT DX,AL MOV CX,1000;延时 LOOP$INC BP;调整BCD数存放指针 SHR AH,1;调整位指针 AND AH,AH;键入的6位数都输出否?JNZ AGANI;6位数都已输出则退出内循环 MOV AH,11;系统功能调用检查键盘有无输入 INT 21H CMP

17、AL,0;键盘有输入AL=0FFH,无输入AL=0 JE AGANO;有键入结束程序运行,无键入循环 ret start endp code ends end start,本节介绍的键盘是由若干个按键组成的开关矩阵,用于向计算机输入数字、字符等代码,是最常用的输入电路。,在键盘的按键操作中,其开或闭均会产生1020ms的抖动,可能导致一次按键被计算机多次读入的情况。通常采有RC吸收电路或RS触发器组成的闩锁电路来消除按键抖动;也可以采用软件延时的方法消除抖动。这里设开关为理想开关即没有抖动。,6.3.4 寄存器和缓冲器接口的应用,下图是一个44键盘及其接口电路,用它向计算机输入0F 16个十六

18、进制数码。,拨盘种类很多,使用最方便的是十进制数输入,BCD码输出的BCD码拨盘。,6.3.4 寄存器和缓冲器接口的应用,将图6-15拨盘组输入的8位十进制数读入数据区并送PC机的显示器显示。,图6-15 8位拨盘组及其接口电路,程序如下:,stack segment stack stack dw 32 dup(0)stack ends data segment KEYTAB DB 7EH,7DH,0BDH,0DDH,7BH,0BBH,0DBH,77H DB 0B7H,0D7H,0E7H,0EBH,0EDH,0EEH,0DEH,0BEH data ends code segment start

19、 proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax mov ax,data mov ds,ax MOV BX,0;拨盘输入数据区的位移量 MOV AH,80H;拨盘位选值 LOP1:MOV DX,384H;拨盘位选值输出 MOV AL,AH NOT AL,OUT DX,ALMOV DX,380H;读入一位拨盘的值,存入输入数据区IN AL,DXAND AL,0FHMOV IBUFBX,ALINC BX;改变输入数据区的位移量SHR AH,1;改变拨盘的位选值AND AH,AH;检测8位是否已读入JNZ LOP1

20、MOV SI,OFFSET IBUF+7;将输入值变为ASCII码送输出数据区MOV DI,OFFSET OBUF+7MOV CX,8LOP2:MOV AL,SIADD AL,30HMOV DI,ALDEC SIDEC DILOOP LOP2MOV OBUF+8,$MOV DX,OFFSET OBUF;将8位拨盘值送显示器显示MOV AH,9INT 21H,较早期的打印机适配器是以板卡形式插在主机板的总线槽中的,随着芯片集成度的提高,主机板集成了越来越多的部件和相应功能,打印机适配器也因此作为一个部件集成于主机板中,但原理和对外信号连接仍然相同。本节介绍较早期的打印机适配器的工作原理,该适配器

21、不仅可以用作连接打印机的接口电路,也可以作为通用输入输出接口。,打印机适配器由输入电路、输出电路、地址译码电路和数据总线隔离电路4部分组成。,6.3.5 打印机适配器,1.地址译码电路和数据总线隔离电路,打印机适配器的译码电路采用直接译码与跳线开关相结合的方法提供两个地址区域的端口地址,其地址为378H37FH和278H27FH。,图616 打印机适配器的地址译码电路和数据总线隔离电路,数据总线隔离电路使用的是双向总线驱动器74LS245,74LS245的输入由地址译码电路的输出信号和控制,仅在对端口378H37FH或278H27FH进行输入或输出操作时,74LS245才将双向三态门单方向打开

22、。,图616 打印机适配器的地址译码电路和数据总线隔离电路,2.输出电路和命令字,打印机适配器的输出电路包括数据输出电路和命令输出电路,如图617所示。数据输出电路由 74LS374 组成,地址译码电路的将打印数据送到外部数据线DATA7DATA0。命令输出电路由输出控制字寄存器74LS174组成,地址译码电路的将打印机适配器的输出控制字送输出控制字寄存器74LS174锁存。,输出控制字寄存器74LS174只有5位有效信号,这5位信号与控制命令字各位一一对应。,3.输入电路和状态字,图620 打印机适配器的状态输入字,4.打印机适配器与打印机的连接,图621 打印机与并行口的连接,打印机适配器

23、通过并行口(25芯D型插座)与打印机(36芯D型插座)的连接如图621所示。,采用查询方式打印寄存器AL内的一个字符的子程序如下:,PRINT PROC PUSH AX PUSH DX MOV DX,378H OUT DX,AL;输出AL中的字符 MOV DX,379HWAIT:IN AL,DX;读入打印机的状态 TEST AL,80H;测试打印机是否“忙”JZ WAIT MOV DX,37AH MOV AL,0DH;输出0DH和0CH,即为一个选通脉冲 OUT DX,AL MOV AL,0CH OUT DX,AL POP DX POP AX RETPRINT ENDP,微型计算机只能处理数字

24、形式的信息,但是在实际工程中大量遇到的是连续变化的物理量。例如 温度、压力、流量、光通量、位移量以及连续变化的电压、电流等等。对于非电信号的物理量,必须先由传感器进行检测,并且转换为电信号,然后经过放大器放大为05V电平的模拟量。模拟通道接口的作用就是实现模拟量和数字量之间的转换。模/数(A/D)转换就是把输入的模拟量变为数字量,供微型计算机处理。数/模(D/A)转换就是将微型计算机处理后的数字量转换为模拟量输出。,6.4 模拟通道接口,A/D和D/A的重要技术指标有:,1.分辨率(resolution)分辨率是指转换器对输出的数字量与输入的模拟量或输出的模拟量与输入的数字量的分辨能力,通常用

25、二进制数的位数来表示转换器的分辨率。位数越多分辨率也就越高。对于n位转换器,其分辨率为整个模拟量的1/2n。,2.转换时间 转换时间指转换器完成一次模拟量与数字量转换所花的时间。这个参数直接影响到系统的速度。,6.4 模拟通道接口,3.量化误差 量化误差是指实际输出值与理论值之间的误差,量化误差是转换器的转换分辨率直接造成的。,由于输入模拟量是连续变化的,只有当它的值为0.0196V的整数倍时,模拟量值才能准确转换成对应的数字量,否则模拟量将被“四舍五入”后由相近的数字量输出。例如 0.025V被转换成01H输出,0.032V被转换成02H输出,最大误差为1/2个最低有效位,这就是量化误差。,

26、具有8位分辨率的A/D转换器,当输入05V电压时,对应的数字输出为00HFFH,即输入每变化0.0196V时,输出就变化1。,6.4 模拟通道接口,由于D/A转换器与微型计算机接口时,微型计算机是靠输出指令输出数字量供DAC转换之用,而输出指令送出的数据在数据总线上的时间是短暂的(不足一个输出周期),所以DAC和微型计算机间,需有数据寄存器来保持微型计算机输出的数据,供DAC转换用。,目前生产的DAC芯片可分为2类,一类芯片内部设置有数据寄存器,不需外加电路就可直接与微型计算机接口。另一类芯片内部没有数据寄存器,因此不能直接与微型计算机接口,必须通过并行接口与微型计算机接口。下面分别介绍这二类

27、DAC芯片与微型计算机的接口方法。,6.4.1 数模转换器及其与微型计算机的接口,18位数模转换器DAC0832,DAC0832是具有20条引线的双列直插式CMOS器件,它内部具有两级数据寄存器,完成8位电流DA转换。,(1)DAC0832的结构,(2)DAC0832与微型计算机的接口 由于DAC0832内部有输入寄存器和DAC寄存器,所以它不需要外加其他电路便可以与微型计算机的数据总线直接相连。根据DAC0832的5个控制信号的不同连接方式,使得它可以有3种工作方式。,1)直通方式 将、和 接地,ILE接高电平,就能使得两个寄存器跟随输入的数字量变化,DAC的输出也同时跟随变化。直通方式常用

28、于连续反馈控制的环路中。,图6-22 DAC0832内部结构框图和引线,18位数模转换器DAC0832,2)单缓冲工作方式 将其中一个寄存器工作在直通状态,另一个处于受控的锁存器状态。在实际应用中,如果只有一路模拟量输出,或虽有几路模拟量但并不要求同步输出,就可采用单缓冲方式。,单缓冲方式连接的方法有3种,如图6-23所示。,第1种方法为使DAC寄存器处于直通方式。,第2种方法是使输入寄存器处于直通方式。,第3种方法是使输入寄存器和DAC寄存器同时处于受控的锁存器状态。,18位数模转换器DAC0832,将数据区BUFF中的数据转换为模拟电压输出的程序如下:,stack segment stac

29、k stack dw 32 dup(0)stack ends data segment BUF DB 23,45,67,COUNT EQU$-BUF data ends code segment start proc far 略 MOV BX,OFFSET BUF MOV CX,COUNT AGAIN:MOV DX,380H MOV AL,BX OUT DX,AL INC BX LOOP AGAIN 略 end start,例6.1产生锯齿波。,在许多应用中,要求有一个线性增长的锯齿波电压来控制检测过程、移动记录笔或移动电子束等。对此可通过DAC0832的输出端接运算放大器来实现。,锯齿波产生

30、电路,产生锯齿波的程序如下:,stack segment stack stack dw 32 dup(0)stack ends code segment start proc far assume ss:stack,cs:code 略 MOV DX,380H AGAIN:INC AL OUT DX,AL PUSH AX MOV AH,11;11号功能调用 INT 21H CMP AL,0;有键入AL=FFH,无键入AL=0 POP AX JE AGAIN;无键入继续 ret start endp code ends end start,两个寄存器都处于受控方式。为了实现两个寄存器的可控,应当给

31、它们各分配一个端口地址,以便能按端口地址进行操作。数/模转换采用两步写操作来完成。可在DAC转换输出前一个数据的同时,将下一个数据送到输入寄存器,以提高DA转换速度。还可用于多路数/模转换系统,以实现多路模拟信号同步输出的目的。,3)双缓冲工作方式,图6-25 DAC0832的双缓冲连接方式,图6-25为DAC0832与微型计算机接口的双缓冲方式连接电路。这时,输入寄存器和DAC寄存器分别控制,故占用两个端口地址:380H 和 384H。380H选通输入寄存器,384H选通DAC寄存器。,例6.2 用DAC0832控制绘图仪,X-Y绘图仪由X、Y两个方向的电机驱动,其中一个电机控制绘图笔沿X方

32、向运动,另一个电机控制绘图笔沿Y方向运动,从而绘出图形。因此对X-Y绘图仪的控制有两点基本要求:一是需要两路D/A转换器分别给X通道和Y通道提供模拟信号,二是两路模拟量要同步输出。,两路模拟量输出是为了使绘图笔能沿X-Y轴作平面运动,而模拟量同步输出则是为了使绘制的曲线光滑。否则绘制出的曲线就是台阶状的。为此就要使用两片DAC0832,并采用双缓冲方式连接,如图6-26所示。,绘图仪的驱动子程序为:,HTY PROC PUSH CX PUSH DX MOV DX,380H OUT DX,AL;输出X MOV DX,384H XCHG AH,AL OUT DX,AL;输出Y MOV DX,388

33、H;X、Y送DAC寄存器 OUT DX,AL POP DX POP CX HTY ENDP,2.10位DA转换器AD7520,AD7520为不带数据锁存器的10位数摸转换电路,其外部引线如图6-27所示。,图6-27 AD7520的引线排列,b1b10为数据输入线,b1为MSB,b10为LSB。VDD为电源端(5V15V),VREF为基准电压端,RFE为反馈输入端,GND为数字地,Iout1和Iout2为电流输出端。,AD7520也是电流型输出的DA转换器,将电流转换成电压输出的原理及电路均与DAC0832相同。,由于 AD7520自身不带锁存器,所以与计算机的接口方法可以仿照DAC0832,

34、用数据输出寄存器做AD7520的输入寄存器和DAC寄存器,如图6-28所示。若为单缓冲方式,则只须输入寄存器和DAC寄存器中的任一个即可。,图6-28 AD7520的接口电路,还可以只用8位数据线,但多用1片74LS74做AD7520的输入数字量接口,如图6-29所示。,图6-29 只用8位数据线与AD7520的接口电路,若待转换的10位数据在AX中,则完成一次DA转换的程序段如下:,MOV DX,380HXCHG AH,ALOUT DX,ALXCHG AH,ALMOV DX,384HOUT DX,AL,各种型号的ADC芯片都具有如下的信号线:数据输出线D0D7(8位ADC),启动A/D转换信

35、号SC与转换结束信号EOC。,首先计算机启动A/D转换;转换结束后,ADC送出EOC信号通知计算机;计算机用输入指令从ADC的数据输出线D0D7读取转换数据。,ADC与微型计算机的接口就是要正确处理上述3种信号与微型计算机的连接问题。,ADC 的数据输出端的连接要视其内部是锁存器还是三态输出锁存缓冲器。若是三态输出锁存缓冲器,则可直接与微型计算机的数据总线相连;若是锁存器,则应将其数据输出端通过三态缓冲器与数据总线相连。,6.4.2 模数转换器ADC及其与微型计算机的接口,18位逐次逼近式A/D转换器ADC0808,ADC0808内部结构,ADC0808与微型计算机的接口,由于ADC0808芯

36、片内部集成了数据锁存三态缓冲器,其数据输出线可以直接与计算机的数据总线相连。,所以,设计 ADC0808与微型计算机的接口,主要是对模拟通道的选择、转换启动的控制和读取转换结果的控制等方面的设计。,用ADC0808对8路模拟信号进行循环采集,各采集100个数据分别存入8个数据区中的无条件传送的接口电路如图6-31所示。,图6-31 ADC0808与微型计算机的接口,无条件传送的采集程序如下:,stack segment stack stack dw 32 dup(0)stack ends data segment COUNT EQU 100 BUFF DB COUNT8 DUP(0)data

37、ends code segment start proc far assume ss:stack,cs:code,ds:data 略 MOV BX,OFFSET BUFF MOV CX,COUNT OUTLP:PUSH BX MOV DX,380H;指向0通道地址 INLOP:OUT DX,AL;启动转换,锁存模拟通道地址 MOV AX,50000;延时,等待转换结束 WT:DEC AX JNZ WT,;ADC0808的转换时间为100S,IN AL,DX;读取转换结果 MOV BX,AL ADD BX,COUNT;指向下一通道的存放地址 INC DX;指向下一通道的地址 CMP DX,388

38、H;8个通道都采集了吗?JB INLOP POP BX;0通道存放地址弹出 INC BX;指向0通道的下一存放地址 LOOP OUTLP ret start endp code ends end start,2.12位逐次比较式数模转换芯片AD574,AD574系列包括AD574、AD674、AD774和AD1674等型号的芯片,是AD公司生产的12位逐次逼近型ADC。AD574系列片内具有三态输出锁存缓冲器和时钟信号。,模拟信号输入及输入极性信号,10VIN:0V+10V的单极性或-5V+5V的双极性输入线。,20VIN:0V+20V的单极性或-10V+10V双极性输入线。,REFOUT:片

39、内基准电压输出线。,REFIN:片内基准电压输入线。,BIPOFF:极性调节线。,2.12位逐次比较式数模转换芯片AD574,(1)芯片引线,2.12位逐次比较式数模转换芯片AD574,模拟量从10VIN或20VIN输入,输入极性由REFIN、REFOUT和BIPOFF的外部电路确定。,AD574与微型计算机的接口信号,12/:12位转换或8位转换线。,:片选线,低电平选通芯片。,A0:端口地址线。,R/:读结果/启动转换线,高电平读结果,低电平启 动转换。,CE:芯片允许线,高电平允许转换。,2.12位逐次比较式数模转换芯片AD574,这5个信号之间的逻辑关系如下表,它是接口设计的主要依据。

40、,AD574的真值表,STS 转换状态指示,转换期间为高电平,转换结束后输出变为低电平。,各信号之间的时序关系如图6-34所示。,2.12位逐次比较式数模转换芯片AD574,电源线与地线,VL:+5V电源。,VCC:12V/15V参考电压源。,VEE:-12V/-15V参考电压源。,DC:数字地。,AC:模拟地。,2.12位逐次比较式数模转换芯片AD574,(2)AD574与微型计算机的接口,启动转换的端口地址为381H,查询的端口地址为384H,读取高8位数据的端口地址为380H,读取低4位数据的端口地址为381H。,2.12位逐次比较式数模转换芯片AD574,由于读取的数据是向左对齐的,故

41、要将其进行移位操作,使其向右对齐。又由于是双极性输入,所以还要将转换结果减去800H。,stack segment stack stack dw 32 dup(0)stack ends data segment COUNT EQU 100 BUFF DW COUNT DUP(0)data ends code segment start proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax mov ax,data mov ds,ax,采集100个数据,并将其送数据区BUFF存放的程序如下:,MOV BX,0 MOV

42、CH,COUNT MOV CL,4 MOV DX,381H;指向启动转换的端口地址 LOP:OUT DX,AL;启动转换 MOV DX,384H;查询转换是否结束?WT:IN AL,DX TEST AL,1 JNZ WT MOV DX,380H;转换结束,指向高8位端口地址 IN AL,DX;读取转换结果的高8位 MOV AH,AL INC DX;指向低4位端口地址 IN AL,DX;读低4位 SHR AX,CL;左对齐的数据移位,使其向右对齐 SUB AX,800H MOV BUFFBX,AX ADD BX,2 DEC CH JNZ LOP ret 略,接口控制信号图,图6-4 输入和输出分开的直接地址译码,图617 打印机适配器的输出电路,图619 打印机适配器的输入电路,图6-23 DAC0832的单缓冲方式连接,输入数据线直接与数据总线相连,图6-31 ADC0808与微型计算机的接口,图6-34 AD574的时序图,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号