1、第六章第六章 输入输出和接口技术输入输出和接口技术 输入输出输入输出(I/O)(I/O)是指微型计算机与外界的信息交换,是指微型计算机与外界的信息交换,即通信即通信(communication)(communication)。微型计算机与外界的通信,是。微型计算机与外界的通信,是通过输入输出设备进行的,通常一种通过输入输出设备进行的,通常一种I/OI/O设备与微型机连设备与微型机连接,就需要一个连接电路,我们称之为接,就需要一个连接电路,我们称之为I/OI/O接口。接口。 接口是用于控制微机系统与外设或外设与系统设备之接口是用于控制微机系统与外设或外设与系统设备之间的数据交换和通信的硬件电路。
2、接口设计涉及到两个基间的数据交换和通信的硬件电路。接口设计涉及到两个基本问题,一是中央处理器如何寻址外部设备,实现多个设本问题,一是中央处理器如何寻址外部设备,实现多个设备的识别;二是中央处理器如何与外设连接,进行数据、备的识别;二是中央处理器如何与外设连接,进行数据、状态和控制信号的交换。状态和控制信号的交换。6.1 6.1 接口的基本概念接口的基本概念6.1.1 6.1.1 接口的功能接口的功能 1.1.接口的一般定义接口的一般定义 接口是一组电路,是中央处理器与存储器、输入输接口是一组电路,是中央处理器与存储器、输入输出设备等外设之间协调动作的控制电路。出设备等外设之间协调动作的控制电路
3、。 接口电路并不局限在中央处理器与存储器或外设之接口电路并不局限在中央处理器与存储器或外设之间,也可在存储器与外设之间,如直接存储器存取间,也可在存储器与外设之间,如直接存储器存取DMADMA接口就是控制存储器与外设之间数据传送的电路。接口就是控制存储器与外设之间数据传送的电路。 2. 2.接口电路的功能接口电路的功能 接口电路的作用就是将来自外部设备的数据信号传接口电路的作用就是将来自外部设备的数据信号传送给处理器,处理器对数据进行适当加工,再通过接口送给处理器,处理器对数据进行适当加工,再通过接口传回外部设备。传回外部设备。 所以,接口的基本功能就是对数据传送实现控制,所以,接口的基本功能
4、就是对数据传送实现控制,具体包括以下具体包括以下5 5种功能:种功能:地址译码、数据缓冲、信息转地址译码、数据缓冲、信息转换、提供命令译码和状态信息以及定时和控制换、提供命令译码和状态信息以及定时和控制。6.1.1 6.1.1 接口的功能接口的功能6.1 6.1 接口的基本概念接口的基本概念6.1.1 6.1.1 接口的功能接口的功能 3. 3.接口电路的基本结构接口电路的基本结构 图 6 - 1 接 口 基 本 结 构 框 图 控制命令逻辑电路一般由命令字寄存器和控制执行控制命令逻辑电路一般由命令字寄存器和控制执行逻辑组成,这一部分是接口电路的逻辑组成,这一部分是接口电路的“中央处理器中央处
5、理器”,用,用来完成全部接口操作的控制。来完成全部接口操作的控制。 状态设置和存储电路主要由一组数据寄存器构成,状态设置和存储电路主要由一组数据寄存器构成,中央处理器和外设就是根据状态寄存器的内容进行协中央处理器和外设就是根据状态寄存器的内容进行协调动作的。调动作的。 数据存储和缓冲电路也是一组寄存器,用于暂存数据存储和缓冲电路也是一组寄存器,用于暂存中央处理器和外设之间传送的数据,以完成速度匹配中央处理器和外设之间传送的数据,以完成速度匹配工作。工作。 6.1 6.1 接口的基本概念接口的基本概念6.1.2 6.1.2 接口控制原理接口控制原理 由于接口是用来控制数据传送的,所以接口控制即由
6、于接口是用来控制数据传送的,所以接口控制即是接口电路对处理器与外设之间数据传送的控制。是接口电路对处理器与外设之间数据传送的控制。 1. 1.数据传送方式数据传送方式 (1 1)并行数据传送)并行数据传送 在微机系统内,如大系统部件之间的数据传送都采在微机系统内,如大系统部件之间的数据传送都采用并行数据传送方式。用并行数据传送方式。 并行数据的每一位都对应独立的传输线路,所以数并行数据的每一位都对应独立的传输线路,所以数据传送速度快,但线路多,一般只用于较短距离的数据据传送速度快,但线路多,一般只用于较短距离的数据传送。传送。 6.1 6.1 接口的基本概念接口的基本概念6.1.2 6.1.2
7、 接口控制原理接口控制原理 1. 1.数据传送方式数据传送方式 (2 2)串行数据传送)串行数据传送 串行数据传送是将构成字符的每个二进制数据位,串行数据传送是将构成字符的每个二进制数据位,按一定的顺序逐位进行传送的方式。按一定的顺序逐位进行传送的方式。 串行数据传送主要用于远程终端或经过公共电话网串行数据传送主要用于远程终端或经过公共电话网的计算机之间的通信。的计算机之间的通信。 远距离数据传送采用串行方式比较经济,但串行数远距离数据传送采用串行方式比较经济,但串行数据传送比并行数据传送控制复杂据传送比并行数据传送控制复杂 。 6.1 6.1 接口的基本概念接口的基本概念下面是下面是异步串行
8、通信协议规定字符数据的传送格式:异步串行通信协议规定字符数据的传送格式: 图 6-2 串行数据位串定义 在异步串行通信中,接收设备和发送设备必须保持在异步串行通信中,接收设备和发送设备必须保持相同的传送波特率,并与每个字符数据的起始位同步。相同的传送波特率,并与每个字符数据的起始位同步。 起始位、数据位、奇偶位和停止位的约定,在同一起始位、数据位、奇偶位和停止位的约定,在同一次传送过程中必须保持一致,这样才能成功地传送数据。次传送过程中必须保持一致,这样才能成功地传送数据。 6.1.2 6.1.2 接口控制原理接口控制原理 2. 2.传送控制方式传送控制方式 接口电路控制数据信号的传送,这种传
9、送操作是在中接口电路控制数据信号的传送,这种传送操作是在中央处理器监控下实现的。对中央处理器而言,数据传送就央处理器监控下实现的。对中央处理器而言,数据传送就是输入输出操作,中央处理器可以采用是输入输出操作,中央处理器可以采用查询查询、中断中断和和DMADMA3 3方式控制接口的传送操作。方式控制接口的传送操作。6.1 6.1 接口的基本概念接口的基本概念(1 1)查询方式)查询方式 查询方式是中央处理器在数据传送之前通过接口的状查询方式是中央处理器在数据传送之前通过接口的状态设置存储电路询问外设,待外设允许传送数据后才传送态设置存储电路询问外设,待外设允许传送数据后才传送数据的操作方式。在查
10、询方式下,中央处理器需要完成下数据的操作方式。在查询方式下,中央处理器需要完成下面一些操作:面一些操作:(1)(1)中央处理器向接口发出传送命令,输入数据或输出数据;中央处理器向接口发出传送命令,输入数据或输出数据;(2)(2)中央处理器查询外设是否允许传送(输出数据发送完否中央处理器查询外设是否允许传送(输出数据发送完否或输入数据准备好否)?或输入数据准备好否)? 在查询方式下,中央处理器需要花费较多的时间去不在查询方式下,中央处理器需要花费较多的时间去不断地断地“询问询问” ” 外设,外设的接口电路处于被动状态。外设,外设的接口电路处于被动状态。 查询输入接口电路查询输入接口电路 CPU通
11、过执行程序不断读取并测试外设的状态是否处于空闲状态。如果输入外通过执行程序不断读取并测试外设的状态是否处于空闲状态。如果输入外部设备处于已准备好状态或输出外部设备为空闲时,则部设备处于已准备好状态或输出外部设备为空闲时,则CPU执行传送信息指令。执行传送信息指令。输入设备锁存器数据缓冲器三态缓冲器地址译码&数据+5VRDQ选通数据READY地址总线RDM/IOWR查询式输出接口电路查询式输出接口电路输出设备数据锁存器状态寄存器端口译码RQD+5VBUSY数据总线地址总线WRRDM/IOACK选通信号数据(2 2)中断方式)中断方式 中断方式是在外设要与中央处理器传送数据时,外设中断方式是在外设
12、要与中央处理器传送数据时,外设向中央处理器发出请求,中央处理器响应后再传送数据的向中央处理器发出请求,中央处理器响应后再传送数据的操作方式。操作方式。 在中断方式下,中央处理器不必查询外设,提高了系在中断方式下,中央处理器不必查询外设,提高了系统的工作效率,但中央处理器管理中断的接口比管理查询统的工作效率,但中央处理器管理中断的接口比管理查询复杂。复杂。 (3 3)直接存储器存取()直接存储器存取(DMADMA)方式)方式 DMA DMA 方式是数据不经过中央处理器在存储器和外设之方式是数据不经过中央处理器在存储器和外设之间直接传送的操作方式。间直接传送的操作方式。DMADMA方式是这方式是这
13、3 3种方式中效率最高种方式中效率最高的一种传送方式,的一种传送方式,DMA DMA 方式控制接口也最复杂,需要专用方式控制接口也最复杂,需要专用的的DMADMA控制器。控制器。 DMA DMA 方式适合数据量较大的传送,如存储器与磁盘之方式适合数据量较大的传送,如存储器与磁盘之间的数据传送。间的数据传送。 6.1.3 6.1.3 接口控制信号接口控制信号 现代微机系统都是采用总线接口方式,因此,接口控现代微机系统都是采用总线接口方式,因此,接口控制信号可分为两类:制信号可分为两类:总线控制信号总线控制信号 和和 输入输出控制信号输入输出控制信号。 图图 6-6-接口控制信号图接口控制信号图
14、输入输出控制信号比较复杂,不同控制方式的接口信输入输出控制信号比较复杂,不同控制方式的接口信号不同。一般包括数据线、输入输出应答信号等。号不同。一般包括数据线、输入输出应答信号等。 中断接口和中断接口和DMADMA接口的控制信号更复杂一些,通常由接接口的控制信号更复杂一些,通常由接口芯片提供专用控制信号来完成数据传送控制。口芯片提供专用控制信号来完成数据传送控制。 总线控制信号包括数据线、地址线、总线控制信号包括数据线、地址线、 、 、INT INT 、定、定时、片选时、片选等。等。 图 6-接口控制信号图 总线控制信号总线控制信号输入输入/ /输出控制信号输出控制信号 微处理器进行微处理器进
15、行I/OI/O操作时,对操作时,对I/OI/O接口的寻址方式与存接口的寻址方式与存储器寻址方式相似。即必须完成储器寻址方式相似。即必须完成两种选择两种选择:一是选择出所:一是选择出所选中的选中的I/OI/O接口芯片接口芯片( (称为称为片选片选) );二是选择出该芯片中的;二是选择出该芯片中的某一寄存器某一寄存器( (称为称为字选字选) )。 6.2 I/O6.2 I/O指令和指令和I/OI/O地址译码地址译码 通常有通常有两种两种I/OI/O接口结构接口结构:一种是标准的:一种是标准的I/OI/O结构,另结构,另一种是存储器映象一种是存储器映象I/OI/O结构结构(memory mapped
16、 I/O)(memory mapped I/O)。与之对。与之对应的有应的有两种两种I/OI/O寻址方式寻址方式。 6.2 I/O6.2 I/O指令和指令和I/OI/O地址译码地址译码6.2.1 6.2.1 标准的标准的I/O I/O 寻址方式寻址方式 标准的标准的I/OI/O寻址方式有以下寻址方式有以下3 3个特点:个特点: (1)(1) I/O I/O设备的地址空间和存储器地址空间是独立的、设备的地址空间和存储器地址空间是独立的、分开的分开的, ,即即I/OI/O接口地址不占用存储器的地址空间。接口地址不占用存储器的地址空间。 (2)(2) 微处理器对微处理器对I/OI/O设备的管理是利用
17、专用的设备的管理是利用专用的IN(IN(输入输入) )和和OUT(OUT(输出输出) )指令来实现数据传送的。指令来实现数据传送的。 (3)(3) CPU CPU对对I/OI/O设备的读设备的读/ /写控制是用写控制是用I/OI/O读读/ /写控制信号写控制信号( ( 、 ) )。 一个外设常有若干个端口地址。一个外设常有若干个端口地址。 6.2.2 6.2.2 存储器映象存储器映象I/OI/O寻址方式寻址方式6.2 I/O6.2 I/O指令和指令和I/OI/O地址译码地址译码 1. 1.存储器映象存储器映象I/OI/O寻址方式又称为存储器对应寻址方式又称为存储器对应I/OI/O寻址寻址方式,
18、它也有方式,它也有3 3个特点:个特点: (1)(1)I/OI/O接口与存储器共用同一个地址空间。接口与存储器共用同一个地址空间。即在系统设计即在系统设计时指定存储器地址空间内的一个区域供时指定存储器地址空间内的一个区域供I/OI/O设备使用,故设备使用,故I/OI/O设设备的每一个寄存器占用存储器空间的一个地址。备的每一个寄存器占用存储器空间的一个地址。这时存储器与这时存储器与I/OI/O设备之间的唯一区别是其所占用的地址不同设备之间的唯一区别是其所占用的地址不同。 (2)(2)CPUCPU利用对存储器的存储单元进行操作的指令来实现对利用对存储器的存储单元进行操作的指令来实现对I/OI/O设
19、备的管理。设备的管理。 (3)(3)CPUCPU用存储器读用存储器读/ /写控制信号写控制信号( ( 、 ) )对对I/OI/O设备进行设备进行读读/ /写控制。写控制。 6.2.2 6.2.2 存储器映象存储器映象I/OI/O寻址方式寻址方式6.2 I/O6.2 I/O指令和指令和I/OI/O地址译码地址译码 2. 2.存储器映象存储器映象I/OI/O寻址方式的优点:寻址方式的优点: (1 1)CPUCPU对外设的操作可使用全部的存储器操作指令,对外设的操作可使用全部的存储器操作指令,故指令多,使用方便,如可对外设中的数据故指令多,使用方便,如可对外设中的数据( (存于外设的寄存于外设的寄存
20、器中存器中) )进行算术和逻辑运算,进行循环或移位等;进行算术和逻辑运算,进行循环或移位等; (2 2)存储器和外设的地址分布图是同一个;存储器和外设的地址分布图是同一个; (3 3)不需要专门的输入不需要专门的输入/ /输出指令。输出指令。 3.3.其缺点有以下两种:其缺点有以下两种: (1 1)外设占用了内存单元,使内存容量减小;外设占用了内存单元,使内存容量减小; (2 2)存储器操作指令通常要比存储器操作指令通常要比I/OI/O指令的字节多,故加指令的字节多,故加长了长了I/OI/O操作的时间。操作的时间。6.2 I/O6.2 I/O指令和指令和I/OI/O地址译码地址译码6.2.3
21、6.2.3 输入输出指令输入输出指令 1. 1.输入指令输入指令IN AccIN Acc,PortPort或或IN AccIN Acc,DXDX 输入指令是把一个字节或一个字由输入端口传送至输入指令是把一个字节或一个字由输入端口传送至ALAL(8(8位位Acc)Acc)或或AX(16AX(16位位Acc)Acc)。端口地址若是由指令中的端口地址若是由指令中的portport所所规定,则只可寻址规定,则只可寻址 0 0255255。端口地址若用寄存器端口地址若用寄存器 DXDX间址,间址,则允许寻址则允许寻址64K64K个输入端口个输入端口。 2.2.输出指令输出指令OUT PortOUT Po
22、rt,AccAcc或或OUT DXOUT DX,AccAcc 输出指令是把在输出指令是把在 ALAL中的一个字节或在中的一个字节或在 AXAX中的一个字,中的一个字,传送至输出端口。端口寻址方式与传送至输出端口。端口寻址方式与ININ指令相同。指令相同。 输入输出指令传送字节还是字,取决于端口的宽度。输入输出指令传送字节还是字,取决于端口的宽度。PC XTPC XT机端口宽度只有位,只能传送字节。机端口宽度只有位,只能传送字节。 6.2 I/O6.2 I/O指令和指令和I/OI/O地址译码地址译码6.2.4 I/O6.2.4 I/O接口的端口地址译码接口的端口地址译码 80 x8680 x86
23、微处理器都由低微处理器都由低1616位地址线寻址位地址线寻址 I/OI/O端口,故可寻址端口,故可寻址64K64K个个I/OI/O端口,但端口,但在实际的在实际的80 x86 PC80 x86 PC机中,只用了最前面机中,只用了最前面 1K1K个个端口地址端口地址,也即只寻址,也即只寻址1K1K范围内的范围内的I/OI/O空间。因此仅使用了地址空间。因此仅使用了地址总线的低总线的低1010位,位,即只有地址线即只有地址线A9A9A0A0用于用于I/OI/O地址译码地址译码。 在在DMADMA操作时,操作时,DMADMA控制器控制了系统总线控制器控制了系统总线。DMADMA控制器在发出控制器在发
24、出地址的同时还要发出地址允许信号地址的同时还要发出地址允许信号AENAEN,所以还必须将,所以还必须将DMADMA控制器控制器发出的地址允许信号发出的地址允许信号AENAEN也参加端口地址的译码,用也参加端口地址的译码,用AENAEN限定地址限定地址译码电路的输出。译码电路的输出。当当 AENAEN信号有效时即信号有效时即 DMADMA控制器控制系统总线控制器控制系统总线时,地址译码电路无输出时,地址译码电路无输出;当当 AENAEN信号无效时,地址译码电路才信号无效时,地址译码电路才有输出有输出。 6.2 I/O6.2 I/O指令和指令和I/OI/O地址译码地址译码6.2.4 I/O6.2.
25、4 I/O接口的端口地址译码接口的端口地址译码 无论是大规模集成电路的接口芯片,还是基本的输入无论是大规模集成电路的接口芯片,还是基本的输入输出缓冲单元,都是由一个或多个寄存器加上一些附加控输出缓冲单元,都是由一个或多个寄存器加上一些附加控制逻辑构成的。制逻辑构成的。对这些寄存器的寻址就是对接口的寻址对这些寄存器的寻址就是对接口的寻址。 通常采用通常采用两级译码方法两级译码方法,译码地址的高位组确定一个,译码地址的高位组确定一个地址区域,作为组选信号;低位组地址直接接到芯片的地地址区域,作为组选信号;低位组地址直接接到芯片的地址输入端,选择芯片内各寄存器。址输入端,选择芯片内各寄存器。 6.2
26、 I/O6.2 I/O指令和指令和I/OI/O地址译码地址译码6.2.4 I/O6.2.4 I/O接口的端口地址译码接口的端口地址译码 1.1.直接地址译码直接地址译码 直接地址译码是一种局部译码方法直接地址译码是一种局部译码方法,按照系统分配给,按照系统分配给某接口的地址区域,对地址总线的某些位进行译码,产生某接口的地址区域,对地址总线的某些位进行译码,产生对该接口包含的缓冲器和寄存器的组选信号,再由低位地对该接口包含的缓冲器和寄存器的组选信号,再由低位地址线对组内缓冲器和寄存器译码寻址。址线对组内缓冲器和寄存器译码寻址。 图图6-46-4是采用直接地址译码寻址端口的电路。是采用直接地址译码
27、寻址端口的电路。 图图6-46-4所示的直接地址译码电路的输出线分别用于输所示的直接地址译码电路的输出线分别用于输入和输出。入和输出。 图6-4 输入和输出分开的直接地址译码 高位地址当组选信号高位地址当组选信号低位地址当寄存低位地址当寄存器或缓冲器地器或缓冲器地址选择信号址选择信号6.2 I/O6.2 I/O指令和指令和I/OI/O地址译码地址译码6.2.4 I/O6.2.4 I/O接口的端口地址译码接口的端口地址译码 图图6-56-5所示的直接地址译码电路的输出线,既可以用所示的直接地址译码电路的输出线,既可以用于输入也可以用于输出。于输入也可以用于输出。图6-5 输入输出直接地址译码 6
28、.2 I/O6.2 I/O指令和指令和I/OI/O地址译码地址译码6.2.4 I/O6.2.4 I/O接口的端口地址译码接口的端口地址译码 在在PCPC机的系统板上各接口芯片的译码电路如图机的系统板上各接口芯片的译码电路如图6-66-6。 图6-6 PC微机接口芯片的译码电路 6.2 I/O6.2 I/O指令和指令和I/OI/O地址译码地址译码6.2.4 I/O6.2.4 I/O接口的端口地址译码接口的端口地址译码 2. 2.间接端口地址译码间接端口地址译码 间接端口地址译码仅使用两个端口地址就可以对多个间接端口地址译码仅使用两个端口地址就可以对多个端口进行寻址,端口进行寻址,第一个端口地址指
29、向地址寄存器第一个端口地址指向地址寄存器,第二个第二个端口地址指向数据寄存器端口地址指向数据寄存器。端口寄存器的地址都要先送到。端口寄存器的地址都要先送到地址寄存器,然后再根据地址寄存器的内容来选择端口寄存地址寄存器,然后再根据地址寄存器的内容来选择端口寄存器。器。从处理器看来,系统只须对地址寄存器和数据寄存器从处理器看来,系统只须对地址寄存器和数据寄存器进行寻即可,对端口各寄存器的第二次寻址由地址寄存器进行寻即可,对端口各寄存器的第二次寻址由地址寄存器的内容确定。的内容确定。 6.2 I/O6.2 I/O指令和指令和I/OI/O地址译码地址译码 图图6-76-7就是间接端口译码电路图就是间接
30、端口译码电路图 这种译码电路节省系统地址空间,但在寻址时必须把这种译码电路节省系统地址空间,但在寻址时必须把间接地址作为数据输出,这样就多使用了一条间接地址作为数据输出,这样就多使用了一条OUTOUT指令。指令。 6.2.4 I/O6.2.4 I/O接口的端口地址译码接口的端口地址译码 6.3 6.3 数字通道接口数字通道接口 在接口电路中,大量使用三态缓冲器、寄存器和三态在接口电路中,大量使用三态缓冲器、寄存器和三态缓冲寄存器来作微处理器与外部设备的数字量通道,用来缓冲寄存器来作微处理器与外部设备的数字量通道,用来输入输出数据或检测和控制与之相连接的外部设备。微处输入输出数据或检测和控制与之
31、相连接的外部设备。微处理器可以将接口电路中的三态缓冲理器可以将接口电路中的三态缓冲( (寄存寄存) )器视为存储单元,器视为存储单元,把控制或状态信号作为数据位信息写到寄存器中或从三态把控制或状态信号作为数据位信息写到寄存器中或从三态缓冲缓冲( (寄存寄存) )器中读出。寄存器的输出信号可以接到外部设器中读出。寄存器的输出信号可以接到外部设备上,外部设备的信号也可以输入到三态缓冲寄存器中。备上,外部设备的信号也可以输入到三态缓冲寄存器中。 一般说来,微处理器都是通过三态缓冲一般说来,微处理器都是通过三态缓冲( (寄存寄存) )器检测器检测外设的状态,通过输出寄存器发出控制信号。外设的状态,通过
32、输出寄存器发出控制信号。 6.3.1 6.3.1 数据输出寄存器数据输出寄存器6.3 6.3 数字通道接口数字通道接口 数据输出寄存器用来寄存微处理器送出的数据和命令。数据输出寄存器用来寄存微处理器送出的数据和命令。常用的寄存器有常用的寄存器有74LS175(4位)、74LS174(6位)和和74LS273(8位)。 8D 8D触发器触发器74LS27374LS273如如 图6-8 所示。所示。 74LS27374LS273可以用作无条件传送的输出接口电路。可以用作无条件传送的输出接口电路。 6.3.2 6.3.2 数据输入三态缓冲器数据输入三态缓冲器 6.3 6.3 数字通道接口数字通道接口
33、 外设输入的数据和状态信号,通过数据输入三态缓冲外设输入的数据和状态信号,通过数据输入三态缓冲器经数据总线传送给微处理器。器经数据总线传送给微处理器。 74LS244 874LS244 8位三态总线驱位三态总线驱动器如图动器如图6-96-9所示。所示。 图6-9 74LS244三态总线驱动器 74LS244 74LS244可以用作无条可以用作无条件传送的输入接口电路。件传送的输入接口电路。 6.3.3 6.3.3 三态缓冲寄存器三态缓冲寄存器 6.3 6.3 数字通道接口数字通道接口 三态缓冲寄存器是三态缓冲器和寄存器组成的。数据三态缓冲寄存器是三态缓冲器和寄存器组成的。数据进入寄存器寄存后并
34、不立即从寄存器输出,要经过三态缓进入寄存器寄存后并不立即从寄存器输出,要经过三态缓冲才能输出。三态缓冲寄存器既可以作数据输入寄存器,冲才能输出。三态缓冲寄存器既可以作数据输入寄存器,又可作数据输出寄存器。寄存器既可以由触发器构成,也又可作数据输出寄存器。寄存器既可以由触发器构成,也可以锁存器构成。可以锁存器构成。触发器与锁存器是有差别的触发器与锁存器是有差别的。 74LS373 74LS373就是三态缓冲锁存器,就是三态缓冲锁存器,74LS37474LS374是三态缓冲触是三态缓冲触发器,它的引线排列与发器,它的引线排列与74LS37374LS373相同。相同。 6.3.4 6.3.4 寄存器
35、和缓冲器接口的应用寄存器和缓冲器接口的应用 6.3 6.3 数字通道接口数字通道接口 寄存器和缓冲器接口的应用简单又灵活,只要处理寄存器和缓冲器接口的应用简单又灵活,只要处理好好它们的时钟端它们的时钟端( (选通端选通端) )或输出允许端与微型计算机的连或输出允许端与微型计算机的连接接即可。在下述应用接口电路中都使用图即可。在下述应用接口电路中都使用图6-106-10所示的电路所示的电路的的地址译码,该电路的地址译码,该电路的8 8个输出端是对个输出端是对图图6-56-5所示的输入输所示的输入输出出直接地址译码电路的进一步译码的输出。直接地址译码电路的进一步译码的输出。 图6-10 读缓冲器和
36、写寄存器信号 需要注意的是图需要注意的是图6-56-5中的不仅仅是对地址信号译码的中的不仅仅是对地址信号译码的输出信号,其中也包含有输入和输出的读或写信号。若使输出信号,其中也包含有输入和输出的读或写信号。若使用的仅仅是对地址信号译码的输出信号,则要将它和用的仅仅是对地址信号译码的输出信号,则要将它和 或或者者 相与后才能用作读缓冲器或写寄存器的信号。相与后才能用作读缓冲器或写寄存器的信号。 1. 1. 七段发光二极管显示器接口七段发光二极管显示器接口 6.3 6.3 数字通道接口数字通道接口 发光二极管显示器(发光二极管显示器(LEDLED)是微型计算机应用系统中常)是微型计算机应用系统中常
37、用的输出装置。用的输出装置。 图6-11 七段LED的引线排列 采用动态控制采用动态控制6 6个七段发光二极管显示器与个七段发光二极管显示器与PCPC机的接机的接口电路如图口电路如图6-126-12所示。所示。 图6-12七段显示器动态显示接口 把从把从PCPC机的键盘键入的六位十进制数送图机的键盘键入的六位十进制数送图6-126-12的七段的七段显示器显示的程序如下:显示器显示的程序如下: stack segment stack stack segment stack stackstack dwdw 32 dup(0) 32 dup(0) stack ends stack ends data
38、 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:datadata push push dsds sub ax
39、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 ;将键入数的;将键入数的ASCIIASCII码变为码变为BCDBCD数数 A
40、GANIAGANI: MOV BLMOV BL,DSDS:BPBP AND BL AND BL,0FH0FH 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 ;延时;延时 LOOP $ LOOP $ INC BP INC BP ;调
41、整;调整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=0AL=0 JE AGANO JE AGANO ;有键入结束程序运
42、行,无键入循环;有键入结束程序运行,无键入循环 retret start start endpendp code ends code ends end start end start2. 2. 键盘接口键盘接口 6.3 6.3 数字通道接口数字通道接口 本节介绍的键盘是由若干个按键组成的开关矩阵,用本节介绍的键盘是由若干个按键组成的开关矩阵,用于向计算机输入数字、字符等代码,是最常用的输入电路。于向计算机输入数字、字符等代码,是最常用的输入电路。 在键盘的按键操作中,其开或闭均会产生在键盘的按键操作中,其开或闭均会产生101020ms20ms的的抖动,可能导致一次按键被计算机多次读入的情况。通
43、常抖动,可能导致一次按键被计算机多次读入的情况。通常采有采有RCRC吸收电路或吸收电路或RSRS触发器组成的闩锁电路来消除按键抖触发器组成的闩锁电路来消除按键抖动;也可以采用软件延时的方法消除抖动。动;也可以采用软件延时的方法消除抖动。这里设开关为这里设开关为理想开关即没有抖动。理想开关即没有抖动。 图图6-136-13是一个是一个4 44 4键盘及其接口电路,用它向计算机键盘及其接口电路,用它向计算机输入输入0 0F 16F 16个十六进制数码。个十六进制数码。 77 B7 D7 E777 B7 D7 E77B BB DB EB7B BB DB EB7D BD DD ED7D BD DD E
44、D7E BE DE EE7E BE DE EE按键与编码的对应关系按键与编码的对应关系3. BCD3. BCD码拨盘及其接口码拨盘及其接口 6.3 6.3 数字通道接口数字通道接口 拨盘种类很多,使用最方便的是十进制数输入,拨盘种类很多,使用最方便的是十进制数输入,BCDBCD码输出的码输出的BCDBCD码拨盘。码拨盘。 图6-14 2位拨盘组及其接口电路 将图将图6-156-15拨盘组输入的拨盘组输入的8 8位十进制数读入数据区并送位十进制数读入数据区并送PCPC机的显示器显示。机的显示器显示。图6-15 8位拨盘组及其接口电路 程序如下:程序如下: stack segment stack
45、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,0DBH0DBH,77H77H DB 0B7H DB 0B7H,0D7H0D7H,0E7H0E7H,0EBH0EBH,0EDH0EDH,0EEH0EEH,0DEH0DEH,0BEH0BEH data ends data ends code segment
46、 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 movmov dsds,axax MOV BX MOV BX,0 0 ;拨盘输入数据区的位移量;拨盘输入数据区的位移量 MOV AH MOV AH,80H 80H ;拨盘位选值;拨盘位选值 LOP1LOP1: MOV DXMOV DX,384H 384
47、H ;拨盘位选值输出;拨盘位选值输出 MOV ALMOV AL,AHAH NOT AL NOT ALOUT DXOUT DX,ALALMOV DXMOV DX,380H 380H ;读入一位拨盘的值,存入输入数据区;读入一位拨盘的值,存入输入数据区IN ALIN AL,DXDXAND ALAND AL,0FH0FHMOV IBUFBXMOV IBUFBX,ALALINC BX INC BX ;改变输入数据区的位移量;改变输入数据区的位移量SHR AHSHR AH,1 1 ;改变拨盘的位选值;改变拨盘的位选值AND AHAND AH,AH AH ;检测;检测8 8位是否已读入位是否已读入JNZ
48、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 ALADD AL,30H30HMOV DIMOV DI,ALALDEC SIDEC SIDEC DIDEC DILOOP LOP2LOOP LOP2MOV OBUF+8MOV OBUF+8, $ $ MOV DXMOV DX,OFFSET OBU
49、F OFFSET OBUF ;将;将8 8位拨盘值送显示器显示位拨盘值送显示器显示MOV AHMOV AH,9 9INT 21HINT 21H6.3.5 6.3.5 打印机适配器打印机适配器 6.3 6.3 数字通道接口数字通道接口较早期的打印机适配器是以板卡形式插在主机板的总较早期的打印机适配器是以板卡形式插在主机板的总线槽中的,随着芯片集成度的提高,主机板集成了越来越线槽中的,随着芯片集成度的提高,主机板集成了越来越多的部件和相应功能,打印机适配器也因此作为一个部件多的部件和相应功能,打印机适配器也因此作为一个部件集成于主机板中,但原理和对外信号连接仍然相同。本节集成于主机板中,但原理和对
50、外信号连接仍然相同。本节介绍较早期的打印机适配器的工作原理,该适配器不仅可介绍较早期的打印机适配器的工作原理,该适配器不仅可以用作连接打印机的接口电路,也可以作为通用输入输出以用作连接打印机的接口电路,也可以作为通用输入输出接口。接口。 打印机适配器由打印机适配器由输入电路输入电路、输出电路输出电路、地址译码电路地址译码电路和和数据总线隔离电路数据总线隔离电路4 4部分组成。部分组成。 1.1.地址译码电路和数据总线隔离电路地址译码电路和数据总线隔离电路 打印机适配器的地址译码电路和数据总线隔离电路如图打印机适配器的地址译码电路和数据总线隔离电路如图6-166-16所示。所示。打印机适配器的译