输入输出接口精.ppt
输入输出接口第1页,本讲稿共95页第2页,本讲稿共95页 用户对寄存器用户对寄存器FFFF写入的内容称为命写入的内容称为命令字或令字或方式控制字方式控制字,而寄存器,而寄存器FFFF称为称为命令寄存器命令寄存器,相应的端口称为,相应的端口称为命令端命令端口或控制端口,口或控制端口,对可编程芯片对可编程芯片初始化初始化过程实际上就是对芯片的控制端口写过程实际上就是对芯片的控制端口写入各种命令字的操作过程。入各种命令字的操作过程。第3页,本讲稿共95页并行接口电路:并行接口电路:并行接口电路:并行接口电路:n n微处理器与微处理器与微处理器与微处理器与I/OI/OI/OI/O设备进行数据传输时均需经过接口设备进行数据传输时均需经过接口设备进行数据传输时均需经过接口设备进行数据传输时均需经过接口电路实现系统与设备互连的匹配。电路实现系统与设备互连的匹配。电路实现系统与设备互连的匹配。电路实现系统与设备互连的匹配。n n并行接口电路中每个信息位有自己的传输线,一个并行接口电路中每个信息位有自己的传输线,一个并行接口电路中每个信息位有自己的传输线,一个并行接口电路中每个信息位有自己的传输线,一个数据字节各位可并行传送,速度快,控制简单。由数据字节各位可并行传送,速度快,控制简单。由数据字节各位可并行传送,速度快,控制简单。由数据字节各位可并行传送,速度快,控制简单。由于电气特性的限制,传输距离不能太长。于电气特性的限制,传输距离不能太长。于电气特性的限制,传输距离不能太长。于电气特性的限制,传输距离不能太长。n n8255A8255A8255A8255A是通用的可编程并行接口芯片,功能强,是通用的可编程并行接口芯片,功能强,是通用的可编程并行接口芯片,功能强,是通用的可编程并行接口芯片,功能强,使用灵活。适合一些并行输入使用灵活。适合一些并行输入使用灵活。适合一些并行输入使用灵活。适合一些并行输入/输出设备的使输出设备的使输出设备的使输出设备的使用。用。用。用。第4页,本讲稿共95页7.1 7.1 可编程并行输入输出接口芯片可编程并行输入输出接口芯片8255A8255A一、功能一、功能一、功能一、功能 8255A(8155A)8255A(8155A)8255A(8155A)8255A(8155A)是是是是一一一一种种种种通通通通用用用用的的的的可可可可编编编编程程程程并并并并行行行行I I I IO O O O接接接接口口口口芯芯芯芯片片片片,广广广广泛泛泛泛用用用用于于于于几几几几乎乎乎乎所所所所有有有有系系系系列列列列的的的的微微微微型型型型机机机机系系系系统统统统中中中中,如如如如8086808680868086、MCS51MCS51MCS51MCS51、Z80CPUZ80CPUZ80CPUZ80CPU系系系系统统统统等等等等。8255A8255A8255A8255A具具具具有有有有3 3 3 3个个个个带带带带锁锁锁锁存存存存或或或或缓缓缓缓冲冲冲冲的的的的数数数数据据据据端端端端口口口口,可可可可与与与与外外外外设设设设并并并并行行行行进进进进行行行行数数数数据据据据交交交交换换换换。用用用用户户户户可可可可用用用用程程程程序序序序来来来来选选选选择择择择多多多多种种种种操操操操作作作作方方方方式式式式,通通通通用用用用性性性性强强强强。使使使使用用用用灵灵灵灵活活活活,可可可可为为为为CPUCPUCPUCPU与外设之间提供并行输入输出通道。与外设之间提供并行输入输出通道。与外设之间提供并行输入输出通道。与外设之间提供并行输入输出通道。第5页,本讲稿共95页二、二、8255 8255引脚及内部结构引脚及内部结构1 1、8255A8255A的引脚的引脚8255825582558255有有有有40404040个个个个引引引引脚脚脚脚,采采采采用用用用双双双双列列列列直直直直插插插插式式式式封封封封装装装装形形形形式式式式。其其其其引引引引脚如图所示。脚如图所示。脚如图所示。脚如图所示。第6页,本讲稿共95页二、二、8255A的内部结构的内部结构数据数据总线总线缓冲器缓冲器内部控制线内部控制线内部数据线内部数据线D0D7A组组控制控制A组组端口端口AA组组端口端口C上部上部B组组控制控制B组组端口端口BB组组端口端口C下部下部读写读写控制控制逻辑逻辑PC0PC3PB0PB7PC4PC7PA0PA7RDWRA0A1CSRESET第7页,本讲稿共95页 1 1 1 1、与外设连接的管脚、与外设连接的管脚、与外设连接的管脚、与外设连接的管脚 我们已经知道我们已经知道我们已经知道我们已经知道8255A8255A8255A8255A有三个数据端口,每个端口有三个数据端口,每个端口有三个数据端口,每个端口有三个数据端口,每个端口是是是是8 8 8 8位的,由此可推算与外设相连接的管脚共有位的,由此可推算与外设相连接的管脚共有位的,由此可推算与外设相连接的管脚共有位的,由此可推算与外设相连接的管脚共有24242424位。位。位。位。其中其中其中其中A A A A口有口有口有口有PAPAPAPA7 7 7 7PAPAPAPA0 0 0 0八个八个八个八个I/OI/OI/OI/O引脚,引脚,引脚,引脚,B B B B口有口有口有口有PBPBPBPB7 7 7 7PBPBPBPB0 0 0 0八个八个八个八个I/OI/OI/OI/O引脚,引脚,引脚,引脚,C C C C口有口有口有口有PCPCPCPC7 7 7 7PCPCPCPC0 0 0 0八个八个八个八个I/OI/OI/OI/O引脚。特别地对于引脚。特别地对于引脚。特别地对于引脚。特别地对于PCPCPCPC7 7 7 7PCPCPCPC0 0 0 0,其中可有若干根复用线可用于,其中可有若干根复用线可用于,其中可有若干根复用线可用于,其中可有若干根复用线可用于“联络联络联络联络”信信信信号或状态信号,其具体定义与端口的工作方式有关。号或状态信号,其具体定义与端口的工作方式有关。号或状态信号,其具体定义与端口的工作方式有关。号或状态信号,其具体定义与端口的工作方式有关。第8页,本讲稿共95页PA0PA7PB0PB7PC0PC7第9页,本讲稿共95页n n端口A:PA0PA7uuA组,支持工作方式0、1、2n n端口B:PB0PB7uuB组,支持工作方式0、1n n端口C:PC0PC7uu仅支持工作方式0uuA组控制高4位PC4PC7uuB组控制低4位PC0PC3n n端口端口A:PA0 0PA7 7uu常作数据端口,功能最强大常作数据端口,功能最强大常作数据端口,功能最强大常作数据端口,功能最强大n n端口端口B:PB0 0PB7 7uu常作数据端口常作数据端口常作数据端口常作数据端口n n端口端口C:PC0 0PC7 7uu可作数据、状态和控制端口可作数据、状态和控制端口可作数据、状态和控制端口可作数据、状态和控制端口uu分两个分两个分两个分两个4 4位,每位可独立操作位,每位可独立操作位,每位可独立操作位,每位可独立操作uu控制最灵活,最难掌握控制最灵活,最难掌握控制最灵活,最难掌握控制最灵活,最难掌握第10页,本讲稿共95页 2 2、与、与CPUCPU连接的管脚连接的管脚 包括数据线包括数据线D D7 7D D0 0,读写控制线和,复位,读写控制线和,复位线线RESETRESET,以及和,以及和CPUCPU地址线相连接的片选信地址线相连接的片选信号、端口地址控制线号、端口地址控制线A A0 0和和A A1 1。CS*A1A0CS*A1A0I/OI/O地地址址读操作读操作RD*RD*写操作写操作WR*WR*00000000100101001001101160H60H61H61H62H62H63H63H读端口读端口A A读端口读端口B B读端口读端口C C非法非法写端口写端口A A写端口写端口B B写端口写端口C C写控制字写控制字n nD0 D7D0 D7D0 D7D0 D7数据线数据线数据线数据线A0 A1A0 A1A0 A1A0 A1地址线地址线地址线地址线n nRD*RD*RD*RD*读信号读信号读信号读信号WR*WR*WR*WR*写信号写信号写信号写信号n nCS*CS*CS*CS*片选信号片选信号片选信号片选信号RESETRESETRESETRESET复位信号复位信号复位信号复位信号第11页,本讲稿共95页8255A8255A端口选择及操作功能表端口选择及操作功能表第12页,本讲稿共95页D0D7A0A1/CS/WR/RDRESET第13页,本讲稿共95页三、三、8255A8255A的控制字的控制字8255A8255A可以通过指令在控制端口中设置控制可以通过指令在控制端口中设置控制字来决定它的工作。字来决定它的工作。8255A 8255A的控制字有两的控制字有两个,共用一个地址,根据个,共用一个地址,根据D7D7位的值来区分。位的值来区分。控制字分为两类:控制字分为两类:1.1.方式选择控制字方式选择控制字2.C2.C口置位口置位/复位控制字复位控制字 第14页,本讲稿共95页1D6D5D4D3D2D1D0方式选择控方式选择控制字标识位制字标识位A组方式选择组方式选择00 方式方式001 方式方式11x 方式方式2端口端口A1 输入输入0 输出输出 PC3PC0:1 输入输入 (方式(方式0时)时)0 输出输出端口端口B:1 输入输入 0 输出输出B组方式选择:组方式选择:0 方式方式0 1 方式方式1 PC7PC4:1 输入输入(方式(方式0时)时)0 输出输出 第15页,本讲稿共95页 8255A 8255A的工作方式可由的工作方式可由CPUCPU写一个工作方式选写一个工作方式选择控制字到择控制字到8255A8255A的控制寄存器来选择。的控制寄存器来选择。其格式如上图所示,可以分别选择端口其格式如上图所示,可以分别选择端口A A、端口、端口B B和端口和端口C C上下两部分的工作方式。端口上下两部分的工作方式。端口A A有方式有方式0 0、方式方式1 1和方式和方式2 2三种工作方式,端口三种工作方式,端口B B只能工作于方只能工作于方式式0 0和方式和方式1 1,而端口,而端口C C仅工作于方式仅工作于方式0 0。注意。注意8255A8255A工作方式选择控制字的工作方式选择控制字的最高位最高位D D7 7(特征位特征位)应为应为1 1。第16页,本讲稿共95页0D6D5D4D3D2D1D0 xxx无关无关 1:置置1 0:置置000001111端口端口C按位置按位置1/置置0控制字标识位控制字标识位位选择位选择PC0PC1PC2PC3PC4PC5PC6PC700110011010101018255A8255A的的C C口按位置位口按位置位/复位控制字复位控制字第17页,本讲稿共95页8255A8255A的的C C口具有位控功能,即端口口具有位控功能,即端口C C的的8 8位中的任一位中的任一位都可通过位都可通过CPUCPU向向8255A8255A的控制寄存器写入一个按位的控制寄存器写入一个按位置位置位/复位控制字来置复位控制字来置1 1或清或清0 0,而,而C C口中其他位的状口中其他位的状态不变。态不变。其格式如上图所示,注意其格式如上图所示,注意8255A8255A的的C C口按位置位口按位置位/复位控制复位控制字的字的最高位最高位D D7 7(特征位特征位)应为应为0 0。第18页,本讲稿共95页n n例如:设有一片例如:设有一片例如:设有一片例如:设有一片8255A8255A的口地址为的口地址为的口地址为的口地址为60H-63H60H-63H,PC5PC5平时为低电平,要求从平时为低电平,要求从平时为低电平,要求从平时为低电平,要求从PC5PC5的引脚输出一个正脉冲。的引脚输出一个正脉冲。的引脚输出一个正脉冲。的引脚输出一个正脉冲。可使用程序先将可使用程序先将可使用程序先将可使用程序先将PC5PC5置置置置1 1,输出一个高电平,再把,输出一个高电平,再把,输出一个高电平,再把,输出一个高电平,再把PC5PC5清零,输出一个低电平,结果清零,输出一个低电平,结果清零,输出一个低电平,结果清零,输出一个低电平,结果PC5PC5引脚输出一引脚输出一引脚输出一引脚输出一个正脉冲。程序如下:个正脉冲。程序如下:个正脉冲。程序如下:个正脉冲。程序如下:n nMOVAL,00001011BMOVAL,00001011Bn nOUT63H,ALOUT63H,ALn nMOVAL,000001010BMOVAL,000001010Bn nOUT63H,ALOUT63H,AL第19页,本讲稿共95页四、四、8255A 8255A的工作方式及编程的工作方式及编程8255A8255A端口功能表端口功能表工作方式方式0A口B口C口方式1方式2基本输入输出端口输入不锁存,输出锁存同A口同A口应答式输入输出端口输入输出均可锁存双向应答式输入输出,输入输出均可锁存同A口不用上C口作为应答式A口的应答线;下C口作为应答式B口的应答线用作A口的双向应答控制线三种可编程的工作方式:三种可编程的工作方式:方式方式0基本基本的字节的字节输入输入/输出方式输出方式方式方式1选通选通的字节的字节输入输入/输出方式输出方式方式方式2带选通的带选通的双向双向字节字节输入输入/输出方式输出方式第20页,本讲稿共95页n n 8255A8255A8255A8255A有三种工作方式:有三种工作方式:有三种工作方式:有三种工作方式:n n方式方式方式方式0 0 0 0 基本输入基本输入基本输入基本输入/输出方式输出方式输出方式输出方式n n方式方式方式方式1 1 1 1 选通输入选通输入选通输入选通输入/输出方式输出方式输出方式输出方式n n方式方式方式方式2 2 2 2 双向传输方式双向传输方式双向传输方式双向传输方式n n 可以通过往控制寄存器中写入控制字来选择其工作可以通过往控制寄存器中写入控制字来选择其工作可以通过往控制寄存器中写入控制字来选择其工作可以通过往控制寄存器中写入控制字来选择其工作方式。方式。方式。方式。n n方式方式方式方式0 0 0 0:基本输入输出方式基本输入输出方式基本输入输出方式基本输入输出方式uu适用于无条件传送和查询方式的接口电路适用于无条件传送和查询方式的接口电路适用于无条件传送和查询方式的接口电路适用于无条件传送和查询方式的接口电路n n方式方式方式方式1 1 1 1:选通输入输出方式选通输入输出方式选通输入输出方式选通输入输出方式uu适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路n n方式方式方式方式2 2 2 2:双向选通传送方式双向选通传送方式双向选通传送方式双向选通传送方式uu适用于与双向传送数据的外设适用于与双向传送数据的外设适用于与双向传送数据的外设适用于与双向传送数据的外设uu适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路第21页,本讲稿共95页n n1 1 1 1、8255A8255A8255A8255A工作在方式工作在方式工作在方式工作在方式0 0 0 0n n方式方式方式方式0 0 0 0也叫基本输入输出方式。也叫基本输入输出方式。也叫基本输入输出方式。也叫基本输入输出方式。n n在这种方式下,端口在这种方式下,端口在这种方式下,端口在这种方式下,端口A A A A和端口和端口和端口和端口B B B B可以通过方式选择控制可以通过方式选择控制可以通过方式选择控制可以通过方式选择控制字规定为输入口或者输出口;字规定为输入口或者输出口;字规定为输入口或者输出口;字规定为输入口或者输出口;n n端口端口端口端口C C C C分为高分为高分为高分为高4 4 4 4位位位位(PC7(PC7(PC7(PC7PC4)PC4)PC4)PC4)和低和低和低和低4 4 4 4位位位位(PC3(PC3(PC3(PC3PC0)PC0)PC0)PC0)两个两个两个两个4 4 4 4位端口,这两个位端口,这两个位端口,这两个位端口,这两个4 4 4 4位端口也可由方式选择控位端口也可由方式选择控位端口也可由方式选择控位端口也可由方式选择控制字分别规定为输入口或输出口。制字分别规定为输入口或输出口。制字分别规定为输入口或输出口。制字分别规定为输入口或输出口。n n这四个并行口共可构成这四个并行口共可构成这四个并行口共可构成这四个并行口共可构成16161616种不同的使用组态。种不同的使用组态。种不同的使用组态。种不同的使用组态。n n利用利用利用利用8255A8255A8255A8255A的方式的方式的方式的方式0 0 0 0进行数据传输时,由于没有规进行数据传输时,由于没有规进行数据传输时,由于没有规进行数据传输时,由于没有规定专门的应答信号,所以这种方式常用于与简单定专门的应答信号,所以这种方式常用于与简单定专门的应答信号,所以这种方式常用于与简单定专门的应答信号,所以这种方式常用于与简单外设之间的数据传送,如向外设之间的数据传送,如向外设之间的数据传送,如向外设之间的数据传送,如向LEDLEDLEDLED显示器的输出,从显示器的输出,从显示器的输出,从显示器的输出,从二进制开关装置的输入等。二进制开关装置的输入等。二进制开关装置的输入等。二进制开关装置的输入等。第22页,本讲稿共95页需要说明的是,这里所说的输入或输出是相对于需要说明的是,这里所说的输入或输出是相对于8255A8255A芯片芯片而言的。当数据从外设送往而言的。当数据从外设送往8255A8255A时为输入,反之,数据从时为输入,反之,数据从8255A8255A送往外设则为输出。送往外设则为输出。方式方式0 0也可以用于查询方式的输入或输出接口电路,此时端口也可以用于查询方式的输入或输出接口电路,此时端口A A和和B B分别作为一个数据端口,而用端口分别作为一个数据端口,而用端口C C的某些位作为这两个的某些位作为这两个数据端口的控制和状态信息。下图是一个数据端口的控制和状态信息。下图是一个A A口和口和B B口工作在方口工作在方式式0 0时利用时利用C C口某些位作为联络信号的接口电路。口某些位作为联络信号的接口电路。在此例中将在此例中将8255A8255A设置为:设置为:A A口输出,口输出,B B口输入,口输入,C C口高口高4 4位输入位输入(现仅用现仅用PC7PC7、PC6PC6两位输入外设的状态两位输入外设的状态),C C口低口低4 4位输出位输出(现仅现仅用用PC1PC1、PC0PC0两位输出选通及清除信号两位输出选通及清除信号)。此时。此时8255A8255A的工作方的工作方式控制字为式控制字为10001010B(8AH)10001010B(8AH)。第23页,本讲稿共95页方式方式0查询方式的接口电路查询方式的接口电路第24页,本讲稿共95页其工作原理如下:其工作原理如下:在向输出设备送数据前,先通过在向输出设备送数据前,先通过PC7PC7查询设备状态,查询设备状态,若设备准备好则从若设备准备好则从A A口送出数据,然后通过口送出数据,然后通过PC1PC1发选通信发选通信号使输出设备接收数据。号使输出设备接收数据。从输入设备取数据前,先通过从输入设备取数据前,先通过PC6PC6查询设备状查询设备状态,设备准备好后,再从态,设备准备好后,再从B B口读入数据,然后通过口读入数据,然后通过PC0PC0发清除信号,以便输入后续字节。发清除信号,以便输入后续字节。第25页,本讲稿共95页2.2.方式方式1 1选通的输入输出方式选通的输入输出方式 特点特点:(1 1)两组端口)两组端口A A和和B B都可以工作在方式都可以工作在方式1 1,每一组包含一个,每一组包含一个8 8位的数据端口和一个位的数据端口和一个3 3位的控制端口。位的控制端口。(2 2)8 8位数据端口可以是输入或者输出,输入位数据端口可以是输入或者输出,输入/出均带出均带锁存。锁存。(3 3)C C口有口有6 6位固定作为位固定作为A A口、口、B B口的状态和控制信口的状态和控制信号,剩下号,剩下2 2位可由程序指定为输入和输出。位可由程序指定为输入和输出。第26页,本讲稿共95页在在方式方式1输入输入情况下,情况下,C口被定义的状态和控制信号有口被定义的状态和控制信号有、IBF和和INTR,其含义如下:其含义如下:选通信号,选通信号,低电平有效,低电平有效,由外设提供。由外设提供。有效时,外设把数据送入有效时,外设把数据送入8255A的的A口或口或B口。口。IBF:输入缓冲器满,高电平有效,由:输入缓冲器满,高电平有效,由8255A输出给外设。当输出给外设。当该信号有效时表明该信号有效时表明第27页,本讲稿共95页数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7PA0INTEAIBFAINTRASTBA中断允许触发器第28页,本讲稿共95页外设已将数据送到外设已将数据送到A口或口或B口的输入缓冲器。口的输入缓冲器。IBF由由置位,置位,的上升沿使它复位。的上升沿使它复位。IBF可作为可作为8255A与外设的联络信号。当与外设的联络信号。当IBF=0时,时,允许外设向允许外设向8255A传送一个数据;传送一个数据;当当IBF=1时,表时,表示外设送来的数据还未被示外设送来的数据还未被CPU取走,这时禁止外设取走,这时禁止外设向向8255A传送数据。传送数据。IBF也可作为也可作为CPU的查询信号,的查询信号,当当IBF=1时,告诉时,告诉CPU应该从应该从8255A的端口读取数据。的端口读取数据。第29页,本讲稿共95页INTR:中断请求信号,高电平有效,由:中断请求信号,高电平有效,由8255A发出。发出。在程序设置的中断允许信号在程序设置的中断允许信号INTE=1的条件下,当的条件下,当=1和和IBF=1时,时,INTR被置为被置为1,的上升沿使它复的上升沿使它复位。位。INTE是端口内部的中断允许信号,是内部中断允许是端口内部的中断允许信号,是内部中断允许触发器的状态,由触发器的状态,由C口的位控字来设置。若位控字使口的位控字来设置。若位控字使PC4=1,则,则A口的中断允许信号口的中断允许信号INTEA=1;若位控字;若位控字PC2=1,则,则B口的中断允许信号口的中断允许信号INTB=1。这一点对于。这一点对于PC4和和PC2两两引的引的、功能并无影响。功能并无影响。第30页,本讲稿共95页方式方式1 1输入引脚:输入引脚:B B端口端口PC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB数据选通信号数据选通信号表示外设已经准备好数表示外设已经准备好数据据输入缓冲器满信号输入缓冲器满信号表示表示A口已经接收数据口已经接收数据中断请求信号中断请求信号请求请求CPU接收数据接收数据中断允许触发器中断允许触发器方式方式1 1需借用端口需借用端口C C用做联络信号用做联络信号同时还具有中断请求和屏蔽功能同时还具有中断请求和屏蔽功能第31页,本讲稿共95页方式方式1 1输入联络信号输入联络信号n nSTB*STB*STB*STB*选通信号,低电平有效选通信号,低电平有效选通信号,低电平有效选通信号,低电平有效uu由外设提供的输入信号,当其有效时,将输入设由外设提供的输入信号,当其有效时,将输入设由外设提供的输入信号,当其有效时,将输入设由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至备送来的数据锁存至备送来的数据锁存至备送来的数据锁存至8255A8255A8255A8255A的输入锁存器的输入锁存器的输入锁存器的输入锁存器n nIBFIBFIBFIBF输入缓冲器满信号,高电平有效输入缓冲器满信号,高电平有效输入缓冲器满信号,高电平有效输入缓冲器满信号,高电平有效uu8255A8255A8255A8255A输出的联络信号。当其有效时,表示数据已输出的联络信号。当其有效时,表示数据已输出的联络信号。当其有效时,表示数据已输出的联络信号。当其有效时,表示数据已锁存在输入锁存器锁存在输入锁存器锁存在输入锁存器锁存在输入锁存器n nINTRINTRINTRINTR中断请求信号,高电平有效中断请求信号,高电平有效中断请求信号,高电平有效中断请求信号,高电平有效uu8255A8255A8255A8255A输出的信号,可用于向输出的信号,可用于向输出的信号,可用于向输出的信号,可用于向CPUCPUCPUCPU提出中断请求,提出中断请求,提出中断请求,提出中断请求,要求要求要求要求CPUCPUCPUCPU读取外设数据读取外设数据读取外设数据读取外设数据第32页,本讲稿共95页方式方式1 1输入的时序输入的时序第33页,本讲稿共95页方式方式1 1输出时,各个控制信号的意义输出时,各个控制信号的意义OBF(Output Buffer Full)OBF(Output Buffer Full):输出缓冲器满信号,输出,:输出缓冲器满信号,输出,低电平有效。当低电平有效。当CPUCPU把数据写入端口把数据写入端口A A或或B B的输出缓冲器的输出缓冲器时,写信号时,写信号WRWR的上升沿把的上升沿把OBFOBF置成低电平,通知外设到置成低电平,通知外设到端口端口A A或或B B来取走数据,当外设取走数据时向来取走数据,当外设取走数据时向8255A8255A发应发应答信号答信号ACKACK,ACKACK的下降沿使的下降沿使OBFOBF恢复为高电平。恢复为高电平。第34页,本讲稿共95页ACK(Acknowledge)ACK(Acknowledge):外设应答信号,输入,低电平有效。:外设应答信号,输入,低电平有效。当当ACKACK有效时,表示有效时,表示CPUCPU输出到输出到8255A8255A的数据已被外设取的数据已被外设取走。走。INTR(Interrupt Request)INTR(Interrupt Request):中断请求信号,输出,:中断请求信号,输出,高电平有效。该信号由高电平有效。该信号由ACKACK的后沿的后沿(上升沿上升沿)在在INTE=1INTE=1且且OBF=1OBF=1的条件下产生,该信号使的条件下产生,该信号使8255A8255A向向CPUCPU发出中断请求。若发出中断请求。若CPUCPU响应此中断请求,则向响应此中断请求,则向数据口写入一数据口写入一方式方式1 1输出时,各个控制信号的意义输出时,各个控制信号的意义第35页,本讲稿共95页新的数据,写信号新的数据,写信号WRWR上升沿上升沿(后沿后沿)使使INTRINTR复位,变为低复位,变为低电平。电平。INTE(Interrupt Enable)INTE(Interrupt Enable):中断允许信号,与方式:中断允许信号,与方式1 1输入输入类似,端口类似,端口A A的输出中断请求的输出中断请求INTRINTRA A可以通过对可以通过对PCPC6 6的置的置位或复位来加以允许或禁止。端口位或复位来加以允许或禁止。端口B B的输出中断请求的输出中断请求信号信号INTRINTRB B可以通过对可以通过对PCPC2 2的置位或复位来加以允许或禁的置位或复位来加以允许或禁止。止。方式方式1 1输出时,各个控制信号的意义输出时,各个控制信号的意义第36页,本讲稿共95页方式方式1 1输出引脚:输出引脚:A A端口端口外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7PA0INTEAOBFAINTRAACKA中断允许触发器第37页,本讲稿共95页PC2PC1PC0PB7PB0INTEBOBFBINTRBACKB外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器方式方式1 1输出引脚:输出引脚:B B端口端口第38页,本讲稿共95页 方式方式方式方式1 1 1 1输出的时序输出的时序输出的时序输出的时序 第39页,本讲稿共95页 3 3方式方式2 2双向传输方式双向传输方式此方式只适用于端口此方式只适用于端口A A。这时,在。这时,在PAPA0 0PAPA7 7的的8 8位数据线上,位数据线上,外设既可以从外设既可以从8255A8255A获取数据;也可以向获取数据;也可以向8255A8255A发送数据。发送数据。传输过程既可以工作于查询方式,也可以工作于中断方传输过程既可以工作于查询方式,也可以工作于中断方式。式。方式方式2 2的主要特点的主要特点(1 1)仅限于端口)仅限于端口A A。(2 2)一个双向)一个双向8 8位数据总线端口位数据总线端口A A和一个和一个5 5位的控制位的控制/状态端口状态端口C C。(3 3)输入输入/输出均锁存。输出均锁存。第40页,本讲稿共95页n n方式方式方式方式2 2 2 2将方式将方式将方式将方式1 1 1 1的选通输入输出功能组合成一个双向数据的选通输入输出功能组合成一个双向数据的选通输入输出功能组合成一个双向数据的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据端口,可以发送数据和接收数据端口,可以发送数据和接收数据端口,可以发送数据和接收数据n n只有端口只有端口只有端口只有端口A A A A可以工作于方式可以工作于方式可以工作于方式可以工作于方式2 2 2 2,需要利用端口,需要利用端口,需要利用端口,需要利用端口C C C C的的的的5 5 5 5个信号个信号个信号个信号线,其作用与方式线,其作用与方式线,其作用与方式线,其作用与方式1 1 1 1相同相同相同相同n n方式方式方式方式2 2 2 2的数据输入过程与方式的数据输入过程与方式的数据输入过程与方式的数据输入过程与方式1 1 1 1的输入方式一样的输入方式一样的输入方式一样的输入方式一样n n方式方式方式方式2 2 2 2的数据输出过程与方式的数据输出过程与方式的数据输出过程与方式的数据输出过程与方式1 1 1 1的输出方式有一点不同:的输出方式有一点不同:的输出方式有一点不同:的输出方式有一点不同:数据输出时数据输出时数据输出时数据输出时8255A8255A8255A8255A不是在不是在不是在不是在OBF*OBF*OBF*OBF*有效时向外设输出数据,有效时向外设输出数据,有效时向外设输出数据,有效时向外设输出数据,而是在外设提供响应信号而是在外设提供响应信号而是在外设提供响应信号而是在外设提供响应信号ACK*ACK*ACK*ACK*时才送出数据时才送出数据时才送出数据时才送出数据第41页,本讲稿共95页n n方式方式方式方式2 2的控制和状态信息的控制和状态信息的控制和状态信息的控制和状态信息D711/01/01/01工作方式控制字D6D5D4D3D2D1D0第42页,本讲稿共95页 方式方式方式方式2 2 2 2的控制和状态信息的控制和状态信息的控制和状态信息的控制和状态信息第43页,本讲稿共95页8255A工作于方式工作于方式2的状态字的状态字第44页,本讲稿共95页当当A A口工作于方式口工作于方式2 2时,允许中断,此时若时,允许中断,此时若B B口工作口工作于方式于方式1 1,则也允许中断。,则也允许中断。这时就有三个中断源这时就有三个中断源(A A口的输入和输出、口的输入和输出、B B口)、两个中断请求信号口)、两个中断请求信号(INTRAINTRA、INTRBINTRB)。)。CPU CPU在响应在响应8255A8255A的中断请求的中断请求时,先要查询时,先要查询PCPC3 3(INTRAINTRA)和)和PCPC0 0(INTRBINTRB),以判断),以判断中断源是中断源是A A口还是口还是B B口。如果中断源是口。如果中断源是A A口,口,还要进还要进一步查询一步查询PCPC5 5(IBFAIBFA)和)和PCPC7 7(),),以确以确定是输入中断还是输出中断。定是输入中断还是输出中断。8255A 8255A的工作方式的工作方式2 2是是A A口方式口方式1 1输出和方式输出和方式1 1输入两种操作的组合,所输入两种操作的组合,所以方式以方式2 2的工作过程也同上述工作方式的工作过程也同上述工作方式1 1的输出和输的输出和输入过程。入过程。第45页,本讲稿共95页INTRWROBFAACKA送外设的数据数据有效1234STBA97IBFARD方式方式方式方式2 2的时序的时序的时序的时序第46页,本讲稿共95页8255A8255A的编程的编程n n初始化编程:一个方式控制字初始化编程:一个方式控制字初始化编程:一个方式控制字初始化编程:一个方式控制字uu采用控制采用控制采用控制采用控制I/OI/OI/OI/O地址:地址:地址:地址:A1A0A1A0A1A0A1A011111111n n工作过程中:通过数据端口对外设数据进行读写工作过程中:通过数据端口对外设数据进行读写工作过程中:通过数据端口对外设数据进行读写工作过程中:通过数据端口对外设数据进行读写uu数据读写利用端口数据读写利用端口数据读写利用端口数据读写利用端口A A A A、B B B B和和和和C C C C的的的的I/OI/OI/OI/O地址,地址,地址,地址,A1A0A1A0A1A0A1A0依依依依次等于次等于次等于次等于00000000、01010101、10101010n nIBM PC/XTIBM PC/XTIBM PC/XTIBM PC/XT机上,端口机上,端口机上,端口机上,端口A A A A、B B B B、C C C C和控制端口的和控制端口的和控制端口的和控制端口的I/OI/OI/OI/O地址地址地址地址为为为为60H60H60H60H、61H61H61H61H、62H62H62H62H和和和和63H63H63H63H第47页,本讲稿共95页1.1.写入方式控制字:控制字格式写入方式控制字:控制字格式第48页,本讲稿共95页1.1.写入方式控制字:示例写入方式控制字:示例n n要求:要求:要求:要求:uuA A A A端口:方式端口:方式端口:方式端口:方式1 1 1 1输入输入输入输入uuC C C C端口上半部:输出,端口上半部:输出,端口上半部:输出,端口上半部:输出,C C C C口下半部:输入口下半部:输入口下半部:输入口下半部:输入uuB B B B端口:方式端口:方式端口:方式端口:方式0 0 0 0输出输出输出输出n n方式控制字:方式控制字:方式控制字:方式控制字:10110001B10110001B10110001B10110001B或或或或B1HB1HB1HB1Hn n初始化的程序段:初始化的程序段:初始化的程序段:初始化的程序段:n nmov dx,0fffehmov dx,0fffehmov dx,0fffehmov dx,0fffeh;假设控制端口为假设控制端口为假设控制端口为假设控制端口为FFFEHFFFEHFFFEHFFFEHn nmov al,0b1hmov al,0b1hmov al,0b1hmov al,0b1h;方式控制字方式控制字方式控制字方式控制字n nout dx,alout dx,alout dx,alout dx,al;送到控制端口送到控制端口送到控制端口送到控制端口第49页,本讲稿共95页2.2.读写数据端口读写数据端口n n初始化编程后:初始化编程后:初始化编程后:初始化编程后:uu当数据端口作为输入接口时,执行输入当数据端口作为输入接口时,执行输入当数据端口作为输入接口时,执行输入当数据端口作为输入接口时,执行输入ININININ指令将指令将指令将指令将从输入设备得到外设数据从输入设备得到外设数据从输入设备得到外设数据从输入设备得到外设数据uu当数据端口作为输出接口时,执行输出当数据端口作为输出接口时,执行