输入输出与接口技术.ppt

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

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

1、1微机原理、汇编与接口技术朱定华朱定华2008.82008.826 6.1.16 6.2.26 6.3.3接口的基本概念接口的基本概念I I/ /O O指令和指令和I I/ /O O地址译码地址译码数字通道接口数字通道接口第六章输入输出和接口技术6 6. .4 4模拟通道接口模拟通道接口3 输入输出输入输出(I/O)(I/O)是指微型计算机与外界的信息交换,是指微型计算机与外界的信息交换,即通信即通信(communication)(communication)。微型计算机与外界的通信,。微型计算机与外界的通信,是通过输入输出设备进行的,通常一种是通过输入输出设备进行的,通常一种I/OI/O设备

2、与微设备与微型机连接,就需要一个连接电路,我们称之为型机连接,就需要一个连接电路,我们称之为I/OI/O接接口。口。 接接口口是是用用于于控控制制微微机机系系统统与与外外设设或或外外设设与与系系统统设设备备之之间间的的数数据据交交换换和和通通信信的的硬硬件件电电路路。接接口口设设计计涉涉及及到到两两个个基基本本问问题题,一一是是中中央央处处理理器器如如何何寻寻址址外外部部设设备备,实实现现多多个个设设备备的的识识别别;二二是是中中央央处处理理器器如如何何与与外外设设连连接接 , 进进 行行 数数 据据 、 状状 态态 和和 控控 制制 信信 号号 的的 交交 换换 。4 1.1.接口的一般定义

3、接口的一般定义 接口是一组电路,是中央处理器与存储器、输入接口是一组电路,是中央处理器与存储器、输入输出设备等外设之间协调动作的控制电路。输出设备等外设之间协调动作的控制电路。 接口电路并不局限在中央处理器与存储器或外设接口电路并不局限在中央处理器与存储器或外设之间,也可在存储器与外设之间,如直接存储器存取之间,也可在存储器与外设之间,如直接存储器存取DMADMA接口就是控制存储器与外设之间数据传送的电路。接口就是控制存储器与外设之间数据传送的电路。6.1 6.1 6.1 6.1 接口的基本概念接口的基本概念接口的基本概念接口的基本概念6.1.1 6.1.1 接口的功能接口的功能56.1 6.

4、1 6.1 6.1 接口的基本概念接口的基本概念接口的基本概念接口的基本概念 2. 2.接口电路的功能接口电路的功能 接口电路的作用就是将来自外部设备的数据信号接口电路的作用就是将来自外部设备的数据信号传送给处理器,处理器对数据进行适当加工,再通过传送给处理器,处理器对数据进行适当加工,再通过接口传回外部设备。接口传回外部设备。 所以,接口的基本功能就是对数据传送实现控制,所以,接口的基本功能就是对数据传送实现控制,具体包括以下具体包括以下5 5种功能:种功能:地址译码、数据缓冲、信息地址译码、数据缓冲、信息转换、提供命令译码和状态信息以及定时和控制转换、提供命令译码和状态信息以及定时和控制。

5、66.1 6.1 6.1 6.1 接口的基本概念接口的基本概念接口的基本概念接口的基本概念 3.3.接口电路的基本结构接口电路的基本结构7 控制命令逻辑电路一般由命令字寄存器和控制控制命令逻辑电路一般由命令字寄存器和控制执行逻辑组成,这一部分是接口电路的执行逻辑组成,这一部分是接口电路的“中央处理器中央处理器”,用来完成全部接口操作的控制。,用来完成全部接口操作的控制。 状态设置和存储电路主要由一组数据寄存器构成,状态设置和存储电路主要由一组数据寄存器构成,中央处理器和外设就是根据状态寄存器的内容进行中央处理器和外设就是根据状态寄存器的内容进行协调动作的。协调动作的。 数据存储和缓冲电路也是一

6、组寄存器,用于暂存数据存储和缓冲电路也是一组寄存器,用于暂存中央处理器和外设之间传送的数据,以完成速度匹配中央处理器和外设之间传送的数据,以完成速度匹配工作。工作。 6.1 6.1 6.1 6.1 接口的基本概念接口的基本概念接口的基本概念接口的基本概念81.1.数据传送方式数据传送方式 在微机系统内,如,大系统部件之间的数据传送在微机系统内,如,大系统部件之间的数据传送都采用并行数据传送方式。都采用并行数据传送方式。 并行数据的每一位都对应独立的传输线路,所以并行数据的每一位都对应独立的传输线路,所以数据传送速度快,但线路多,一般只用于较短距离的数据传送速度快,但线路多,一般只用于较短距离的

7、数据传送。数据传送。 (1 1)并行数据传送)并行数据传送6.1.26.1.26.1.26.1.2 接口控制原理接口控制原理接口控制原理接口控制原理9 串行数据传送是将构成字符的每个二进制数据位,串行数据传送是将构成字符的每个二进制数据位,按一定的顺序逐位进行传送的方式。按一定的顺序逐位进行传送的方式。 串行数据传送主要用于远程终端或经过公共电话串行数据传送主要用于远程终端或经过公共电话网的计算机之间的通信。网的计算机之间的通信。 远距离数据传送采用串行方式比较经济,但串行远距离数据传送采用串行方式比较经济,但串行数据传送比并行数据传送控制复杂。数据传送比并行数据传送控制复杂。(2 2)串行数

8、据传送)串行数据传送6.1.26.1.26.1.26.1.2 接口控制原理接口控制原理接口控制原理接口控制原理10异步串行通信协议规定字符数据的传送格式:异步串行通信协议规定字符数据的传送格式: 异步串行通信中,接收设备和发送设备必须保持相异步串行通信中,接收设备和发送设备必须保持相同的传送波特率,并与每个字符数据的起始位同步。同的传送波特率,并与每个字符数据的起始位同步。 起始位、数据位、奇偶位和停止位约定,在同一起始位、数据位、奇偶位和停止位约定,在同一次传送过程中必须保持一致。次传送过程中必须保持一致。 6.1.26.1.26.1.26.1.2 接口控制原理接口控制原理接口控制原理接口控

9、制原理112.2. 传送控制方式传送控制方式 6.1.26.1.26.1.26.1.2 接口控制原理接口控制原理接口控制原理接口控制原理传送控制方式有传送控制方式有查询查询、中断中断和和DMADMA3 3种。种。(1 1)查询方式)查询方式 查询方式是中央处理器在数据传送之前通过接口的查询方式是中央处理器在数据传送之前通过接口的状态设置存储电路询问外设,待外设允许传送数据后状态设置存储电路询问外设,待外设允许传送数据后才传送数据的操作方式。才传送数据的操作方式。122.2. 传送控制方式传送控制方式 (1 1)查询方式)查询方式6.1.26.1.26.1.26.1.2 接口控制原理接口控制原理

10、接口控制原理接口控制原理在查询方式下,在查询方式下,CPUCPU需要完成以下操作:需要完成以下操作:(1)CPU(1)CPU向接口发出传送命令,输入数据或输出数据;向接口发出传送命令,输入数据或输出数据;(2)(2)中央处理器查询外设是否允许传送?中央处理器查询外设是否允许传送? 在查询方式下,中央处理器需要花费较多的时间去不在查询方式下,中央处理器需要花费较多的时间去不断地断地“询问询问” ” 外设,外设的接口电路处于被动状态。外设,外设的接口电路处于被动状态。 传送控制方式有传送控制方式有查询查询、中断中断和和DMADMA3 3种。种。13(2 2)中断方式)中断方式6.1.26.1.26

11、.1.26.1.2 接口控制原理接口控制原理接口控制原理接口控制原理 中断方式是在外设要与中央处理器传送数据时,中断方式是在外设要与中央处理器传送数据时,外设向中央处理器发出请求,中央处理器响应后再传外设向中央处理器发出请求,中央处理器响应后再传送数据的操作方式。送数据的操作方式。 在中断方式下,中央处理器不必查询外设,提高在中断方式下,中央处理器不必查询外设,提高了系统的工作效率,但中央处理器管理中断的接口比了系统的工作效率,但中央处理器管理中断的接口比管理查询复杂。管理查询复杂。 14(3 3)直接存储器存取()直接存储器存取(DMADMA)方式)方式6.1.26.1.26.1.26.1.

12、2 接口控制原理接口控制原理接口控制原理接口控制原理 DMA DMA 方式是数据不经过中央处理器在存储器和外方式是数据不经过中央处理器在存储器和外设之间直接传送的操作方式。设之间直接传送的操作方式。DMADMA方式是这方式是这3 3种方式中种方式中效率最高的一种传送方式,效率最高的一种传送方式,DMA DMA 方式控制接口也最复方式控制接口也最复杂,需要专用的杂,需要专用的DMADMA控制器。控制器。 DMA DMA 方式适合数据量较大的传送,如存储器与磁盘方式适合数据量较大的传送,如存储器与磁盘之间的数据传送。之间的数据传送。 15 接口控制信号可分为两类:接口控制信号可分为两类:总线控制信

13、号总线控制信号 和和 输入输输入输出控制信号出控制信号。 接口控制信号图接口控制信号图 输入输出控制信号比较复杂,不同控制方式的接口输入输出控制信号比较复杂,不同控制方式的接口信号不同。一般包括数据线、输入输出应答信号等。信号不同。一般包括数据线、输入输出应答信号等。 中断接口和中断接口和DMADMA接口的控制信号更复杂一些,通常由接口的控制信号更复杂一些,通常由接口芯片提供专用控制信号来完成数据传送控制。接口芯片提供专用控制信号来完成数据传送控制。 总线控制信号包括数据线、地址线、总线控制信号包括数据线、地址线、 、 、等。、等。 6.1.36.1.36.1.36.1.3 接口控制信号接口控

14、制信号接口控制信号接口控制信号16 微处理器进行微处理器进行I/OI/O操作时,对操作时,对I/OI/O接口的寻址方式与接口的寻址方式与存储器寻址方式相似。即必须完成存储器寻址方式相似。即必须完成两种选择两种选择:一是选:一是选择出所选中的择出所选中的I/OI/O接口芯片接口芯片( (称为称为片选片选) );二是选择出该;二是选择出该芯片中的某一寄存器芯片中的某一寄存器( (称为称为字选字选) )。 通常有通常有两种两种I/OI/O接口结构接口结构:一种是标准的:一种是标准的I/OI/O结构,结构,另一种是存储器映象另一种是存储器映象I/OI/O结构结构(memory mapped I/O)(

15、memory mapped I/O)。与之对应的有与之对应的有两种两种I/OI/O寻址方式寻址方式。 6.26.26.26.2 I/OI/OI/OI/O指令和指令和指令和指令和I/OI/OI/OI/O地址译码地址译码地址译码地址译码17 标准的标准的I/OI/O寻址方式有以下寻址方式有以下3 3个特点:个特点: (1)(1) I/O I/O设备的地址空间和存储器地址空间是独立设备的地址空间和存储器地址空间是独立的、分开的的、分开的, ,即即I/OI/O接口地址不占用存储器的地址空间。接口地址不占用存储器的地址空间。 (2)(2) 微处理器对微处理器对I/OI/O设备的管理是利用专用的设备的管理

16、是利用专用的IN(IN(输输入入) )和和OUT(OUT(输出输出) )指令来实现数据传送的。指令来实现数据传送的。 (3)(3) CPU CPU对对I/OI/O设备的读设备的读/ /写控制是用写控制是用I/OI/O读读/ /写控制写控制信号信号( ( 、 ) )。 一个外设常有若干个端口地址。一个外设常有若干个端口地址。 6.2.1 6.2.1 6.2.1 6.2.1 标准的标准的标准的标准的I/OI/OI/OI/O 寻址方式寻址方式寻址方式寻址方式18 1. 1.存储器映象存储器映象I/OI/O寻址方式又称为存储器对应寻址方式又称为存储器对应I/OI/O寻寻址方式,有址方式,有3 3个特点

17、:个特点: (1)(1)I/OI/O接口与存储器共用同一个地址空间。接口与存储器共用同一个地址空间。即在系即在系统设计时指定存储器地址空间内的一个区域供统设计时指定存储器地址空间内的一个区域供I/OI/O设备设备使用,故使用,故I/OI/O设备的每一个寄存器占用存储器空间的一设备的每一个寄存器占用存储器空间的一个地址。个地址。这时存储器与这时存储器与I/OI/O设备之间的唯一区别是其所设备之间的唯一区别是其所占用的地址不同。占用的地址不同。 (2)(2)CPUCPU利用对存储器的存储单元进行操作的指令来利用对存储器的存储单元进行操作的指令来实现对实现对I/OI/O设备的管理。设备的管理。 (3

18、)(3)CPUCPU用存储器读用存储器读/ /写控制信号写控制信号( ( 、 ) )对对I/OI/O设备设备进行读进行读/ /写控制。写控制。 6.2.2 6.2.2 6.2.2 6.2.2 存储器映像存储器映像存储器映像存储器映像I/OI/OI/OI/O 寻址方式寻址方式寻址方式寻址方式19 2. 2.存储器映象存储器映象I/OI/O寻址方式的优点:寻址方式的优点: (1 1)CPUCPU对外设的操作可使用全部的存储器操作指令,对外设的操作可使用全部的存储器操作指令,故指令多,使用方便,如可对外设中的数据故指令多,使用方便,如可对外设中的数据( (存于外设的存于外设的寄存器中寄存器中) )进

19、行算术和逻辑运算,进行循环或移位等;进行算术和逻辑运算,进行循环或移位等; (2 2)存储器和外设的地址分布图是同一个;存储器和外设的地址分布图是同一个; (3 3)不需要专门的输入不需要专门的输入/ /输出指令。输出指令。 3.3.其缺点有以下两种:其缺点有以下两种: (1 1)外设占用了内存单元,使内存容量减小;外设占用了内存单元,使内存容量减小; (2 2)存储器操作指令通常要比存储器操作指令通常要比I/OI/O指令的字节多,故指令的字节多,故加长了加长了I/OI/O操作的时间。操作的时间。6.2.2 6.2.2 6.2.2 6.2.2 存储器映像存储器映像存储器映像存储器映像I/OI/

20、OI/OI/O 寻址方式寻址方式寻址方式寻址方式201.1.输入指令输入指令IN AccIN Acc,PortPort或或IN AccIN Acc,DXDX 6.2.3 6.2.3 6.2.3 6.2.3 输入输出指令输入输出指令输入输出指令输入输出指令 输入指令是把一个字节或一个字由输入端口传送至输入指令是把一个字节或一个字由输入端口传送至ALAL(8(8位位Acc)Acc)或或AX(16AX(16位位Acc)Acc)或或EAX(32EAX(32位位Acc)Acc)。 端口地址若是由指令中的端口地址若是由指令中的portport所规定,则只可寻所规定,则只可寻址址 0 0255255。端口地

21、址若用寄存器端口地址若用寄存器 DXDX间址,则允许寻间址,则允许寻址址64K64K个输入端口个输入端口。 212.2.输出指令输出指令OUT PortOUT Port,AccAcc或或OUT DXOUT DX,AccAcc6.2.3 6.2.3 6.2.3 6.2.3 输入输出指令输入输出指令输入输出指令输入输出指令 输出指令是把输出指令是把ALAL中的一个字节或中的一个字节或AXAX中的一个字中的一个字或者或者EAXEAX中的一个双字,传送至输出端口。端口寻中的一个双字,传送至输出端口。端口寻址方式与址方式与ININ指令相同。指令相同。 输入输出指令传送字节还是字,取决于端口的输入输出指令

22、传送字节还是字,取决于端口的宽度。宽度。PC XTPC XT机端口宽度只有位,只能传送字节。机端口宽度只有位,只能传送字节。 22 80x8680x86微处理器都由低微处理器都由低1616位地址线寻址位地址线寻址 I/OI/O端口,故可寻端口,故可寻址址64K64K个个I/OI/O端口,但端口,但在实际的在实际的80x86PC80x86PC机中,只用了最前面机中,只用了最前面 1K1K个端口地址个端口地址,也即只寻址,也即只寻址1K1K范围内的范围内的I/OI/O空间。因此仅使空间。因此仅使用了地址总线的低用了地址总线的低1010位,位,即只有地址线即只有地址线A9A9A0A0用于用于I/OI

23、/O地址地址译码译码。 在在DMADMA操作时,操作时,DMADMA控制器控制了系统总线控制器控制了系统总线。DMADMA控制器在发控制器在发出地址的同时还要发出地址允许信号出地址的同时还要发出地址允许信号AENAEN,所以还必须将,所以还必须将DMADMA控制器发出的地址允许信号控制器发出的地址允许信号AENAEN也参加端口地址的译码,用也参加端口地址的译码,用AENAEN限定地址译码电路的输出。限定地址译码电路的输出。当当 AENAEN信号有效时即信号有效时即 DMADMA控控制器控制系统总线时,地址译码电路无输出制器控制系统总线时,地址译码电路无输出;当当 AENAEN信号无信号无效时,

24、地址译码电路才有输出效时,地址译码电路才有输出。 6.2.4 6.2.4 6.2.4 6.2.4 I/OI/OI/OI/O 接口的端口地址译码接口的端口地址译码接口的端口地址译码接口的端口地址译码23 无论是大规模集成电路的接口芯片,还是基本的输无论是大规模集成电路的接口芯片,还是基本的输入输出缓冲单元,都是由一个或多个寄存器加上一些入输出缓冲单元,都是由一个或多个寄存器加上一些附加控制逻辑构成的。附加控制逻辑构成的。对这些寄存器的寻址就是对接对这些寄存器的寻址就是对接口的寻址口的寻址。 通常采用通常采用两级译码方法两级译码方法,译码地址的高位组确定一,译码地址的高位组确定一个地址区域,作为组

25、选信号;低位组地址直接接到芯个地址区域,作为组选信号;低位组地址直接接到芯片的地址输入端,选择芯片内各寄存器。片的地址输入端,选择芯片内各寄存器。 6.2.4 6.2.4 6.2.4 6.2.4 I/OI/OI/OI/O 接口的端口地址译码接口的端口地址译码接口的端口地址译码接口的端口地址译码24图图6-46-4是采用直接地址译码寻址端口的电路。是采用直接地址译码寻址端口的电路。 图图6-46-4所示的直接地址译码电路的输出线分别用于输所示的直接地址译码电路的输出线分别用于输入和输出。入和输出。 6.2.4 6.2.4 6.2.4 6.2.4 I/OI/OI/OI/O 接口的端口地址译码接口的

26、端口地址译码接口的端口地址译码接口的端口地址译码1.1.直接地址译码直接地址译码 直接地址译码是一种局部译码方法直接地址译码是一种局部译码方法,按照系统分,按照系统分配给某接口的地址区域,对地址总线的某些位进行译配给某接口的地址区域,对地址总线的某些位进行译码,产生对该接口包含的缓冲器和寄存器的组选信号,码,产生对该接口包含的缓冲器和寄存器的组选信号,再由低位地址线对组内缓冲器和寄存器译码寻址。再由低位地址线对组内缓冲器和寄存器译码寻址。 25 图图6-56-5所示的直接地址译码电路的输出线,既可以用所示的直接地址译码电路的输出线,既可以用于输入也可以用于输出。于输入也可以用于输出。图6-5

27、输入输出直接地址译码 6.2.4 6.2.4 6.2.4 6.2.4 I/OI/OI/OI/O 接口的端口地址译码接口的端口地址译码接口的端口地址译码接口的端口地址译码26PCPC微机接口芯片微机接口芯片的译码电路的译码电路6.2.4 6.2.4 6.2.4 6.2.4 I/OI/OI/OI/O 接口的端口地址译码接口的端口地址译码接口的端口地址译码接口的端口地址译码276.2.4 6.2.4 6.2.4 6.2.4 I/OI/OI/OI/O 接口的端口地址译码接口的端口地址译码接口的端口地址译码接口的端口地址译码2.2.间接端口地址译码间接端口地址译码 间接端口地址译码仅使用两个端口地址就可

28、以对多间接端口地址译码仅使用两个端口地址就可以对多个端口进行寻址,个端口进行寻址,第一个端口地址指向地址寄存器第一个端口地址指向地址寄存器,第二个端口地址指向数据寄存器第二个端口地址指向数据寄存器。端口寄存器的地址。端口寄存器的地址都要先送到地址存器,然后再根据地址寄存器的内容都要先送到地址存器,然后再根据地址寄存器的内容来选择端口寄存器。来选择端口寄存器。从处理器看来,系统只须对地址从处理器看来,系统只须对地址寄存器和数据寄存器进行寻即可,对端口各寄存器的寄存器和数据寄存器进行寻即可,对端口各寄存器的第二次寻址由地址寄存器的内容确定。第二次寻址由地址寄存器的内容确定。 28 这种译码电路节省

29、系统地址空间,但在寻址时必须把这种译码电路节省系统地址空间,但在寻址时必须把间接地址作为数据输出,这样就多使用了一条间接地址作为数据输出,这样就多使用了一条OUTOUT指令。指令。 6.2.4 6.2.4 6.2.4 6.2.4 I/OI/OI/OI/O 接口的端口地址译码接口的端口地址译码接口的端口地址译码接口的端口地址译码间接端口译码电路图间接端口译码电路图 29 在接口电路中,大量使用三态缓冲器、寄存器和三态在接口电路中,大量使用三态缓冲器、寄存器和三态缓冲寄存器来作微处理器与外部设备的数字量通道,用来缓冲寄存器来作微处理器与外部设备的数字量通道,用来输入输出数据或检测和控制与之相连接的

30、外部设备。微处输入输出数据或检测和控制与之相连接的外部设备。微处理器可以将接口电路中的三态缓冲理器可以将接口电路中的三态缓冲( (寄存寄存) )器视为存储单元,器视为存储单元,把控制或状态信号作为数据位信息写到寄存器中或从三态把控制或状态信号作为数据位信息写到寄存器中或从三态缓冲缓冲( (寄存寄存) )器中读出。寄存器的输出信号可以接到外部设器中读出。寄存器的输出信号可以接到外部设备上,外部设备的信号也可以输入到三态缓冲寄存器中。备上,外部设备的信号也可以输入到三态缓冲寄存器中。 一般说来,微处理器都是通过三态缓冲一般说来,微处理器都是通过三态缓冲( (寄存寄存) )器检测器检测外设的状态,通

31、过输出寄存器发出控制信号。外设的状态,通过输出寄存器发出控制信号。 6.3 6.3 6.3 6.3 数字通道接口数字通道接口数字通道接口数字通道接口30 数据输出寄存器用来寄存微处理器送出的数据和命令。数据输出寄存器用来寄存微处理器送出的数据和命令。74LS27374LS273可以用作无条件可以用作无条件传送的输出接口电路。传送的输出接口电路。 6.3.1 6.3.1 6.3.1 6.3.1 数据输出寄存器数据输出寄存器数据输出寄存器数据输出寄存器8D8D触发器触发器74LS27374LS27331 外设输入的数据和状态信号,通过数据输入三态缓冲外设输入的数据和状态信号,通过数据输入三态缓冲器

32、经数据总线传送给微处理器。器经数据总线传送给微处理器。74LS24474LS244三态总线驱动器三态总线驱动器 74LS244 74LS244可以用作无条可以用作无条件传送的输入接口电路。件传送的输入接口电路。 6.3.2 6.3.2 6.3.2 6.3.2 数据输入三态缓冲器数据输入三态缓冲器数据输入三态缓冲器数据输入三态缓冲器32 三态缓冲寄存器是三态缓冲器和寄存器组成的。数据三态缓冲寄存器是三态缓冲器和寄存器组成的。数据进入寄存器寄存后并不立即从寄存器输出,要经过三态缓进入寄存器寄存后并不立即从寄存器输出,要经过三态缓冲才能输出。三态缓冲寄存器既可以作数据输入寄存器,冲才能输出。三态缓冲

33、寄存器既可以作数据输入寄存器,又可作数据输出寄存器。寄存器既可以由触发器构成,也又可作数据输出寄存器。寄存器既可以由触发器构成,也可以锁存器构成。可以锁存器构成。触发器与锁存器是有差别的触发器与锁存器是有差别的。 74LS373 74LS373就是三态缓冲锁存器,就是三态缓冲锁存器,74LS37474LS374是三态缓冲触是三态缓冲触发器,它的引线排列与发器,它的引线排列与74LS37374LS373相同。相同。 6.3.3 6.3.3 6.3.3 6.3.3 三态缓冲寄存器三态缓冲寄存器三态缓冲寄存器三态缓冲寄存器33 寄存器和缓冲器接口的应用简单又灵活,只要处理好寄存器和缓冲器接口的应用简

34、单又灵活,只要处理好它们的时钟端它们的时钟端( (选通端选通端) )或输出允许端与微型计算机的连接或输出允许端与微型计算机的连接即可。在下述应用接口电路中都使用图即可。在下述应用接口电路中都使用图6-106-10所示的电路的所示的电路的地址译码,该电路的地址译码,该电路的8 8个输出端是对个输出端是对图图6-56-5所示的输入输出所示的输入输出直接地址译码电路的进一步译码的输出。直接地址译码电路的进一步译码的输出。 图6-10 读缓冲器和写寄存器信号 6.3.4 6.3.4 6.3.4 6.3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用

35、34 需要注意的是图需要注意的是图6-56-5中的不仅仅是对地址信号中的不仅仅是对地址信号译码的输出信号,其中也包含有输入和输出的读译码的输出信号,其中也包含有输入和输出的读或写信号。若使用的仅仅是对地址信号译码的输或写信号。若使用的仅仅是对地址信号译码的输出信号,则要将它和出信号,则要将它和 或者或者 相与后才能用作读相与后才能用作读缓冲器或写寄存器的信号。缓冲器或写寄存器的信号。 6.3.4 6.3.4 6.3.4 6.3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用35 发光二极管显示器(发光二极管显示器(LEDLED)是微型计算机

36、应用系统中)是微型计算机应用系统中常用的输出装置。常用的输出装置。 6.3.4 6.3.4 6.3.4 6.3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用1.1.七段发光二极管显示器接口七段发光二极管显示器接口 36七段显示器动态显示接口电路七段显示器动态显示接口电路37 把从把从PCPC机的键盘键入的六位十进制数送七段显示器机的键盘键入的六位十进制数送七段显示器显示的程序如下:显示的程序如下: stack segment stack stack segment stack stackstack dwdw 32 dup(0) 32 du

37、p(0) stack ends stack ends data segment data segment IBF DB 7 IBF DB 7,0 0,7 DUP(0)7 DUP(0) SEGPT SEGPT DB 40H DB 40H,79H79H,24H24H,30H30H,19H19H,12H12H,2 2,78H78H,0 0,18H18H data ends data ends code segment code segment start proc far start proc far assume assume ssss:stackstack,cscs:codecode,dsds:

38、datadata push push dsds sub ax sub ax,axax push ax push ax mov ax mov ax,datadata movmov dsds,axax MOV DX MOV DX,OFFSET IBF OFFSET IBF ;键入;键入 MOV AH MOV AH,1010 INT 21H INT 21H AGANO AGANO: MOV BPMOV BP,OFFSET IBF+2 OFFSET IBF+2 ;建立指针;建立指针 MOV AH MOV AH,20H 20H ;位指针代码;位指针代码 MOV BH MOV BH,0 0 ;将键入数的;

39、将键入数的ASCIIASCII码变为码变为BCDBCD数数 AGANIAGANI: MOV BLMOV BL,DSDS:BPBP AND BL AND BL,0FH0FH38 MOV AL MOV AL,SEGPTBX SEGPTBX ;取;取BCDBCD数的七段显示代码数的七段显示代码 MOV DX MOV DX,380H 380H ;输出段码;输出段码 OUT DX OUT DX,ALAL MOV AL MOV AL,AH AH ;输出位码;输出位码 MOV DX MOV DX,384H384H OUT DX OUT DX,ALAL MOV CX MOV CX,1000 1000 ;延时;

40、延时 LOOP $ LOOP $ INC BP INC BP ;调整;调整BCDBCD数存放指针数存放指针 SHR AHSHR AH,1 1 ;调整位指针;调整位指针 AND AHAND AH,AH AH ;键入的;键入的6 6位数都输出否位数都输出否? ? JNZ AGANI JNZ AGANI ;6 6位数都已输出则退出内循环位数都已输出则退出内循环 MOV AH MOV AH,11 11 ;系统功能调用检查键盘有无输入;系统功能调用检查键盘有无输入 INT 21HINT 21H CMP AL CMP AL,0 0 ;键盘有输入;键盘有输入AL=0FFHAL=0FFH,无输入,无输入AL=

41、0AL=0 JE AGANO JE AGANO ;有键入结束程序运行,无键入循环;有键入结束程序运行,无键入循环 retret start start endpendp code ends code ends end start end start39 本节介绍的键盘是由若干个按键组成的开关矩阵,用本节介绍的键盘是由若干个按键组成的开关矩阵,用于向计算机输入数字、字符等代码,是最常用的输入电路。于向计算机输入数字、字符等代码,是最常用的输入电路。 在键盘的按键操作中,其开或闭均会产生在键盘的按键操作中,其开或闭均会产生101020ms20ms的的抖动,可能导致一次按键被计算机多次读入的情况。通

42、常抖动,可能导致一次按键被计算机多次读入的情况。通常采有采有RCRC吸收电路或吸收电路或RSRS触发器组成的闩锁电路来消除按键抖触发器组成的闩锁电路来消除按键抖动;也可以采用软件延时的方法消除抖动。动;也可以采用软件延时的方法消除抖动。这里设开关为这里设开关为理想开关即没有抖动。理想开关即没有抖动。 6.3.4 6.3.4 6.3.4 6.3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用2.2.键盘接口键盘接口 40 下图是一个下图是一个4444键盘及其接口电路,用它向计算机键盘及其接口电路,用它向计算机输入输入0 0F 16F 16个十

43、六进制数码。个十六进制数码。 77 B7 D7 E777 B7 D7 E77B BB DB EB7B BB DB EB7D BD DD ED7D BD DD ED7E BE DE EE7E BE DE EE按键与编码的对应关系按键与编码的对应关系41 拨盘种类很多,使用最方便的是十进制数输入,拨盘种类很多,使用最方便的是十进制数输入,BCDBCD码输出的码输出的BCDBCD码拨盘。码拨盘。 6.3.4 6.3.4 6.3.4 6.3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用3. BCD3. BCD码拨盘及其接口码拨盘及其接口 42 将

44、图将图6-156-15拨盘组输入的拨盘组输入的8 8位十进制数读入数据区并送位十进制数读入数据区并送PCPC机的显示器显示。机的显示器显示。图6-15 8位拨盘组及其接口电路 43程序如下:程序如下: stack segment stack stack segment stack stackstack dwdw 32 dup(0) 32 dup(0) stack ends stack ends data segment data segment KEYTAB DB 7EH KEYTAB DB 7EH,7DH7DH,0BDH0BDH,0DDH0DDH,7BH7BH,0BBH0BBH,0DBH0D

45、BH,77H77H DB 0B7H DB 0B7H,0D7H0D7H,0E7H0E7H,0EBH0EBH,0EDH0EDH,0EEH0EEH,0DEH0DEH,0BEH0BEH data ends data ends code segment code segment start proc far start proc far assume assume ssss:stackstack,cscs:codecode,dsds:datadata push push dsds sub ax sub ax,axax push ax push ax movmov ax ax,datadata movmo

46、v dsds,axax MOV BX MOV BX,0 0 ;拨盘输入数据区的位移量;拨盘输入数据区的位移量 MOV AH MOV AH,80H 80H ;拨盘位选值;拨盘位选值 LOP1LOP1: MOV DXMOV DX,384H 384H ;拨盘位选值输出;拨盘位选值输出 MOV ALMOV AL,AHAH NOT AL NOT AL44OUT DXOUT DX,ALALMOV DXMOV DX,380H 380H ;读入一位拨盘的值,存入输入数据区;读入一位拨盘的值,存入输入数据区IN ALIN AL,DXDXAND ALAND AL,0FH0FHMOV IBUFBXMOV IBUFB

47、X,ALALINC BX INC BX ;改变输入数据区的位移量;改变输入数据区的位移量SHR AHSHR AH,1 1 ;改变拨盘的位选值;改变拨盘的位选值AND AHAND AH,AH AH ;检测;检测8 8位是否已读入位是否已读入JNZ LOP1JNZ LOP1MOV SIMOV SI,OFFSET IBUF+7 OFFSET IBUF+7 ;将输入值变为;将输入值变为ASCIIASCII码送输出数据区码送输出数据区MOV DIMOV DI,OFFSET OBUF+7OFFSET OBUF+7MOV CXMOV CX,8 8LOP2LOP2: MOV ALMOV AL,SISIADD

48、ALADD AL,30H30HMOV DIMOV DI,ALALDEC SIDEC SIDEC DIDEC DILOOP LOP2LOOP LOP2MOV OBUF+8MOV OBUF+8, $ $ MOV DXMOV DX,OFFSET OBUF OFFSET OBUF ;将;将8 8位拨盘值送显示器显示位拨盘值送显示器显示MOV AHMOV AH,9 9INT 21HINT 21H45较早期的打印机适配器是以板卡形式插在主机板的总较早期的打印机适配器是以板卡形式插在主机板的总线槽中的,随着芯片集成度的提高,主机板集成了越来越线槽中的,随着芯片集成度的提高,主机板集成了越来越多的部件和相应功

49、能,打印机适配器也因此作为一个部件多的部件和相应功能,打印机适配器也因此作为一个部件集成于主机板中,但原理和对外信号连接仍然相同。本节集成于主机板中,但原理和对外信号连接仍然相同。本节介绍较早期的打印机适配器的工作原理,该适配器不仅可介绍较早期的打印机适配器的工作原理,该适配器不仅可以用作连接打印机的接口电路,也可以作为通用输入输出以用作连接打印机的接口电路,也可以作为通用输入输出接口。接口。 打印机适配器由打印机适配器由输入电路输入电路、输出电路输出电路、地址译码电路地址译码电路和和数据总线隔离电路数据总线隔离电路4 4部分组成。部分组成。 6.3.5 6.3.5 6.3.5 6.3.5 打

50、印机适配器打印机适配器打印机适配器打印机适配器461.1.地址译码电路和数据总线隔离电路地址译码电路和数据总线隔离电路 打印机适配器的译码电路采用直接译码与跳线开关相结合的方法提供打印机适配器的译码电路采用直接译码与跳线开关相结合的方法提供两个地址区域的端口地址,其地址为两个地址区域的端口地址,其地址为378H378H37FH37FH和和278H278H27FH 27FH 。图616 打印机适配器的地址译码电路和数据总线隔离电路 47 数据总线隔离电路使用的是数据总线隔离电路使用的是双向总线驱动器双向总线驱动器74LS24574LS245,74LS24574LS245的的输入由地址译码电路的输

51、出信号和控制,输入由地址译码电路的输出信号和控制,仅在对端口仅在对端口378H378H37FH37FH或或278H278H27FH27FH进行输入或输出操作时,进行输入或输出操作时,74LS24574LS245才将双向三态门单方才将双向三态门单方向打开向打开。 图616 打印机适配器的地址译码电路和数据总线隔离电路 482.2.输出电路和命令字输出电路和命令字 打印机适配器的输出电路包括数据输出电路和命令输打印机适配器的输出电路包括数据输出电路和命令输出电路出电路, ,如如图图6 61717所示。所示。数据输出电路由数据输出电路由 74LS374 74LS374 组成组成,地址译码电路的将打印

52、数据送到外部数据线地址译码电路的将打印数据送到外部数据线DATA7DATA7DATA0DATA0。命令输出电路由输出控制字寄存器命令输出电路由输出控制字寄存器74LS17474LS174组成组成, ,地址译码地址译码电路的将打印机适配器的输出控制字送输出控制字寄存器电路的将打印机适配器的输出控制字送输出控制字寄存器74LS17474LS174锁存。锁存。 输出控制字寄存器输出控制字寄存器74LS17474LS174只有只有5 5位有效信号,这位有效信号,这5 5位信位信号与控制命令字各位一一对应。号与控制命令字各位一一对应。 493.3.输入电路和状态字输入电路和状态字 图620 打印机适配器

53、的状态输入字 输入电路包括状态输入电路、命令输入电路和数据回输入电路包括状态输入电路、命令输入电路和数据回送电路,如送电路,如图图6 61919所示。所示。数据数据DATA7DATA7DATA0DATA0通过通过74LS24474LS244回送回送, ,由由 选通选通。而状态信号和回送命令都通过而状态信号和回送命令都通过74LS24074LS240送送到数据线到数据线BD7BD7BD0BD0上,状态信号由上,状态信号由 选通输入,命令由选通输入,命令由 选通回送选通回送。5 5位状态信号与状态输入字各位一一对应如图位状态信号与状态输入字各位一一对应如图6 62020所示。所示。504.4.打印

54、机适配器与打印机的连接打印机适配器与打印机的连接 图621 打印机与并行口的连接 打印机适配器通过并行口(打印机适配器通过并行口(2525芯芯D D型插座)与打印机型插座)与打印机(3636芯芯D D型插座)的连接如图型插座)的连接如图6 62121所示。所示。 51采用查询方式打印寄存器采用查询方式打印寄存器ALAL内的一个字符的子程序如下:内的一个字符的子程序如下: PRINT PROCPRINT PROC PUSH AX PUSH AX PUSH DX PUSH DX MOV DX,378H MOV DX,378H OUT DX,AL OUT DX,AL ;输出;输出ALAL中的字符中的

55、字符 MOV DX,379H MOV DX,379HWAIT: IN AL,DX WAIT: IN AL,DX ;读入打印机的状态;读入打印机的状态 TEST AL,80H TEST AL,80H ;测试打印机是否;测试打印机是否“忙忙” JZ WAIT JZ WAIT MOV DX,37AH MOV DX,37AH MOV AL,0DH MOV AL,0DH ;输出;输出0DH0DH和和0CH0CH,即为一个选通脉冲,即为一个选通脉冲 OUT DX,ALOUT DX,AL MOV AL,0CH MOV AL,0CH OUT DX,AL OUT DX,AL POP DX POP DX POP

56、AX POP AX RET RETPRINT ENDPPRINT ENDP52 微型计算机只能处理数字形式的信息,但是在实际工微型计算机只能处理数字形式的信息,但是在实际工程中大量遇到的是连续变化的物理量。例如程中大量遇到的是连续变化的物理量。例如 温度、压力、温度、压力、流量、光通量、位移量以及连续变化的电压、电流等等。流量、光通量、位移量以及连续变化的电压、电流等等。 对于非电信号的物理量,必须先由传感器进行检测,对于非电信号的物理量,必须先由传感器进行检测,并且转换为电信号并且转换为电信号, ,然后经过放大器放大为然后经过放大器放大为0 05V5V电平的模电平的模拟量。拟量。 模拟通道接

57、口的作用就是实现模拟量和数字量之间的模拟通道接口的作用就是实现模拟量和数字量之间的转换。模转换。模/ /数数(A/D)(A/D)转换就是把输入的模拟量变为数字量,转换就是把输入的模拟量变为数字量,供微型计算机处理。数供微型计算机处理。数/ /模模(D/A)(D/A)转换就是将微型计算机处转换就是将微型计算机处理后的数字量转换为模拟量输出。理后的数字量转换为模拟量输出。 6.4 6.4 6.4 6.4 模拟通道接口模拟通道接口模拟通道接口模拟通道接口53 A/DA/D和和D/AD/A的重要技术指标有:的重要技术指标有: 1. 1. 分辨率分辨率(resolution)(resolution) 分

58、辨率是指转换器对输出的数字量与输入的模拟量或分辨率是指转换器对输出的数字量与输入的模拟量或输出的模拟量与输入的数字量的分辨能力,通常用二进制输出的模拟量与输入的数字量的分辨能力,通常用二进制数的位数来表示转换器的分辨率。位数越多分辨率也就越数的位数来表示转换器的分辨率。位数越多分辨率也就越高。对于高。对于n n位转换器,其分辨率为整个模拟量的位转换器,其分辨率为整个模拟量的1/21/2n n。 2. 2. 转换时间转换时间 转换时间指转换器完成一次模拟量与数字量转换所花转换时间指转换器完成一次模拟量与数字量转换所花的时间。这个参数直接影响到系统的速度。的时间。这个参数直接影响到系统的速度。 6

59、.4 6.4 6.4 6.4 模拟通道接口模拟通道接口模拟通道接口模拟通道接口543. 3. 量化误差量化误差 量化误差是指实际输出值与理论值之间的误差,量化误差是指实际输出值与理论值之间的误差,量化量化误差是转换器的转换分辨率直接造成的误差是转换器的转换分辨率直接造成的。 由于输入模拟量是连续变化的由于输入模拟量是连续变化的, ,只有当它的值为只有当它的值为0.0196V0.0196V的整数倍时,模拟量值才能准确转换成对应的数字量,否的整数倍时,模拟量值才能准确转换成对应的数字量,否则模拟量将被则模拟量将被“四舍五入四舍五入”后由相近的数字量输出。后由相近的数字量输出。 例如例如 0.025

60、V0.025V被转换成被转换成01H01H输出,输出,0.032V0.032V被转换成被转换成02H02H输输出,出,最大误差为最大误差为1/21/2个最低有效位个最低有效位,这就是量化误差。,这就是量化误差。 具有具有8 8位分辨率的位分辨率的A/DA/D转换器,当输入转换器,当输入0 05V5V电压时,对电压时,对应的数字输出为应的数字输出为00H00HFFHFFH,即输入每变化,即输入每变化0.0196V0.0196V时,输出时,输出就变化就变化1 1。 6.4 6.4 6.4 6.4 模拟通道接口模拟通道接口模拟通道接口模拟通道接口55 由于由于D/AD/A转换器与微型计算机接口时,微

61、型计算机是靠转换器与微型计算机接口时,微型计算机是靠输出指令输出数字量供输出指令输出数字量供DACDAC转换之用,而输出指令送出的数转换之用,而输出指令送出的数据在数据总线上的时间是短暂的据在数据总线上的时间是短暂的 ( (不足一个输出周期不足一个输出周期) ),所,所以以DACDAC和微型计算机间,需有数据寄存器来保持微型计算机和微型计算机间,需有数据寄存器来保持微型计算机输出的数据输出的数据,供,供DACDAC转换用。转换用。 目前生产的目前生产的DACDAC芯片可分为芯片可分为2 2类类,一类芯片内部设置有一类芯片内部设置有数据寄存器数据寄存器,不需外加电路就可直接与微型计算机接口。,不

62、需外加电路就可直接与微型计算机接口。另一类芯片内部没有数据寄存器另一类芯片内部没有数据寄存器,因此不能直接与微型计,因此不能直接与微型计算机接口,必须通过并行接口与微型计算机接口。算机接口,必须通过并行接口与微型计算机接口。 下面分别介绍这二类下面分别介绍这二类DACDAC芯片与微型计算机的接口方法。芯片与微型计算机的接口方法。 6.4.1 6.4.1 6.4.1 6.4.1 数模转换器及其与微型计算机的接口数模转换器及其与微型计算机的接口数模转换器及其与微型计算机的接口数模转换器及其与微型计算机的接口561 18 8位数模转换器位数模转换器DAC0832DAC0832 DAC0832 DAC

63、0832是具有是具有2020条引线的双列直条引线的双列直插式插式CMOSCMOS器件,它器件,它内部具有两级数据寄内部具有两级数据寄存器,完成存器,完成8 8位电流位电流DADA转换。转换。(1 1)DAC0832DAC0832的结构的结构57(2 2)DAC0832DAC0832与微型计算机的接口与微型计算机的接口 由于由于DAC0832DAC0832内部有输入寄存器和内部有输入寄存器和DACDAC寄存器,所以它寄存器,所以它不需要外加其他电路便可以与微型计算机的数据总线直接不需要外加其他电路便可以与微型计算机的数据总线直接相连。根据相连。根据DAC0832DAC0832的的5 5个控制信号

64、的不同连接方式,使得个控制信号的不同连接方式,使得它可以有它可以有3 3种工作方式种工作方式。 1) 1) 直通方式直通方式 将将 、 、 和和 接地,接地,ILEILE接高电平接高电平, ,就能使得两个寄就能使得两个寄存器跟随输入的数字量变化,存器跟随输入的数字量变化,DACDAC的输出也同时跟随变化。的输出也同时跟随变化。直通方式常用于连续反馈控制的环路中。直通方式常用于连续反馈控制的环路中。 图图6-22 DAC08326-22 DAC0832内部结构框图和引线内部结构框图和引线1 18 8位数模转换器位数模转换器DAC0832DAC083258 2) 2) 单缓冲工作方式单缓冲工作方式

65、 将其中一个寄存器工作在直通状态,另一个处于受控将其中一个寄存器工作在直通状态,另一个处于受控的锁存器状态。在实际应用中的锁存器状态。在实际应用中, ,如果只有一路模拟量输出如果只有一路模拟量输出, ,或虽有几路模拟量但并不要求同步输出,就可采用单缓冲或虽有几路模拟量但并不要求同步输出,就可采用单缓冲方式。方式。 单缓冲方式连接的方法有单缓冲方式连接的方法有3 3种,如种,如图图6-236-23所示。所示。 第第1 1种方法为使种方法为使DACDAC寄存器处于直通方式。寄存器处于直通方式。 第第2 2种方法是使输入寄存器处于直通方式。种方法是使输入寄存器处于直通方式。 第第3 3种方法是使输入

66、寄存器和种方法是使输入寄存器和DACDAC寄存器同时处于受控寄存器同时处于受控的锁存器状态。的锁存器状态。1 18 8位数模转换器位数模转换器DAC0832DAC083259将数据区将数据区BUFFBUFF中的数据转换为模拟电压输出的程序如下中的数据转换为模拟电压输出的程序如下: : stack segment stack stack segment stack stackstack dwdw 32 dup(0) 32 dup(0) stack ends stack ends data segment data segment BUF DB 23 BUF DB 23,4545,6767, CO

67、UNT EQU $-BUF COUNT EQU $-BUF data ends data ends code segment code segment start proc far start proc far 略略 MOV BX MOV BX,OFFSET BUFOFFSET BUF MOV CX MOV CX,COUNTCOUNT AGAIN AGAIN: MOV DXMOV DX,380H380H MOV AL MOV AL,BXBX OUT DX OUT DX,ALAL INC BX INC BX LOOP AGAIN LOOP AGAIN 略略 end start end start

68、60例例6.16.1产生锯齿波。产生锯齿波。 在许多应用中在许多应用中, ,要求有一个线性增长的锯齿波电压来控制检要求有一个线性增长的锯齿波电压来控制检测过程、移动记录笔或移动电子束等。对此可通过测过程、移动记录笔或移动电子束等。对此可通过DAC0832DAC0832的输的输出端接运算放大器来实现。出端接运算放大器来实现。 锯齿波产生电路锯齿波产生电路 61产生锯齿波的程序如下产生锯齿波的程序如下: : stack segment stack stack segment stack stackstack dwdw 32 dup(0) 32 dup(0) stack ends stack end

69、s code segment code segment start proc far start proc far assume assume ssss:stackstack,cscs:codecode 略略 MOV DX MOV DX,380H380H AGAIN AGAIN: INC ALINC AL OUT DX OUT DX,ALAL PUSH AX PUSH AX MOV AH MOV AH,11 11 ;1111号功能调用号功能调用 INT 21H INT 21H CMP AL CMP AL,0 0 ;有键入;有键入AL=FFHAL=FFH,无键入,无键入AL=0AL=0 POP

70、AX POP AX JE AGAIN JE AGAIN ;无键入继续;无键入继续 ret ret start start endpendp code ends code ends end start end start62 两个寄存器都处于受控方式。为了实现两个寄存器的两个寄存器都处于受控方式。为了实现两个寄存器的可控,应当给它们各分配一个端口地址,以便能按端口地可控,应当给它们各分配一个端口地址,以便能按端口地址进行操作。数址进行操作。数/ /模转换采用两步写操作来完成。可在模转换采用两步写操作来完成。可在DACDAC转换输出前一个数据的同时,将下一个数据送到输入寄存转换输出前一个数据的同时

71、,将下一个数据送到输入寄存器,以提高器,以提高DADA转换速度。还可用于多路数转换速度。还可用于多路数/ /模转换系统模转换系统, ,以以实现多路模拟信号同步输出的目的。实现多路模拟信号同步输出的目的。 3) 3) 双缓冲工作方式双缓冲工作方式63图6-25 DAC0832的双缓冲连接方式 图图6-256-25为为DAC0832DAC0832与微型计算机接口的双缓冲方式连与微型计算机接口的双缓冲方式连接电路。这时,输入寄存器和接电路。这时,输入寄存器和DACDAC寄存器分别控制,故占寄存器分别控制,故占用两个端口地址:用两个端口地址:380H 380H 和和 384H384H。380H380H

72、选通输入寄存器,选通输入寄存器,384H384H选通选通DACDAC寄存器。寄存器。 64例例6.2 6.2 用用DAC0832DAC0832控制绘图仪控制绘图仪 X-Y X-Y绘图仪由绘图仪由X X、Y Y两个方向的电机驱动,其中一个电两个方向的电机驱动,其中一个电机控制绘图笔沿机控制绘图笔沿X X方向运动方向运动, ,另一个电机控制绘图笔沿另一个电机控制绘图笔沿Y Y方方向运动,从而绘出图形。因此对向运动,从而绘出图形。因此对X-YX-Y绘图仪的控制有绘图仪的控制有两点两点基本要求:基本要求:一是需要两路一是需要两路D/AD/A转换器分别给转换器分别给X X通道和通道和Y Y通道通道提供模

73、拟信号提供模拟信号,二是两路模拟量要同步输出二是两路模拟量要同步输出。 65 两路模拟量输出是为了使绘图笔能沿两路模拟量输出是为了使绘图笔能沿X-YX-Y轴作平面运轴作平面运动动, ,而模拟量同步输出则是为了使绘制的曲线光滑而模拟量同步输出则是为了使绘制的曲线光滑。否则。否则绘制出的曲线就是台阶状的。为此就要使用两片绘制出的曲线就是台阶状的。为此就要使用两片DAC0832DAC0832,并采用双缓冲方式连接,如图并采用双缓冲方式连接,如图6-266-26所示。所示。 图6-26 DAC0832控制绘图仪的接口电路 380H/388H380H/388H 384H/388H384H/388H 66

74、绘图仪的驱动子程序为:绘图仪的驱动子程序为: HTY PROC HTY PROC PUSH CX PUSH CX PUSH DX PUSH DX MOV DX MOV DX,380H380H OUT DXOUT DX,AL AL ;输出;输出X X MOV DX MOV DX,384H384H XCHG AH XCHG AH,ALAL OUT DXOUT DX,AL AL ;输出;输出Y Y MOV DX MOV DX,388H 388H ;X X、Y Y送送DACDAC寄存器寄存器 OUT DXOUT DX,ALAL POP DX POP DX POP CX POP CX HTY ENDP

75、HTY ENDP672.102.10位位DADA转换器转换器AD7520AD7520 AD7520 AD7520为不带数据锁存器的为不带数据锁存器的1010位数摸转换电路,其外位数摸转换电路,其外部引线如图部引线如图6-276-27所示。所示。 图6-27 AD7520的引线排列 b1 b1b10b10为数据输入线,为数据输入线,b1b1为为MSBMSB,b10b10为为LSBLSB。VDDVDD为为电源端(电源端(5V5V15V15V),VREF,VREF为为基准电压端,基准电压端,RFERFE为反馈输为反馈输入端,入端,GNDGND为数字地,为数字地,Iout1Iout1和和Iout2Io

76、ut2为电流输出端。为电流输出端。 AD7520 AD7520也是电流型输出的也是电流型输出的DADA转换器,将电流转换成电转换器,将电流转换成电压输出的原理及电路均与压输出的原理及电路均与DAC0832DAC0832相同。相同。 68 由于由于 AD7520AD7520自身不带锁存器,所以与计算机的接口方自身不带锁存器,所以与计算机的接口方法可以仿照法可以仿照DAC0832DAC0832,用数据输出寄存器做,用数据输出寄存器做AD7520AD7520的输入寄的输入寄存器和存器和DACDAC寄存器,如图寄存器,如图6-286-28所示。若为单缓冲方式,则只所示。若为单缓冲方式,则只须输入寄存器

77、和须输入寄存器和DACDAC寄存器中的任一个即可。寄存器中的任一个即可。 图6-28 AD7520的接口电路 69 还可以只用还可以只用8 8位数据线,但多用位数据线,但多用1 1片片74LS7474LS74做做AD7520AD7520的的输入数字量接口,如图输入数字量接口,如图6-296-29所示。所示。 图6-29 只用8位数据线与AD7520的接口电路 70 若待转换的若待转换的1010位数据在位数据在AXAX中,则完成一次中,则完成一次DADA转换的程转换的程序段如下:序段如下: MOV DXMOV DX,380H380HXCHG AHXCHG AH,ALALOUT DXOUT DX,

78、ALALXCHG AHXCHG AH,ALALMOV DXMOV DX,384H384HOUT DXOUT DX,ALAL71 各种型号的各种型号的ADCADC芯片都具有如下的信号线:数据输出线芯片都具有如下的信号线:数据输出线D0D0D7D7(8(8位位ADC)ADC),启动,启动A/DA/D转换信号转换信号SCSC与转换结束信号与转换结束信号EOCEOC。 首先计算机启动首先计算机启动A/DA/D转换;转换结束后,转换;转换结束后,ADCADC送出送出EOCEOC信信号通知计算机;计算机用输入指令从号通知计算机;计算机用输入指令从ADCADC的数据输出线的数据输出线D0D0D7D7读取转换

79、数据。读取转换数据。 ADC ADC与微型计算机的接口就是要正确处理上述与微型计算机的接口就是要正确处理上述3 3种信号种信号与微型计算机的连接问题。与微型计算机的连接问题。 ADC ADC 的数据输出端的连接要视其内部是锁存器还是三态的数据输出端的连接要视其内部是锁存器还是三态输出锁存缓冲器。若是三态输出锁存缓冲器,则可直接与微输出锁存缓冲器。若是三态输出锁存缓冲器,则可直接与微型计算机的数据总线相连;若是锁存器,则应将其数据输出型计算机的数据总线相连;若是锁存器,则应将其数据输出端通过三态缓冲器与数据总线相连。端通过三态缓冲器与数据总线相连。 6.4.2 6.4.2 6.4.2 6.4.2

80、 模数转换器模数转换器模数转换器模数转换器ADCADCADCADC及其与微型计算机的接口及其与微型计算机的接口及其与微型计算机的接口及其与微型计算机的接口 721 18 8位逐次逼近式位逐次逼近式A/DA/D转换器转换器ADC0808ADC0808 ADC0808ADC0808内部结构内部结构73ADC0808ADC0808与微型计算机的接口与微型计算机的接口 由于由于ADC0808ADC0808芯片内部集成了数据锁存三态缓冲器芯片内部集成了数据锁存三态缓冲器, ,其其数据输出线可以直接与计算机的数据总线相连。数据输出线可以直接与计算机的数据总线相连。 所以,所以,设计设计 ADC0808AD

81、C0808与微型计算机的接口,主要是对与微型计算机的接口,主要是对模拟通道的选择、转换启动的控制和读取转换结果的控制模拟通道的选择、转换启动的控制和读取转换结果的控制等方面的设计等方面的设计。 用用ADC0808ADC0808对对8 8路模拟信号进行循环采集,各采集路模拟信号进行循环采集,各采集100100个数据分别存入个数据分别存入8 8个数据区中的无条件传送的接口电路如个数据区中的无条件传送的接口电路如图图6-316-31所示。所示。 图图6-31 ADC08086-31 ADC0808与微型计算机的接口与微型计算机的接口 74无条件传送的采集程序如下:无条件传送的采集程序如下: stac

82、k segment stack stack segment stack stackstack dwdw 32 dup(0) 32 dup(0) stack ends stack ends data segment data segment COUNT EQU 100 COUNT EQU 100 BUFF DB COUNT8 DUP(0) BUFF DB COUNT8 DUP(0) data ends data ends code segment code segment start proc far start proc far assume assume ssss:stackstack,cs

83、cs:codecode,dsds:datadata 略略 MOV BX MOV BX,OFFSET BUFFOFFSET BUFF MOV CX MOV CX,COUNTCOUNT OUTLP OUTLP: PUSH BXPUSH BX MOV DX MOV DX,380H 380H ;指向;指向0 0通道地址通道地址 INLOP INLOP: OUT DXOUT DX,AL AL ;启动转换,锁存模拟通道地址;启动转换,锁存模拟通道地址 MOV AX MOV AX,50000 50000 ;延时,等待转换结束;延时,等待转换结束 WTWT: DEC AXDEC AX JNZ WT JNZ W

84、T; ADC0808; ADC0808的转换时间为的转换时间为100S100S 75 IN AL IN AL,DXDX ;读取转换结果;读取转换结果 MOV BX MOV BX,ALAL ADD BX ADD BX,COUNT COUNT ;指向下一通道的存放地址;指向下一通道的存放地址 INC DX INC DX ;指向下一通道的地址;指向下一通道的地址 CMP DX CMP DX,388H 388H ;8 8个通道都采集了吗?个通道都采集了吗? JB INLOP JB INLOP POP BX POP BX ;0 0通道存放地址弹出通道存放地址弹出 INC BX INC BX ;指向;指向

85、0 0通道的下一存放地址通道的下一存放地址 LOOP OUTLP LOOP OUTLP ret ret start start endpendp code ends code ends end start end start762. 122. 12位逐次比较式数模转换芯片位逐次比较式数模转换芯片AD574AD574 AD574AD574系列包括系列包括AD574AD574、AD674AD674、AD774AD774和和AD1674AD1674等型等型号的芯片,是号的芯片,是ADAD公司生产的公司生产的1212位逐次逼近型位逐次逼近型ADC ADC 。 AD574AD574系列片内具有三态输出锁

86、存缓冲器和时钟信系列片内具有三态输出锁存缓冲器和时钟信号号。77模拟信号输入及输入极性信号模拟信号输入及输入极性信号 10VIN10VIN:0V0V+10V+10V的单极性或的单极性或-5V-5V+5V+5V的双极性输入线。的双极性输入线。20VIN20VIN:0V0V+20V+20V的单极性或的单极性或-10V-10V+10V+10V双极性输入线。双极性输入线。REFOUTREFOUT:片内基准电压输出线。片内基准电压输出线。REFINREFIN:片内基准电压输入线。片内基准电压输入线。BIPOFFBIPOFF:极性调节线。极性调节线。2. 122. 12位逐次比较式数模转换芯片位逐次比较式

87、数模转换芯片AD574AD574 (1)(1)芯片引线芯片引线 782. 122. 12位逐次比较式数模转换芯片位逐次比较式数模转换芯片AD574AD574 模拟量从模拟量从10VIN10VIN或或20VIN20VIN输入,输入极性由输入,输入极性由REFINREFIN、REFOUTREFOUT和和BIPOFFBIPOFF的外部电路确定。的外部电路确定。79AD574AD574与微型计算机的接口信号与微型计算机的接口信号 12/ 12/ :1212位转换或位转换或8 8位转换线。位转换线。 :片选线,低电平选通芯片。片选线,低电平选通芯片。A0A0:端口地址线。端口地址线。 R/R/ :读结果

88、读结果/ /启动转换线,高电平读结果,低电平启启动转换线,高电平读结果,低电平启 动转换。动转换。 CECE:芯片允许线,高电平允许转换。芯片允许线,高电平允许转换。 2. 122. 12位逐次比较式数模转换芯片位逐次比较式数模转换芯片AD574AD574 80 这这5 5个信号之间的逻辑关系如下表,它是接口设计的个信号之间的逻辑关系如下表,它是接口设计的主要依据。主要依据。 AD574AD574的真值表的真值表 STS STS 转换状态指示,转换期间为高电平,转换结束后转换状态指示,转换期间为高电平,转换结束后输出变为低电平。输出变为低电平。 各信号之间的时序关系如各信号之间的时序关系如图图

89、6-346-34所示。所示。 2. 122. 12位逐次比较式数模转换芯片位逐次比较式数模转换芯片AD574AD574 81电源线与地线电源线与地线 VLVL:+5V+5V电源。电源。VCCVCC:12V/15V12V/15V参考电压源。参考电压源。VEEVEE:-12V/-15V-12V/-15V参考电压源。参考电压源。DCDC:数字地。数字地。ACAC:模拟地。模拟地。2. 122. 12位逐次比较式数模转换芯片位逐次比较式数模转换芯片AD574AD574 82(2)AD574(2)AD574与微型计算机的接口与微型计算机的接口 启动转换的端口地址为启动转换的端口地址为381H,381H,

90、查询的端口地址为查询的端口地址为384H,384H,读取高读取高8 8位数据的端口地址为位数据的端口地址为380H380H,读取低,读取低4 4位数据的端口地址为位数据的端口地址为381H381H。 2. 122. 12位逐次比较式数模转换芯片位逐次比较式数模转换芯片AD574AD574 83 由于读取的数据是向左对齐的,故要将其进行移位操作,由于读取的数据是向左对齐的,故要将其进行移位操作,使其向右对齐。又由于是双极性输入,所以还要将转换结果减使其向右对齐。又由于是双极性输入,所以还要将转换结果减去去800H800H。 stack segment stack stack segment st

91、ack stackstack dwdw 32 dup(0) 32 dup(0) stack ends stack ends data segment data segment COUNT EQU 100 COUNT EQU 100 BUFF DW COUNT DUP(0) BUFF DW COUNT DUP(0) data ends data ends code segment code segment start proc far start proc far assume assume ssss:stackstack,cscs:codecode,dsds:datadata push pus

92、h dsds sub ax sub ax,axax push ax push ax movmov ax ax,datadata movmov dsds,axax采集采集100100个数据,并将其送数据区个数据,并将其送数据区BUFFBUFF存放的程序如下:存放的程序如下:84 MOV BX MOV BX,0 0 MOV CH MOV CH,COUNTCOUNT MOV CL MOV CL,4 4 MOV DX MOV DX,381H 381H ;指向启动转换的端口地址;指向启动转换的端口地址 LOP LOP: OUT DXOUT DX,AL AL ;启动转换;启动转换 MOV DX MOV D

93、X,384H 384H ;查询转换是否结束?;查询转换是否结束? WT WT: IN ALIN AL,DXDX TEST AL TEST AL,1 1 JNZ WT JNZ WT MOV DX MOV DX,380H 380H ;转换结束,指向高;转换结束,指向高8 8位端口地址位端口地址 IN AL IN AL,DXDX ;读取转换结果的高;读取转换结果的高8 8位位 MOV AH MOV AH,ALAL INC DX INC DX ;指向低;指向低4 4位端口地址位端口地址 IN AL IN AL,DX DX ;读低;读低4 4位位 SHR AX SHR AX,CL CL ;左对齐的数据移

94、位,使其向右对齐;左对齐的数据移位,使其向右对齐 SUB AX SUB AX,800H800H MOV BUFFBX MOV BUFFBX,AXAX ADD BX ADD BX,2 2 DEC CH DEC CH JNZ LOP JNZ LOP ret ret 略略85接口控制信号图 86 图6-4 输入和输出分开的直接地址译码 87图617 打印机适配器的输出电路 88图619 打印机适配器的输入电路 89图6-23 DAC0832的单缓冲方式连接 输入数据线直接与数据总线相连输入数据线直接与数据总线相连 90图6-31 ADC0808与微型计算机的接口 91图6-34 AD574的时序图

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号