1、1微型计算机原理及应用21 12 23 3接口的基本概念接口的基本概念I I/O O指令和指令和I I/O O地址译码地址译码简单的简单的I/OI/O接口接口3 概述:输入输出输入输出(I/O)(I/O):是指微型计算机与外界的信息交是指微型计算机与外界的信息交换,即通信换,即通信(communication)(communication)。I/OI/O接口:接口:微型计算机与外界的通信,是通过输入微型计算机与外界的通信,是通过输入输出设备进行的,通常一种输出设备进行的,通常一种I/OI/O设备与微型机连接,设备与微型机连接,就需要一个连接电路,我们称之为就需要一个连接电路,我们称之为I/OI
2、/O接口接口。4 接口是用于控制微机系统与外设或外设与系统设接口是用于控制微机系统与外设或外设与系统设备之间的数据交换和通信的硬件电路。备之间的数据交换和通信的硬件电路。接口设计需解决的两个基本问题:接口设计需解决的两个基本问题:一、是中央处理器如何寻址外部设备,实现多个一、是中央处理器如何寻址外部设备,实现多个设备的识别;设备的识别;二、是中央处理器如何与外设连接,进行数据、二、是中央处理器如何与外设连接,进行数据、状态和控制信号的交换。状态和控制信号的交换。51.1.接口的一般定义接口的一般定义 (接口电路的位置)(接口电路的位置)接口是一组电路,是中央处理器与存储器、输接口是一组电路,是
3、中央处理器与存储器、输入输出设备等外设之间入输出设备等外设之间协调动作协调动作的控制电路。的控制电路。注意:注意:接口电路并不局限在中央处理器与存储器接口电路并不局限在中央处理器与存储器或外设之间,也可在存储器与外设之间,如直接存或外设之间,也可在存储器与外设之间,如直接存储器存取储器存取DMADMA接口接口就是控制存储器与外设之间数据就是控制存储器与外设之间数据传送的电路。传送的电路。1.1 1.1 接口的功能接口的功能6 所以,接口的基本功能就是对数据传送实现控制,所以,接口的基本功能就是对数据传送实现控制,具体包括以下具体包括以下5 5种功能:种功能:地址译码、数据缓冲、信地址译码、数据
4、缓冲、信息转换(如串并转换)、提供命令译码和状态信息息转换(如串并转换)、提供命令译码和状态信息以及定时和控制以及定时和控制。1.1 1.1 接口的功能接口的功能2.2.接口电路的功能接口电路的功能接口电路的作用就是将来自外部设备的数据信号传接口电路的作用就是将来自外部设备的数据信号传送给处理器,处理器对数据进行适当加工,再通过送给处理器,处理器对数据进行适当加工,再通过接口传回外部设备。接口传回外部设备。73.3.接口电路的基本结构接口电路的基本结构1.1 1.1 接口的功能接口的功能8 控制命令逻辑电路:控制命令逻辑电路:一般由命令字寄存器和控制执一般由命令字寄存器和控制执行逻辑组成,这一
5、部分是接口电路的行逻辑组成,这一部分是接口电路的“中央处理器中央处理器”,用来完成全部接口操作的控制。用来完成全部接口操作的控制。状态设置和存储电路:状态设置和存储电路:主要由一组状态数据寄存器主要由一组状态数据寄存器构成,中央处理器和外设就是根据状态寄存器的内构成,中央处理器和外设就是根据状态寄存器的内容进行协调动作的。容进行协调动作的。数据存储和缓冲电路:数据存储和缓冲电路:也是一组寄存器,用于暂存也是一组寄存器,用于暂存中央处理器和外设之间传送的数据,以完成速度匹中央处理器和外设之间传送的数据,以完成速度匹配工作。配工作。1.1 1.1 接口的功能接口的功能91.1.数据传送方式数据传送
6、方式 在微机系统内,如,在微机系统内,如,大系统大系统部件之间的数据传送部件之间的数据传送都采用并行数据传送方式。都采用并行数据传送方式。特点:特点:并行数据的每一位都对应独立的传输线路,再并行数据的每一位都对应独立的传输线路,再加上加上一条地线和一条数据准备好线一条地线和一条数据准备好线,若是双向并行传,若是双向并行传输,还须有输,还须有传送方向的信号线传送方向的信号线。所以数据传送速度快,。所以数据传送速度快,但线路多,一般只用于较短距离的数据传送。但线路多,一般只用于较短距离的数据传送。(1 1)并行数据传送并行数据传送1.21.2 接口控制原理接口控制原理接口是用来控制数据传送的,所谓
7、接口控制即是接接口是用来控制数据传送的,所谓接口控制即是接口电路对处理器与外设之间数据传送的控制。口电路对处理器与外设之间数据传送的控制。10 串行数据传送是将构成字符的每个二进制数据位,串行数据传送是将构成字符的每个二进制数据位,按一定的顺序按一定的顺序逐位逐位进行传送的方式。进行传送的方式。串行数据传送主要用于远程终端或经过公共电话串行数据传送主要用于远程终端或经过公共电话网的计算机之间的通信。网的计算机之间的通信。特点:特点:单向传输只需一根数据线,单向传输只需一根数据线,一根信号地线和一一根信号地线和一根应答线根应答线,远距离数据传送采用串行方式比较经济,远距离数据传送采用串行方式比较
8、经济,但但串行数据传送比并行数据传送控制复杂,涉及到串串行数据传送比并行数据传送控制复杂,涉及到串并行数据转换。并行数据转换。(2 2)串行数据传送串行数据传送1.21.2 接口控制原理接口控制原理11异步串行通信协议规定字符数据的异步串行通信协议规定字符数据的传送格式传送格式:一帧数据一帧数据 概念:概念:波特率:波特率:每秒钟传送二进制数的位数称之为每秒钟传送二进制数的位数称之为波特率。波特率。比特率:比特率:每秒钟传送的每秒钟传送的有效有效的二进制数位称之为比特率。的二进制数位称之为比特率。1.21.2 接口控制原理接口控制原理12注意:注意:1 1、通信线上传送的通信线上传送的所有位信
9、号所有位信号都必须保持一致的持都必须保持一致的持 续时间。续时间。2 2、异步串行通信中,接收设备和发送设备必须保持异步串行通信中,接收设备和发送设备必须保持 相同的传送波特率,并与每个字符数据的起始位相同的传送波特率,并与每个字符数据的起始位 同步。起始位、数据位、奇偶位和停止位约定,同步。起始位、数据位、奇偶位和停止位约定,在同一次传送过程中必须保持一致。在同一次传送过程中必须保持一致。1.21.2 接口控制原理接口控制原理132.2.传送控制方式传送控制方式 1.21.2 接口控制原理接口控制原理传送控制方式有传送控制方式有查询查询、中断中断和和DMADMA3 3种。种。(1 1)查询方
10、式查询方式 查询方式是中央处理器查询方式是中央处理器在数据传送之前在数据传送之前通过接口通过接口的的状态设置存储电路状态设置存储电路询问外设,即询问外设的状态,询问外设,即询问外设的状态,待外设允许传送数据后才传送数据的操作方式。待外设允许传送数据后才传送数据的操作方式。141.21.2 接口控制原理接口控制原理在查询方式下,在查询方式下,CPUCPU需要完成以下操作:需要完成以下操作:(1)CPU(1)CPU向接口发出传送命令,输入数据或输出数据;向接口发出传送命令,输入数据或输出数据;(2)(2)中央处理器查询外设是否允许传送?中央处理器查询外设是否允许传送?特点:在查询方式下,中央处理器
11、需要花费较多的时特点:在查询方式下,中央处理器需要花费较多的时 间去不断地间去不断地“询问询问”外设,外设的接口电路处外设,外设的接口电路处 于被动状态。于被动状态。151.21.2 接口控制原理接口控制原理查询方式的特例:无条件传送方式查询方式的特例:无条件传送方式有些输出设备随时可接收数据,如发光二极管、电有些输出设备随时可接收数据,如发光二极管、电机的起停等。还有些输出设备在接受一个数据后需机的起停等。还有些输出设备在接受一个数据后需要经过一段固定的时间才可接收下一个数据,如要经过一段固定的时间才可接收下一个数据,如D/AD/A转换器对于此类设备,可省去转换器对于此类设备,可省去状态设置
12、存储电路和状态设置存储电路和查询程序,直接传送数据或者延迟一段时间后即可查询程序,直接传送数据或者延迟一段时间后即可进行数据传输。进行数据传输。16(2 2)中断方式中断方式1.21.2 接口控制原理接口控制原理 中断方式是在外设要与中央处理器传送数据时,中断方式是在外设要与中央处理器传送数据时,外设向中央处理器发出请求,中央处理器响应后再传外设向中央处理器发出请求,中央处理器响应后再传送数据的操作方式。送数据的操作方式。特点:特点:在中断方式下,中央处理器不必查询外设,提在中断方式下,中央处理器不必查询外设,提高了系统的工作效率,但中央处理器管理中断的接口高了系统的工作效率,但中央处理器管理
13、中断的接口比管理查询复杂。比管理查询复杂。17(3 3)直接存储器存取(直接存储器存取(DMADMA)方式)方式1.21.2 接口控制原理接口控制原理 DMA DMA 方式是数据不经过中央处理器在存储器和外方式是数据不经过中央处理器在存储器和外设之间直接传送的操作方式。设之间直接传送的操作方式。DMADMA方式是这方式是这3 3种方式中种方式中效率最高的一种传送方式,效率最高的一种传送方式,DMADMA方式控制接口也最复方式控制接口也最复杂,需要专用的杂,需要专用的DMADMA控制器,控制器,常用的常用的DMADMA控制器为控制器为8237A8237A。特点:特点:DMA DMA 方式适合数据
14、量较大的传送,如存储器与方式适合数据量较大的传送,如存储器与 磁盘之间的数据传送。磁盘之间的数据传送。18 接口控制信号可分为两类:接口控制信号可分为两类:总线控制信号总线控制信号 和和 输入输输入输 出控制信号。出控制信号。输入输出控制信号:输入输出控制信号:比较复杂,不同控制方式的接口比较复杂,不同控制方式的接口信号不同。一般包括数据线、输入输出应答信号等。信号不同。一般包括数据线、输入输出应答信号等。中断接口和中断接口和DMADMA接口的控制信号更复杂一些,通常由接接口的控制信号更复杂一些,通常由接口芯片提供专用控制信号来完成数据传送控制。口芯片提供专用控制信号来完成数据传送控制。总线控
15、制信号:总线控制信号:包括数据线、地址线、包括数据线、地址线、等。、等。1.31.3 接口控制信号接口控制信号19接口控制信号图接口控制信号图1.31.3 接口控制信号接口控制信号总线控制信号总线控制信号输入输出控制信号输入输出控制信号202 21 13 3接口的基本概念接口的基本概念I I/O O指令和指令和I I/O O地址译码地址译码简单的简单的I/OI/O接口接口21 微处理器进行微处理器进行I/OI/O操作时,对操作时,对I/OI/O接口的寻址方接口的寻址方式必须完成式必须完成两项工作两项工作:一是选择出所选中的:一是选择出所选中的I/OI/O接接口芯片口芯片(称为称为片选片选);二
16、是选择出该芯片中的某一;二是选择出该芯片中的某一寄存器寄存器(称为称为字选字选)。通常有通常有两种两种I/OI/O接口结构接口结构:一种是标准的:一种是标准的I/OI/O结结构,另一种是存储器映象构,另一种是存储器映象I/OI/O结构结构(memory mapped(memory mapped I/O)I/O)。与之对应的有。与之对应的有两种两种I/OI/O寻址方式寻址方式。22标准的标准的I/OI/O寻址方式有以下寻址方式有以下3 3个特点:个特点:(1)(1)I/OI/O设备的地址空间和存储器地址空间是独立的、分开的设备的地址空间和存储器地址空间是独立的、分开的,即即I/OI/O接口地址不
17、占用存储器的地址空间。接口地址不占用存储器的地址空间。(2)(2)微处理器对微处理器对I/OI/O设备的管理是利用专用的设备的管理是利用专用的IN(IN(输入输入)和和 OUT(OUT(输出输出)指令来实现数据传送的。指令来实现数据传送的。(3)(3)CPUCPU对对I/OI/O设备的读设备的读/写控制是用写控制是用I/OI/O读读/写控制信写控制信(、)。特点特点:一个外设常有数据寄存器、状态寄存器和控制一个外设常有数据寄存器、状态寄存器和控制 寄存器,需使每个寄存器均有一个端口地址才寄存器,需使每个寄存器均有一个端口地址才 可,所以一个外设常有若干个端口地址。可,所以一个外设常有若干个端口
18、地址。2.1 2.1 标准的标准的I/OI/O 寻址方式寻址方式23 1.1.存储器映象存储器映象I/OI/O寻址方式又称为存储器对应寻址方式又称为存储器对应I/OI/O寻址方式,寻址方式,有有3 3个特点:个特点:(1)(1)I/OI/O接口与存储器共用同一个地址空间。接口与存储器共用同一个地址空间。即在系统设计时指即在系统设计时指 定存储器地址空间内的一个区域供定存储器地址空间内的一个区域供I/OI/O设备使用,故设备使用,故I/OI/O设设 备的每一个寄存器占用存储器空间的一个地址。备的每一个寄存器占用存储器空间的一个地址。这时存储这时存储 器与器与I/OI/O设备之间的唯一区别是其所占
19、用的地址不同。设备之间的唯一区别是其所占用的地址不同。(2)(2)CPUCPU利用对存储器的存储单元进行操作的指令来实现对利用对存储器的存储单元进行操作的指令来实现对I/OI/O设设 备的管理。备的管理。(3)(3)CPUCPU用存储器读用存储器读/写控制信号写控制信号(、)对对I/OI/O设备进行读设备进行读/写写 控制。控制。2.2 2.2 存储器映像存储器映像I/OI/O 寻址方式寻址方式24 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操作的时间。操作的时间。2.2 2.2
21、 存储器映像存储器映像I/OI/O 寻址方式寻址方式251.1.输入指令输入指令IN AccIN Acc,PortPort或或IN AccIN Acc,DXDX 2.3 2.3 输入输出指令输入输出指令 输入指令是把一个字节或一个字由输入端口传送输入指令是把一个字节或一个字由输入端口传送至至AL(8AL(8位位Acc)Acc)或或AX(16AX(16位位Acc)Acc)或或EAX(32EAX(32位位Acc)Acc)。端口地址若是由指令中的端口地址若是由指令中的portport所规定,则只可寻所规定,则只可寻址址 0 0255255。端口地址若用寄存器端口地址若用寄存器DXDX间址,则允许寻间
22、址,则允许寻址址64K64K个端口个端口。注意注意:累加器选用累加器选用ALAL、AXAX或或EAXEAX取决于端口的宽度。取决于端口的宽度。262.2.输出指令输出指令OUT PortOUT Port,AccAcc或或OUT DXOUT DX,AccAcc2.3 2.3 输入输出指令输入输出指令 输出指令是把输出指令是把ALAL中的一个字节或中的一个字节或AXAX中的一个字中的一个字或者或者EAXEAX中的一个双字,传送至输出端口。中的一个双字,传送至输出端口。端口寻址方式与端口寻址方式与ININ指令相同。指令相同。注意注意:累加器选用累加器选用ALAL、AXAX或或EAXEAX取决于端口的
23、宽度。取决于端口的宽度。27 80 x8680 x86微处理器都由低微处理器都由低1616位地址线寻址位地址线寻址 I/OI/O端口,故可寻址端口,故可寻址64K64K个个I/OI/O端口,但端口,但在实际的在实际的80 x86PC80 x86PC机中,只用了最前面机中,只用了最前面 1K1K个端口地个端口地址址,也即只寻址,也即只寻址1K1K范围内的范围内的I/OI/O空间。因此仅使用了地址总线的空间。因此仅使用了地址总线的低低1010位,位,即只有地址线即只有地址线A9A9A0A0用于用于I/OI/O地址译码地址译码。2.4 2.4 I/OI/O 接口的端口地址译码接口的端口地址译码28
24、在在DMADMA操作时,操作时,DMADMA控制器控制了系统总线控制器控制了系统总线。DMADMA控制器在发出地控制器在发出地址的同时还要发出地址允许信号址的同时还要发出地址允许信号AENAEN,所以还必须将,所以还必须将DMADMA控制器发控制器发出的地址允许信号出的地址允许信号AENAEN也参加端口地址的译码,用也参加端口地址的译码,用AENAEN限定地址译限定地址译码电路的输出。码电路的输出。当当AENAEN信号有效时即信号有效时即 DMADMA控制器控制系统总线时,地址译码电路控制器控制系统总线时,地址译码电路无输出无输出;当当AENAEN信号无效时即信号无效时即CPUCPU控制系统总
25、线时控制系统总线时,地址译码电路才有输出地址译码电路才有输出。2.4 2.4 I/OI/O 接口的端口地址译码接口的端口地址译码29 无论是大规模集成电路的接口芯片,还是基本的输无论是大规模集成电路的接口芯片,还是基本的输入输出缓冲单元,都是由一个或多个寄存器加上一些入输出缓冲单元,都是由一个或多个寄存器加上一些附加控制逻辑构成的。附加控制逻辑构成的。对这些寄存器的寻址就是对接对这些寄存器的寻址就是对接口的寻址口的寻址。通常采用通常采用两级译码方法两级译码方法,译码地址的,译码地址的高位组高位组确定一确定一个地址区域,作为个地址区域,作为组选组选信号;信号;低位组地址低位组地址直接接到芯直接接
26、到芯片的地址输入端,选择芯片内各寄存器。片的地址输入端,选择芯片内各寄存器。注意:注意:组选信号和字选信号与片选信号和字选信号的区别?组选信号和字选信号与片选信号和字选信号的区别?2.4 2.4 I/OI/O 接口的端口地址译码接口的端口地址译码30 下图所下图所示的直接地址译码电路的输出线分别用于输示的直接地址译码电路的输出线分别用于输入和输出。入和输出。2.4 2.4 I/OI/O 接口的端口地址译码接口的端口地址译码1.1.直接地址译码直接地址译码 直接地址译码是一种局部译码方法直接地址译码是一种局部译码方法,按照系统分配给某接,按照系统分配给某接口的地址区域,对口的地址区域,对地址总线
27、的某些位地址总线的某些位进行译码,产生对该接进行译码,产生对该接口包含的缓冲器和寄存器的口包含的缓冲器和寄存器的组选信号组选信号,再由,再由低位地址线低位地址线对组对组内缓冲器和寄存器译码寻址。内缓冲器和寄存器译码寻址。312.4 2.4 I/OI/O 接口的端口地址译码接口的端口地址译码32 下图所示的直接地址译码电路的输出线,既可以用下图所示的直接地址译码电路的输出线,既可以用于输入也可以用于输出。于输入也可以用于输出。2.4 2.4 I/OI/O 接口的端口地址译码接口的端口地址译码33PCPC微机接口芯片的译码电路微机接口芯片的译码电路2.4 2.4 I/OI/O 接口的端口地址译码接
28、口的端口地址译码342.4 2.4 I/OI/O 接口的端口地址译码接口的端口地址译码2.2.间接端口地址译码间接端口地址译码 间接端口地址译码仅使用两个端口地址就可以对多个端口间接端口地址译码仅使用两个端口地址就可以对多个端口进行寻址,进行寻址,第一个端口地址指向数据寄存器第一个端口地址指向数据寄存器,第二个端口地第二个端口地址指向地址寄存器址指向地址寄存器。端口寄存器的地址数据总线都要先送到。端口寄存器的地址数据总线都要先送到地址寄存器,然后再根据地址寄存器的内容来选择端口寄存地址寄存器,然后再根据地址寄存器的内容来选择端口寄存器。器。从处理器看来,系统只须对地址寄存器和数据寄存器进从处理
29、器看来,系统只须对地址寄存器和数据寄存器进行寻即可,对端口各寄存器的第二次寻址由地址寄存器的内行寻即可,对端口各寄存器的第二次寻址由地址寄存器的内容确定。容确定。35 这种译码电路节省系统地址空间,但在寻址时必须把这种译码电路节省系统地址空间,但在寻址时必须把间接地址作为数据输出,这样就多使用了一条间接地址作为数据输出,这样就多使用了一条OUTOUT指令。指令。2.4 2.4 I/OI/O 接口的端口地址译码接口的端口地址译码间接端口译码电路图间接端口译码电路图 36分析:分析:1 1、74LS24574LS245为其数据寄存器端口,为其数据寄存器端口,74LS17574LS175为其地址寄为
30、其地址寄 存器端口。存器端口。2 2、当、当A0=0A0=0时,寻址时,寻址74LS24574LS245数据寄存器端口,把所寻数据寄存器端口,把所寻 外设的端口地址做为数据用外设的端口地址做为数据用ININ指令及指令及 通过数通过数 据总线送入据总线送入74LS24574LS245。3 3、当、当A0=1A0=1时,寻址时,寻址74LS17574LS175地址寄存器端口,把已读地址寄存器端口,把已读 入的外设的端口地址通过数据总线用入的外设的端口地址通过数据总线用OUTOUT指令及指令及 通过数据总线送入通过数据总线送入74LS17574LS175。373 31 12 2接口的基本概念接口的基
31、本概念I I/O O指令和指令和I I/O O地址译码地址译码简单的简单的I/OI/O接口接口38 在接口电路中,大量使用三态缓冲器、寄存器和三态在接口电路中,大量使用三态缓冲器、寄存器和三态缓冲寄存器来作微处理器与外部设备的缓冲寄存器来作微处理器与外部设备的数字量通道数字量通道,用来,用来输入输出数据或检测和控制与之相连接的外部设备。输入输出数据或检测和控制与之相连接的外部设备。微处理器可以将接口电路中的三态缓冲微处理器可以将接口电路中的三态缓冲(寄存寄存)器视为存储器视为存储单元,把控制或状态信号作为数据位信息写到寄存器中或单元,把控制或状态信号作为数据位信息写到寄存器中或从三态缓冲从三态
32、缓冲(寄存寄存)器中读出。寄存器的输出信号可以接到器中读出。寄存器的输出信号可以接到外部设备上,外部设备的信号也可以输入到三态缓冲寄存外部设备上,外部设备的信号也可以输入到三态缓冲寄存器中。器中。小结:小结:微处理器都是通过三态缓冲微处理器都是通过三态缓冲(寄存寄存)器检测器检测外设的状态,通过输出寄存器发出控制信号。外设的状态,通过输出寄存器发出控制信号。39作用:作用:数据输出寄存器用来寄存微处理器送出的数据和命令。数据输出寄存器用来寄存微处理器送出的数据和命令。数据传输方向:数据传输方向:CPUCPU至外设。至外设。74LS27374LS273可以用作无条件可以用作无条件传送的输出接口电
33、路。传送的输出接口电路。3.1 3.1 数据输出寄存器数据输出寄存器8D8D触发器触发器74LS27374LS27340控制数据传输的方法:执行控制数据传输的方法:执行OUTOUT指令时指令时,微处理器发出写寄存器微处理器发出写寄存器信号,该信号是由端口地址和信号,该信号是由端口地址和 相负与产生的,控制相负与产生的,控制CLKCLK。MOV DX,380HMOV DX,380HOUT DX,ALOUT DX,AL七段显示码七段显示码3.1 3.1 数据输出寄存器数据输出寄存器输出接口的连接以及编程输出接口的连接以及编程41作用:作用:外设输入的数据和状态信号,通过数据输入三态外设输入的数据和
34、状态信号,通过数据输入三态 缓冲器经数据总线传送给微处理器。缓冲器经数据总线传送给微处理器。数据传输方向:数据传输方向:外设至外设至CPUCPU 。74LS24474LS244三态总线驱动器三态总线驱动器 74LS24474LS244可以用作无条可以用作无条件传送的输入接口电路。件传送的输入接口电路。3.2 3.2 数据输入三态缓冲器数据输入三态缓冲器42MOV DX,380HMOV DX,380HIN AL,DXIN AL,DX按键数据按键数据输入接口的连接及编程输入接口的连接及编程3.2 3.2 数据输入三态缓冲器数据输入三态缓冲器注意:其输出允许信号的产生方法。注意:其输出允许信号的产生
35、方法。43组成:组成:三态缓冲寄存器是三态缓冲器和寄存器组成的。三态缓冲寄存器是三态缓冲器和寄存器组成的。注意:注意:1 1、数据进入寄存器寄存后并不立即从寄存器输出,数据进入寄存器寄存后并不立即从寄存器输出,要经过三态缓冲才能输出。要经过三态缓冲才能输出。2 2、三态缓冲寄存器既可以作数据输入寄存器,又三态缓冲寄存器既可以作数据输入寄存器,又 可作数据输出寄存器。可作数据输出寄存器。3 3、寄存器既可以由触发器构成,也可以锁存器构寄存器既可以由触发器构成,也可以锁存器构 成。成。触发器与锁存器是有差别的触发器与锁存器是有差别的。74LS37374LS373就是三态缓冲锁存器,就是三态缓冲锁存
36、器,74LS37474LS374是三态缓冲触是三态缓冲触发器,它的引线排列与发器,它的引线排列与74LS37374LS373相同。相同。3.3 3.3 三态缓冲寄存器三态缓冲寄存器44PSPS信号的作用:信号的作用:1 1、做片选信号。、做片选信号。2 2、控制输入寄存器的时钟信号。、控制输入寄存器的时钟信号。3 3、控制输出缓冲器的输出允许信号。、控制输出缓冲器的输出允许信号。3.4 3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用453.4 3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用注意:注意:图中的图中的 不仅仅是对地址信号译码的输出信号,其中不仅仅是对地址信号译码
37、的输出信号,其中也包含有输入和输出的读、写信号。若使用的仅仅是对地址信也包含有输入和输出的读、写信号。若使用的仅仅是对地址信号译码的输出信号,则要将它和号译码的输出信号,则要将它和 或者或者 相与后才能用相与后才能用作读缓冲器或写寄存器的信号作读缓冲器或写寄存器的信号。46 发光二极管显示器(发光二极管显示器(LEDLED)是微型计算机应用系统中)是微型计算机应用系统中常用的输出装置。常用的输出装置。3.4 3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用1.1.七段发光二极管显示器接口七段发光二极管显示器接口 47七段显示器动态显示接口电路七段显示器动态显示接口电路3.4 3.4 寄
38、存器和缓冲器接口的应用寄存器和缓冲器接口的应用483.4 3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用七段发光二极管显示器的接口七段发光二极管显示器的接口分两种分两种:静态显示接口:静态显示接口和动态显示接口。和动态显示接口。静态显示接口的特点静态显示接口的特点:每个数码管的阳极单独用一组每个数码管的阳极单独用一组寄存器控制,并且其公共点接地。寄存器控制,并且其公共点接地。动态显示接口的特点动态显示接口的特点:几个数码管公用两组寄存器,几个数码管公用两组寄存器,一组寄存器称为段选寄存器,另一组寄存器称为位选一组寄存器称为段选寄存器,另一组寄存器称为位选寄存器。寄存器。动态显示的机理
39、如上图所示。动态显示的机理如上图所示。493.4 3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用思路:思路:1 1、动态显示的过程。动态显示的过程。2 2、数码管显示数码管显示0-90-9时,数码与段选寄存器时,数码与段选寄存器74LS27374LS273输输 出数据的关系,出数据的关系,例:数码管显示例:数码管显示5 5,g-a=1101101,g-a=1101101,则则Q Q6 6-Q-Q0 0=0010010=12H=0010010=12H,从而数码从而数码0-90-9对应段选寄存器对应段选寄存器74LS27374LS273输出的数据输出的数据 代码为:代码为:40H,79H
40、,24H,30H,19H,12H,02H,78H,00H,18H.40H,79H,24H,30H,19H,12H,02H,78H,00H,18H.3 3、如何由输入的十进制数码转换为如何由输入的十进制数码转换为74LS27374LS273输出的数输出的数 据代码?据代码?50 把从把从PCPC机的键盘键入的六位十进制数送七段显示器机的键盘键入的六位十进制数送七段显示器显示的程序如下:显示的程序如下:IBF DB 7IBF DB 7,0 0,7 DUP(0)7 DUP(0)SEGPT DB 40H,79H,24H,30H,19HSEGPT DB 40H,79H,24H,30H,19H DB 12
41、H,02H,78H,00H,18H DB 12H,02H,78H,00H,18H MOV DX MOV DX,OFFSET IBF OFFSET IBF ;键盘键入六位十进制数键盘键入六位十进制数 MOV AH MOV AH,1010 INT 21H INT 21HAGANOAGANO:MOV BPMOV BP,OFFSET IBF+2 OFFSET IBF+2 ;建立指针,最高位数的地址建立指针,最高位数的地址 MOV AH MOV AH,20H 20H ;位指针代码,位指针代码,20H20H为最高位为最高位 MOV BH MOV BH,0 0 ;将键入的将键入的ASCIIASCII码变为码
42、变为BCDBCD数数AGANIAGANI:MOV BLMOV BL,DSDS:BPBP AND BL AND BL,0FH 0FH ;取键入的取键入的BCDBCD数码数码 MOV AL MOV AL,SEGPTBX SEGPTBX ;取取BCDBCD数的七段显示代码数的七段显示代码3.4 3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用51 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
43、 MOV CX MOV CX,1000 1000 ;延时延时 AA:LOOP AA AA:LOOP AA 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=
44、0FFHAL=0FFH,无输入,无输入AL=0AL=0 JE AGANO JE AGANO ;有键入结束运行,无键入循环;有键入结束运行,无键入循环 3.4 3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用52 本节介绍的键盘是由若干个按键组成的开关矩阵,用本节介绍的键盘是由若干个按键组成的开关矩阵,用于向计算机输入数字、字符等代码,是最常用的输入电路。于向计算机输入数字、字符等代码,是最常用的输入电路。抖动问题:抖动问题:在键盘的按键操作中,其开或闭均会产生在键盘的按键操作中,其开或闭均会产生101020ms20ms的抖动,可能导致一次按键被计算机多次读入的的抖动,可能导致一次按键被
45、计算机多次读入的情况。通常采有情况。通常采有RCRC吸收电路或吸收电路或RSRS触发器组成的闩锁电路来触发器组成的闩锁电路来消除按键抖动;也可以采用软件延时的方法消除抖动。消除按键抖动;也可以采用软件延时的方法消除抖动。这里设开关为理想开关即没有抖动。这里设开关为理想开关即没有抖动。3.4 3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用2.2.键盘接口键盘接口 53 下图是一个下图是一个4 44 4键盘及其接口电路,用它向计算机输键盘及其接口电路,用它向计算机输入入0 0F 16F 16个十六进制数码。个十六进制数码。3.4 3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用5
46、43.4 3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用注意:行选择线为低电平有效注意:行选择线为低电平有效思路:思路:1 1、键盘的结构:键盘的结构:2 2、代码的生成:代码的生成:3 3、如何检测是否有键按下?如何检测是否有键按下?4 4、如何确定按下的键是何键如何确定按下的键是何键?由其列值和行值组成对应的代码,和代码表对照由其列值和行值组成对应的代码,和代码表对照 即可。即可。55KEYTAB DB 7EH,7DH,0BDH,0DDH,7BH,0BBH,0DBH,77H,KEYTAB DB 7EH,7DH,0BDH,0DDH,7BH,0BBH,0DBH,77H,DB 0B7H
47、,0D7H,0E7H,0EBH,0EDH,0EEH,0DE,0BEH DB 0B7H,0D7H,0E7H,0EBH,0EDH,0EEH,0DE,0BEH MOV DX MOV DX,OFFSET IBF OFFSET IBF ;键盘键入六位十进制数键盘键入六位十进制数 MOV AH MOV AH,1010 INT 21H INT 21HLOP1LOP1:MOV DX,380H MOV DX,380H ;检测是否有键按下检测是否有键按下 MOV AL MOV AL,0 0 OUT DX,AL OUT DX,AL MOV DX,384H MOV DX,384H IN AL,DX IN AL,DX
48、AND AL,0F0H AND AL,0F0H CMP AL,0F0H CMP AL,0F0H JE LOP1 ;JE LOP1 ;无键按下无键按下3.4 3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用56 MOV BX,0 ;MOV BX,0 ;数据区的位移量送至数据区的位移量送至BXBX MOV AH,77H ;MOV AH,77H ;检测键盘的行的输出值检测键盘的行的输出值0111B0111BLOP2LOP2:MOV DX,380H MOV DX,380H ;检测键盘的第一行检测键盘的第一行 MOV AL MOV AL,AHAH OUT DX,AL OUT DX,AL MOV
49、DX,384H MOV DX,384H IN AL,DX IN AL,DX AND AL,0F0H AND AL,0F0H CMP AL,0F0H CMP AL,0F0H JNE LOP3 JNE LOP3 ROR AH,1 ;ROR AH,1 ;该行无键闭合检测另一行该行无键闭合检测另一行 JMP LOP2 JMP LOP2LOP3LOP3:AND AH,0FHAND AH,0FH OR AL,AH OR AL,AH ;闭合键的列值与行值组合编码;闭合键的列值与行值组合编码3.4 3.4 寄存器和缓冲器接口的应用寄存器和缓冲器接口的应用57LOP4LOP4:CMP AL,KEYTABBX C
50、MP AL,KEYTABBX ;将闭合键的编码转换为该键;将闭合键的编码转换为该键 JE LOP5 JE LOP5 代表的十六进制数字代表的十六进制数字 INC BX INC BX JMP LPO4JMP LPO4LOP5LOP5:ADD BL,30H ;ADD BL,30H ;将十六进制数转换为将十六进制数转换为ASCIIASCII码码 CMP BL,3AH BX CMP BL,3AH BX(BL)BL)是该代码的地址偏移是该代码的地址偏移 JC LOP6 JC LOP6 量,即其对应的数码。量,即其对应的数码。ADD BL,7 ADD BL,7LOP6LOP6:MOV DL,BLMOV D