版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、10.1 10.1 可编程并行输入输出接口芯片可编程并行输入输出接口芯片8255-A8255-A的结构的结构10.2 10.2 方式选择方式选择10.3 10.3 方式方式 0 0 的功能的功能10.4 10.4 方式方式 1 1 的功能的功能10.5 10.5 方式方式 2 2 的功能的功能10.6 825510.6 8255应用举例应用举例第第 10 10 章章 并行接口芯片并行接口芯片825582551当当CPUCPU要从外设输入信号或者输出信息给外设,可以采用要从外设输入信号或者输出信息给外设,可以采用程序查询方式、中断方式和程序查询方式、中断方式和DMADMA方式。但是,不论采用哪一
2、种方式。但是,不论采用哪一种方式,方式,CPUCPU总是通过接口电路总是通过接口电路(Interface)(Interface)才能与外设连接。所才能与外设连接。所以,接口电路一边与以,接口电路一边与CPUCPU连接,另一边与外设连接。连接,另一边与外设连接。在接口电路中,要有在接口电路中,要有: :输入输出数据的锁存器和缓冲器输入输出数据的锁存器和缓冲器; ; 要有状态要有状态( (如如ReadyReady,BusyBusy等等) )寄存器和控制命令的寄存器,以便于寄存器和控制命令的寄存器,以便于CPUCPU与接口电与接口电路之间采用应答方式路之间采用应答方式( (程序查询式程序查询式) )
3、来交换信息,也便于接口电来交换信息,也便于接口电路与外设之间传送信息。路与外设之间传送信息。接口电路中还要有端口的译码和控制电路,以及为了与接口电路中还要有端口的译码和控制电路,以及为了与CPUCPU用中断方式交换信息所需要的中断请求触发器、中断屏蔽用中断方式交换信息所需要的中断请求触发器、中断屏蔽触发器、中断优先权排队电路和能向触发器、中断优先权排队电路和能向CPUCPU发出中断矢量的电路发出中断矢量的电路等。等。这样,才能解决这样,才能解决CPUCPU的驱动能力问题、时序的配合问题以的驱动能力问题、时序的配合问题以及实现各种控制,保证及实现各种控制,保证CPUCPU能正确可靠地与外设交换信
4、息。能正确可靠地与外设交换信息。2随着大规模集成电路技术的发展,生产了许多通用的可编程序的接随着大规模集成电路技术的发展,生产了许多通用的可编程序的接口芯片。这些接口芯片按数据传送的方式可以分为并行接口和串行接口口芯片。这些接口芯片按数据传送的方式可以分为并行接口和串行接口两大类。本章讨论并行接口芯片。两大类。本章讨论并行接口芯片。通常并行接口芯片应该具有以下功能:通常并行接口芯片应该具有以下功能:(1) (1) 两个或两个以上具有锁存器或缓冲器的数据端口;两个或两个以上具有锁存器或缓冲器的数据端口;(2) (2) 每个数据端口都有与每个数据端口都有与CPUCPU用应答方式交换信号所必需的控制
5、和用应答方式交换信号所必需的控制和状态信息,也有与外设交换信息所必需的控制和状态信息;状态信息,也有与外设交换信息所必需的控制和状态信息;(3) (3) 通常每个数据端口还具有能用中断方式与通常每个数据端口还具有能用中断方式与CPUCPU交换信息所必需交换信息所必需的电路;的电路;(4) (4) 选片和控制电路;选片和控制电路; (5) (5) 通常这类接口芯片可用程序选择数据端口,选择端口的传送方通常这类接口芯片可用程序选择数据端口,选择端口的传送方向向( (输入或输出或双向输入或输出或双向) ),选择与,选择与CPUCPU交换信息的方法交换信息的方法( (查询或中断查询或中断) )等,故等
6、,故片中要有能实现这些选择的控制字寄存器,它可由片中要有能实现这些选择的控制字寄存器,它可由CPUCPU用输出指令来写入用输出指令来写入。所以,接口芯片在工作前必须要由所以,接口芯片在工作前必须要由CPUCPU用输出指令对它编程用输出指令对它编程初初始化,以规定它的工作方式。始化,以规定它的工作方式。 310.110.1可编程的并行输入输出接口芯片可编程的并行输入输出接口芯片8255A-58255A-5的结构的结构 Intel 8255A-5Intel 8255A-5是一个为是一个为80808080、80858085和和8086/80888086/8088微型计微型计算机系统设计的通用算机系统
7、设计的通用I/OI/O接口芯片。它可以用程序来改变功接口芯片。它可以用程序来改变功能,通用性强,使用灵活。通过它可以将能,通用性强,使用灵活。通过它可以将CPUCPU的总线直接接的总线直接接向外设。向外设。8255A8255A的方框图如图的方框图如图10-110-1所示。所示。 43. 8255A内部结构 数据总线数据总线缓冲器缓冲器读读/写写控制逻辑控制逻辑CSRESETA1RDWRPC7PC4PB7PB0PA7PA0端口端口A端口端口B数据数据总线总线 B组组控制控制A0 A组组控制控制端口端口C上半部分上半部分端口端口C下半部分下半部分PC3PC0CPU接口接口内部逻辑内部逻辑 外设接口
8、外设接口8位内部位内部数据总线数据总线8255A8255A由以下几个部分组成:由以下几个部分组成:1.1.三个三个8 8位数据端口位数据端口A A、B B、C C输入输出端口:输入输出端口: 每一个端口都可以选择作为输入或输出,但功能上有着每一个端口都可以选择作为输入或输出,但功能上有着不同的特点。不同的特点。(1) (1) 端口端口A A:一个:一个8 8位数据输出锁存器缓冲器和一个位数据输出锁存器缓冲器和一个8 8位数据输入锁存器。所以用端口位数据输入锁存器。所以用端口A A作为输入端口或输出端口作为输入端口或输出端口时,数据均被锁存。时,数据均被锁存。(2) (2) 端口端口B B:一个
9、:一个8 8位数据输出锁存器缓冲器和一个位数据输出锁存器缓冲器和一个8 8位数据输入锁存器。所以用端口位数据输入锁存器。所以用端口B B作为输入端口或输出端口作为输入端口或输出端口时,数据均被锁存。时,数据均被锁存。(3) (3) 端口端口C C:一个:一个8 8位数据输入缓冲器和一个位数据输入缓冲器和一个8 8位的数据位的数据输出锁存器缓冲器。所以端口输出锁存器缓冲器。所以端口C C作为输入端口时不能对数作为输入端口时不能对数据进行锁存,作为输出端口时能对数据进行锁存。据进行锁存,作为输出端口时能对数据进行锁存。通常端口通常端口A A或或B B作为输入输出的数据端口,而端口作为输入输出的数据
10、端口,而端口C C作为作为控制或状态信息的端口,在方式字的控制下,可以分成两个控制或状态信息的端口,在方式字的控制下,可以分成两个4 4位的端口,每个端口包含一个位的端口,每个端口包含一个4 4位锁存器,它们分别与端口位锁存器,它们分别与端口 A A和和B B配合使用,可以作为控制信号输出,或者作为状态信号配合使用,可以作为控制信号输出,或者作为状态信号输入。输入。62.A2.A组和组和B B组控制电路组控制电路这是两组根据这是两组根据CPUCPU的命令字控制的命令字控制8255A8255A工作方式的电路。工作方式的电路。它们有控制寄存器,接受它们有控制寄存器,接受CPUCPU输出的命令字,然
11、后分别决定输出的命令字,然后分别决定两组的工作方式,也可两组的工作方式,也可根据根据CPUCPU的命令字对端口的命令字对端口C C的每一位实的每一位实现按位现按位“复位复位”或或“置位置位”。 A A组控制电路控制端口组控制电路控制端口A A和端口和端口C C的上半部的上半部(PC7(PC7PC4)PC4)。B B组控制电路控制端口组控制电路控制端口B B和端口和端口C C的下半部的下半部(PC3(PC3PC0)PC0)。3.3.数据总线缓冲器数据总线缓冲器这是一个三态双向这是一个三态双向8 8位缓冲器,它是位缓冲器,它是8255A8255A芯片与系统数芯片与系统数据总线的接口。输入输出的数据
12、,输出的指令以及据总线的接口。输入输出的数据,输出的指令以及CPUCPU发出发出的控制字和外设的状态信息,也都是通过这个缓冲器传送的的控制字和外设的状态信息,也都是通过这个缓冲器传送的。 8255A 8255A的的D7D7D0D0通常是接在通常是接在1616位数据总线的低位数据总线的低8 8位上。位上。数数据缓冲用于匹配快速的处理器与相对慢速的外设或两个功能据缓冲用于匹配快速的处理器与相对慢速的外设或两个功能部件速度不匹配的数据交换。部件速度不匹配的数据交换。74.4.读读/ /写和控制逻辑写和控制逻辑它与它与CPUCPU的地址总线中的的地址总线中的A1A1、A0A0以及有关的控制信号以及有关
13、的控制信号(RD(RD,WRWR,RESETRESET,IO/M)IO/M)相连,由它控制把相连,由它控制把CPUCPU的控制命令或输的控制命令或输出数据送至相应的端口,也由它控制把外设的状态信息或输出数据送至相应的端口,也由它控制把外设的状态信息或输入数据通过相应的端口,送至入数据通过相应的端口,送至CPUCPU。5.5.一些控制命引脚一些控制命引脚(1) CS(Chip Select)(1) CS(Chip Select)选片信号,低电平有效,由选片信号,低电平有效,由它启动它启动CPUCPU与与8255A8255A芯片之间的通信芯片之间的通信(Communication)(Communi
14、cation)。(2) RD(2) RD读信号,低电平有效。它控制读信号,低电平有效。它控制8255A8255A送出数送出数据或状态信息至据或状态信息至CPUCPU。(3) WR(3) WR写信号,低电平有效。它控制把写信号,低电平有效。它控制把CPUCPU输出的输出的数据或命令信号写到数据或命令信号写到8255A8255A。(4) RESET(4) RESET复位信号,高电平有效。它清除控制寄复位信号,高电平有效。它清除控制寄存器,并且置所有端口存器,并且置所有端口(A(A、B B、C)C)为输入方式。为输入方式。 86.6.端口寻址端口寻址8255A8255A中有三个输入输出端口,另外,内
15、部还有一个控制中有三个输入输出端口,另外,内部还有一个控制字寄存器,共有四个端口,要有两个输入端来加以选择,这两字寄存器,共有四个端口,要有两个输入端来加以选择,这两个输入端通常接到地址总线的最低两位个输入端通常接到地址总线的最低两位A1A1和和A0A0。A1A1、A0A0、RDRD、WRWR及及CSCS组合所实现的各种功能,如表组合所实现的各种功能,如表10-110-1所所示。示。 9A A1 1A A0 0RDWRCS输入操作(读)输入操作(读)0 00 01 10 01 10 00 00 00 01 11 11 10 00 00 0端口端口AA数据总线数据总线端口端口BB数据总线数据总线
16、端口端口CC数据总线数据总线输出操作(写)输出操作(写)0 00 01 11 10 01 10 01 11 11 11 11 10 00 00 00 00 00 00 00 0数据总线数据总线端口端口A A数据总线数据总线端口端口B B数据总线数据总线端口端口C C数据总线数据总线控制字寄存器控制字寄存器无操作情况无操作情况X XX XX XX X1 1数据总线为三态(高阻)数据总线为三态(高阻)1 11 10 01 10 0非法状态非法状态X XX X1 11 10 0数据总线为三态(高阻)数据总线为三态(高阻)10.2 10.2 方方 式式 选选 择择 可编程并行接口可编程并行接口8255
17、A8255A有三种基本的工作方式:有三种基本的工作方式:(1) (1) 方式方式0(Mode 0)0(Mode 0)基本输入输出方式;基本输入输出方式; A A、B B、C C口口(2) (2) 方式方式1(Mode 1)1(Mode 1)选通输入输出方式;选通输入输出方式; A A、B B口口(3) (3) 方式方式2(Mode 2)2(Mode 2)双向传送方式。双向传送方式。 A A口口如图如图10-210-2所示,它们由所示,它们由CPUCPU输出的控制字来选择。输出的控制字来选择。101110.2.1 10.2.1 方式选择控制字方式选择控制字 可编程并行接口可编程并行接口8255A
18、8255A的工作方式,可由的工作方式,可由CPUCPU利用利用I/OI/O指指令输出一个控制字到令输出一个控制字到8255A8255A的控制字寄存器来选择。这个控的控制字寄存器来选择。这个控制命令字的格式如图制命令字的格式如图10-310-3所示。可以分别选择端口所示。可以分别选择端口A A和端口和端口B B的工作方式,端口的工作方式,端口C C分成两部分,上半部(分成两部分,上半部(PC7PC4PC7PC4)随端口)随端口A A,下半部(,下半部(PC3PC0PC3PC0)随端口)随端口B B。端口端口A A有方式有方式0 0、1 1和和2 2三种三种工作方式,而端口工作方式,而端口B B只
19、能工作于方式只能工作于方式0 0和和1 1。 121310.2.2 10.2.2 方式选择举例方式选择举例 若有一个若有一个80808080系统,它有两个系统,它有两个8255A8255A芯片,分别与不同芯片,分别与不同的外设交换信息,如图的外设交换信息,如图10-410-4所示。所示。要确定两个要确定两个8255A8255A的工作方式,就要在输出控制字之前的工作方式,就要在输出控制字之前,先确定两个,先确定两个8255A8255A的各自的控制字寄存器的端口地址。的各自的控制字寄存器的端口地址。I/OI/O端口地址由端口地址由CPUCPU地址总线的低地址总线的低8 8位位A7A7A0A0确定。
20、在本确定。在本例中,端口地址的考虑如图例中,端口地址的考虑如图10-510-5所示。所示。8 8位地址线可选择位地址线可选择256256个不同端口,现在地址线最低两位个不同端口,现在地址线最低两位A0A0、A1A1用于用于8255A8255A内部的端口选择,另外内部的端口选择,另外6 6位位A2A7A2A7就用于选就用于选择不同的择不同的8255A8255A以及其他的外设,在本系统中外设少,故可以及其他的外设,在本系统中外设少,故可用线选的方法来选择不同的用线选的方法来选择不同的8255A8255A。因而,两个。因而,两个8255A8255A的各个的各个端口地址如表端口地址如表10-210-2
21、所示。所示。 141516计算地址计算地址当地址确定后,把地址总线的当地址确定后,把地址总线的A0A0、A1A1直接接至直接接至8255A8255A的的A0A0、A1A1输入端,地址总线的其他输入端,地址总线的其他6 6位位A2A2A7A7应按地址的规定应按地址的规定经译码后送至经译码后送至8255A8255A的的CSCS输入端。输入端。若要求若要求8255A18255A1的各个端口处在如下的工作方式:的各个端口处在如下的工作方式:端口端口A A方式方式0 0输入输入端口端口B B方式方式1 1输出输出端口端口C(C(上半部上半部)PC7)PC7PC4PC4输出输出端口端口C(C(下半部下半部
22、)PC3)PC3PC0PC0输入输入17则要用方式控制字则要用方式控制字=10010101B=10010101B或或95H95H。可用以下汇编程序来置上述工作方式:可用以下汇编程序来置上述工作方式:CWR EQUCWR EQU 0FBH0FBH;8255A18255A1控制字寄存器端口地址输出方式控制字寄存器端口地址输出方式控制字控制字MOV ALMOV AL,10010101B10010101BOUT CWROUT CWR,AL AL 1810.2.3 10.2.3 按位置位按位置位/ /复位功能复位功能 端口端口C C的的8 8位中的任一位,可用一条输出指令来置位或复位中的任一位,可用一条
23、输出指令来置位或复位位( (其他位的状态不变其他位的状态不变) )。这个功能主要用于控制。能实现这。这个功能主要用于控制。能实现这个功能的控制字,如图个功能的控制字,如图10-610-6所示。所示。若要使端口若要使端口C C的位的位3 3置位的控制字为置位的控制字为00000111B00000111B,而使它,而使它复位的控制字为复位的控制字为00000110B00000110B。相应的汇编程序为:。相应的汇编程序为:CWR EQUCWR EQU 0FBH 0FBH ;控制口地址;控制口地址MOV ALMOV AL,00000111B00000111BOUT CWROUT CWR,AL AL
24、;置位端口;置位端口C C位位3 3MOV ALMOV AL,00000110B00000110BOUT CWROUT CWR,AL AL ;复位端口;复位端口C C位位3 3注意:注意: 使端口使端口C C按位置位或复位按位置位或复位的控制字也是写入至控的控制字也是写入至控制字寄存器的。制字寄存器的。192010.3.1 10.3.1 方式方式0 0的基本功能的基本功能 方式方式0 0是一种基本的输入或输出方式。在这种工作方式是一种基本的输入或输出方式。在这种工作方式下,三个端口的每一个都可由程序选定作为输入或输出,但下,三个端口的每一个都可由程序选定作为输入或输出,但这种方式没有规定固定的
25、用于应答式的联络信号线。其基本这种方式没有规定固定的用于应答式的联络信号线。其基本功能为:功能为:(1) (1) 两个两个8 8位端口位端口(A(A,B)B)和两个和两个4 4位端口位端口( (端口端口C)C);(2) (2) 任一个端口可以作为输入或输出;任一个端口可以作为输入或输出;(3) (3) 输出是锁存的;输出是锁存的;(4) (4) 输入是不锁存的;输入是不锁存的;(5) (5) 在方式在方式0 0时,各个端口的输入、输出(由控制字时,各个端口的输入、输出(由控制字D D4 4、D D3 3、D D1 1、D D0 0决定)可以有决定)可以有1616种不同的组合。种不同的组合。21
26、10.3 10.3 方式方式0 0的功能的功能在这种工作方式下,任一个端口都可由在这种工作方式下,任一个端口都可由CPUCPU用简单的输用简单的输入或输出指令来进行读或写。入或输出指令来进行读或写。方式方式0 0可作为查询式输入或输出的接口电路,此时端口可作为查询式输入或输出的接口电路,此时端口A A和和B B可分别作为一个数据端口,而取端口可分别作为一个数据端口,而取端口C C的某些位作为这两的某些位作为这两个数据端口的控制和状态信息。个数据端口的控制和状态信息。 2210.3.2 10.3.2 方式方式0 0的时序的时序1.1.方式方式0 0的输入时序的输入时序在方式在方式0 0时,基本的
27、输入时序如图时,基本的输入时序如图10-710-7所示。所示。 若外设的数据已经准备好,若外设的数据已经准备好,CPUCPU用输入指令从用输入指令从8255A8255A读入读入这个数据,则这个数据,则RDRD的宽度至少应为的宽度至少应为300ns300ns,而且地址信号必须,而且地址信号必须在在RDRD有效前有效前t tARAR时间有效。这样在时间有效。这样在RDRD有效后经过时间有效后经过时间t tRDRD,数,数据即可在数据总线上稳定。据即可在数据总线上稳定。经分析,在经分析,在I/OI/O读周期读周期8088 CPU8088 CPU与与8255A8255A在时序上不能很在时序上不能很好配
28、合,需要好配合,需要CPUCPU插入一个等待状态。插入一个等待状态。 23242.2.方式方式0 0的输出时序的输出时序可编程并行接口芯片可编程并行接口芯片8255A8255A方式方式0 0的基本输出时序,如图的基本输出时序,如图10-910-9所示。所示。要由写指令把要由写指令把CPUCPU的数据输出给外设,对于的数据输出给外设,对于8255A8255A,要求,要求写脉冲宽度至少为写脉冲宽度至少为400ns400ns。且地址信号必须在写信号前。且地址信号必须在写信号前t tAWAW时时间有效。并保持间有效。并保持t tWAWA时间。另外要写出的数据必须在写信号结时间。另外要写出的数据必须在写
29、信号结束前束前t tDWDW时间有效时间有效( (出现在数据总线上出现在数据总线上) ),且保持,且保持t tWDWD时间。这时间。这样,在写信号后最多样,在写信号后最多t tWBWB时间,写出的数据在输出端口出现。时间,写出的数据在输出端口出现。 经分析,经分析,I/OI/O写周期也要求写周期也要求80888088插入一个等待状态。插入一个等待状态。 252610.4 10.4 方式方式1 1的功能的功能这是一种选通的这是一种选通的I/OI/O方式。在这种方式时,端口方式。在这种方式时,端口A A或端口或端口B B仍作为数据的输入仍作为数据的输入/ /输出口,但同时规定端口输出口,但同时规定
30、端口C C的某些位作的某些位作为控制或状态信息。为控制或状态信息。2710.4.1 10.4.1 方式方式1 1的主要功能的主要功能8255A8255A的端口工作在方式的端口工作在方式1 1时,具有以下主要功能:时,具有以下主要功能:(1) (1) 用作一个或两个选通端口;用作一个或两个选通端口;(2) (2) 每一个端口包含:每一个端口包含: 8 8位的数据端口,三条控制线位的数据端口,三条控制线( (是固定指定的,不能用程序改变是固定指定的,不能用程序改变) ),提供中断逻辑;,提供中断逻辑;(3) (3) 任何一个端口都可作为输入或输出;任何一个端口都可作为输入或输出;(4) (4) 若
31、只有一个端口工作于方式若只有一个端口工作于方式1 1,余下的,余下的1313位,可以位,可以工作在方式工作在方式0(0(由控制字决定由控制字决定) );(5) (5) 若两个端口都工作于方式若两个端口都工作于方式1 1,端口,端口C C还留下两位,这还留下两位,这两位可以由程序指定作为输入或输出,也具有置位两位可以由程序指定作为输入或输出,也具有置位/ /复位功复位功能。能。 2810.4.2 10.4.2 方式方式1 1输入输入当任一端口工作于方式当任一端口工作于方式1 1输入时,如图输入时,如图10-1110-11所示。其各所示。其各个控制信号的意义为:个控制信号的意义为:STB(Stro
32、be)STB(Strobe)选通输入,低电平有效。这是由外设选通输入,低电平有效。这是由外设供给的输入信号,当其有效时,把输入装置来的数据送入输供给的输入信号,当其有效时,把输入装置来的数据送入输入锁存器。入锁存器。IBF(Input Buffer Full)IBF(Input Buffer Full)输入缓冲器满,高电平有输入缓冲器满,高电平有效。这是一个效。这是一个8255A8255A输出至外设的联络信号。当其有效时,输出至外设的联络信号。当其有效时,表示数据已输入至输入锁存器,它由表示数据已输入至输入锁存器,它由STBSTB信号置位信号置位( (高电平高电平) ),而,而RDRD信号的上
33、升沿使其复位。信号的上升沿使其复位。 2930INTR(Interrupt Request)INTR(Interrupt Request)中断请求信号,高电平中断请求信号,高电平有效。这是有效。这是8255A8255A的一个输出信号,可用于作为向的一个输出信号,可用于作为向CPUCPU的中断的中断请求信号,以要求请求信号,以要求CPUCPU服务。它是当服务。它是当STBSTB为高电平、为高电平、IBFIBF为高为高电平和电平和INTE(INTE(中断允许中断允许) )为高电平时被置为高,而由为高电平时被置为高,而由RDRD信号的信号的下降沿清除。下降沿清除。INTEA(Interrupt En
34、able A)INTEA(Interrupt Enable A)端口端口A A中断允许信号,中断允许信号,可由用户通过对可由用户通过对PC4PC4的按位置位的按位置位/ /复位来控制复位来控制(PC4=1(PC4=1,允许中,允许中断断) )。而而INTEBINTEB由由PC2PC2的置位的置位/ /复位控制。复位控制。方式方式1 1的输入时序,如图的输入时序,如图10-1210-12所示。所示。 3132当外设的数据已经输至当外设的数据已经输至8255A8255A的端口数据线上,用选通的端口数据线上,用选通信号把数据锁入信号把数据锁入8255A8255A的输入锁存器,选通信号的宽度至少的输入
35、锁存器,选通信号的宽度至少为为500ns500ns。选通信号经过时间选通信号经过时间t tSIBSIB后,后,IBFIBF信号有效,输送给外设,信号有效,输送给外设,阻止外设输入新的数据,也可供阻止外设输入新的数据,也可供CPUCPU查询。在选通信号结束查询。在选通信号结束后,经过后,经过t tSITSIT向向CPUCPU发出发出INTRINTR信号信号( (中断是允许的话中断是允许的话) )。CPUCPU响应中断,发出响应中断,发出RDRD信号,把数据读入信号,把数据读入CPUCPU。在在RDRD信号有效后经过信号有效后经过t tRITRIT就清除中断请求,当就清除中断请求,当RDRD信号结
36、信号结束后,数据已读至束后,数据已读至CPUCPU,使,使IBFIBF变低。表示输入缓冲器已空,变低。表示输入缓冲器已空,通知外设可以输入新的数据。通知外设可以输入新的数据。 3310.4.3 10.4.3 方式方式1 1输出输出8255A8255A的端口工作在方式的端口工作在方式1 1输出时,如图输出时,如图10-1310-13所示。所示。1.1.主要的控制信号主要的控制信号OBF(Output Buffer Full)OBF(Output Buffer Full)输出缓冲器满信号,低输出缓冲器满信号,低电平有效。这是电平有效。这是8255A8255A输出给外设的一个控制信号。当其有输出给外
37、设的一个控制信号。当其有效时,表示效时,表示CPUCPU已经把数据输出给指定的端口,外设可以把已经把数据输出给指定的端口,外设可以把数据输出。它由输出命令数据输出。它由输出命令WRWR的上升沿设置为有效,由的上升沿设置为有效,由ACKACK的的有效信号使其恢复为高。有效信号使其恢复为高。ACK(Acknowledge)ACK(Acknowledge)低电平有效,这是一个外设的响低电平有效,这是一个外设的响应信号,指示应信号,指示CPUCPU输出给输出给8255A8255A的数据已经由外设接收。的数据已经由外设接收。3435方式方式1输出输出INTRINTR中断请求信号,高电平有效。当输出装置已
38、经中断请求信号,高电平有效。当输出装置已经接收了接收了CPUCPU输出的数据后,它用来作为向输出的数据后,它用来作为向CPUCPU提出新的中断请提出新的中断请求,要求求,要求CPUCPU继续输出数据。当继续输出数据。当ACKACK为为“1”(1”(高电平高电平) ),OBFOBF为为“1” (1” (高电平高电平) )和和INTEINTE为为“1”(1”(高电平高电平) )时,使其置位时,使其置位( (高电高电平平) ),而,而WRWR信号的下降沿使其复位信号的下降沿使其复位( (低电平低电平) )。INTEAINTEA由由PC6PC6的置位的置位/ /复位控制。而复位控制。而INTEBINT
39、EB由由PC2PC2的置位的置位/ /复复位控制。位控制。 362.2.时序时序82558255工作在方式工作在方式1 1输出时的时序,如图输出时的时序,如图10-1410-14所示。所示。用在中断控制方式时,输出过程是由用在中断控制方式时,输出过程是由CPUCPU响应中断开始响应中断开始的,在中断服务程序中,的,在中断服务程序中,CPUCPU输出数据和发出输出数据和发出WRWR信号,信号,WRWR信信号一方面清除号一方面清除INTR(INTR(经过时间经过时间t tWITWIT) ),另外在,另外在WRWR上升沿,使上升沿,使OBFOBF有效,通知外设接收数据,实质上有效,通知外设接收数据,
40、实质上OBFOBF信号是外设的一个选信号是外设的一个选通命令。在通命令。在WRWR上升沿后经过上升沿后经过t tWBWB时间数据就输出了,当外设接时间数据就输出了,当外设接收数据后,发出收数据后,发出ACKACK信号,它一方面使信号,它一方面使OBFOBF无效无效( (经过经过t tAOBAOB) ),另一方面在另一方面在ACKACK的上升沿使的上升沿使INTRINTR有效有效( (经过经过t tAITAIT) ),发出新的中,发出新的中断请求。断请求。 373810.5 10.5 方式方式2 2的功能的功能这种工作方式,使外设可以在单一的这种工作方式,使外设可以在单一的8 8位总线上,既能位
41、总线上,既能发送数据也能接收数据发送数据也能接收数据( (双向总线双向总线I/O)I/O)。工作时可用程序查。工作时可用程序查询方式,也可工作在中断方式。询方式,也可工作在中断方式。 3910.5.1 10.5.1 方式方式2 2的主要功能的主要功能8255A8255A的端口工作在方式的端口工作在方式2 2时,具有以下主要功能:时,具有以下主要功能:(1) (1) 方式方式2 2只用于端口只用于端口A A;(2) (2) 一个一个8 8位的双向总线端口位的双向总线端口(A)(A)和一个和一个5 5位控制端口位控制端口( (端端口口C)C);(3) (3) 输入和输出是锁存的;输入和输出是锁存的
42、;(4) 5(4) 5位控制端口是用作端口位控制端口是用作端口A A的控制和状态信息,如图的控制和状态信息,如图10-1510-15所示。所示。各个信号的意义为:各个信号的意义为:INTRINTR中断请求信号,高电平有效。在输入和输出方中断请求信号,高电平有效。在输入和输出方式时,用来作为向式时,用来作为向CPUCPU发出的中断请求信号。发出的中断请求信号。4041OBFOBF输出缓冲器满,低电平有效。这是对外设的一输出缓冲器满,低电平有效。这是对外设的一种命令信号,表示种命令信号,表示CPUCPU已把数据输出至端口已把数据输出至端口A A。ACKACK响应信号,低电平有效。响应信号,低电平有
43、效。ACKACK的有效沿启动端口的有效沿启动端口A A的三态输出缓冲器,送出数据;否则,输出缓冲器处在高的三态输出缓冲器,送出数据;否则,输出缓冲器处在高阻状态。阻状态。ACKACK的上升沿是数据已输出的回答信号。的上升沿是数据已输出的回答信号。INTE1INTE1与输出缓冲器相关的中断屏蔽触发器,由与输出缓冲器相关的中断屏蔽触发器,由PC6PC6的置位的置位/ /复位控制。复位控制。STBSTB选通输入,低电平有效。这是外设供给选通输入,低电平有效。这是外设供给8255A8255A的的选通信号,它把输入数据选通至输入锁存器。选通信号,它把输入数据选通至输入锁存器。IBFIBF输入缓冲器满,高
44、电平有效。它是一个控制信输入缓冲器满,高电平有效。它是一个控制信息,指示数据已进入输入锁存器。在息,指示数据已进入输入锁存器。在CPUCPU未把数据读走前,未把数据读走前,IBFIBF始终为高电平,阻止输入设备送来新的数据。始终为高电平,阻止输入设备送来新的数据。INTE2INTE2与输入缓冲器相关的中断屏蔽触发器,由与输入缓冲器相关的中断屏蔽触发器,由PC4PC4的置位的置位/ /复位控制。复位控制。4210.5.2 10.5.2 方式方式2 2的时序的时序8255A8255A的端口工作在方式的端口工作在方式2 2的时序,如图的时序,如图10-1610-16所示。所示。方式方式2 2实质上是
45、方式实质上是方式1 1输入与方式输入与方式1 1输出的组合,故各个输出的组合,故各个时间参数的意义与方式时间参数的意义与方式1 1的相同。输出是由的相同。输出是由CPUCPU执行输出指令执行输出指令( (给出给出I/OI/O的的WR)WR)信号开始的,输入是由选通信号开始的。信号开始的,输入是由选通信号开始的。图上的输入、输出的顺序是任意的,只要图上的输入、输出的顺序是任意的,只要WRWR在在ACKACK以前以前发生。发生。STBSTB在在RDRD以前发生就行。以前发生就行。在输入和输出的情况下,都可以用中断方式。故在输入和输出的情况下,都可以用中断方式。故INTR=IBFMASKSTBRD+
46、OBFMASKACKWRINTR=IBFMASKSTBRD+OBFMASKACKWR其中,其中,MASK=INTEMASK=INTE。 434410.5.3 10.5.3 方式方式2 2控制字控制字当端口当端口A A工作于方式工作于方式2 2时,端口时,端口B B可以工作在方式可以工作在方式0 0或方式或方式1 1;可以作为输入,也可以作为输出。此时端口;可以作为输入,也可以作为输出。此时端口C C的各位的功的各位的功能如图能如图10-1710-17所示。所示。4546若要求若要求8255A8255A工作于如下所示的方式:工作于如下所示的方式:则方式字则方式字ICW=11000110B=C6H
47、ICW=11000110B=C6H47在在8255A8255A方式控制命令字已经输出后,读端口方式控制命令字已经输出后,读端口C C,则可得,则可得到如下的方式到如下的方式2 2状态字:状态字:若要允许方式若要允许方式2 2中断,则可用端口中断,则可用端口C C的置位的置位/ /复位命令:复位命令:允许输出中断,置允许输出中断,置PC6PC6,则控制字为,则控制字为00001101B00001101B。允许输入中断,置允许输入中断,置PC4PC4,控制字为,控制字为00001001B00001001B。4810.6 825510.6 8255应用举例应用举例微型计算机系统原理及应用微型计算机系
48、统原理及应用(第四版)周明德,清(第四版)周明德,清华大学出版社华大学出版社下面以双机并行通信接口为例,介绍下面以双机并行通信接口为例,介绍82558255的应用。的应用。1.1.要求要求在甲乙两台微型计算机之间并行传送在甲乙两台微型计算机之间并行传送1KB1KB数据。甲机发数据。甲机发送,乙机接收。甲机一侧的送,乙机接收。甲机一侧的8255A8255A采用方式采用方式1 1工作,乙机一侧工作,乙机一侧的的8255A8255A采用方式采用方式0 0工作。两台微机的工作。两台微机的CPUCPU与接口之间都采用与接口之间都采用查询方式交换数据。查询方式交换数据。2.2.分析分析根据要求,双机均采用
49、可编程并行接口芯片根据要求,双机均采用可编程并行接口芯片8255A8255A构成构成接口电路,只是接口电路,只是8255A8255A的工作方式不同。的工作方式不同。493.3.设计设计(1) (1) 硬件连接。根据上述要求,接口电路的连接如图硬件连接。根据上述要求,接口电路的连接如图10-1810-18所示。所示。甲机甲机8255A8255A为方式为方式l l发送发送( (输出输出) ),因此,把,因此,把PAPA口指定为输口指定为输出,发送数据,出,发送数据,PC7PC7和和PC6PC6引脚由方式引脚由方式1 1规定作为联络信号线规定作为联络信号线OBFOBF和和ACKACK。乙机。乙机82
50、55A8255A为方式为方式0 0接收接收( (输入输入) ),把,把PAPA口用作输入口用作输入,接收数据,联络信号自行选择,可选择,接收数据,联络信号自行选择,可选择PC4PC4和和PC0PC0作为联络作为联络信号线,信号线,PC4PC4输入、输入、PC0PC0输出。虽然,两侧的输出。虽然,两侧的8255A8255A都设置了都设置了联络信号线,但它们是不同的,甲机联络信号线,但它们是不同的,甲机8255A8255A工作在方式工作在方式1 1,其,其联络信号联络信号PC7PC7、PC6PC6是由方式是由方式1 1规定的不可替换;而乙机的规定的不可替换;而乙机的8255A8255A工作在方式工
51、作在方式0 0,其联络信号线是可以选择的,比如可选,其联络信号线是可以选择的,比如可选PC5PC5、PC1PC1或或PC6PC6、PC7PC7等。等。5051双机并行通信接口PA0PA7PC4PC08255A甲方(发送)PA0PA7PC7(OBF)PC6(ACK)8255A乙方(接收)方式1应用 示例1甲方A口:方式1乙方A口:方式0(2) (2) 软件编程软件编程 甲机发送程序:甲机发送程序:MOV DX,303HMOV DX,303H;8255A8255A命令口命令口MOV ALMOV AL,10100000B10100000B;A A口,方式口,方式1 1;B B口没用方式字口没用方式字OUT DX,ALOUT DX,AL;输出方式字;输出方式字MOV ALMOV AL,0DH0DH;置发送中断允许;置发送中断允许INTEAINTEA1;1;0000110100001101OUT DXOUT DX,ALAL;PC6PC6置置“1”1”;方式字;方式字D D7 7位为位为0 0,C C口按位置位口按位置位MOV AXMOV AX
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 舞蹈学校教师合同范例
- 猪肉购买合同范例
- 网线购销合同范例
- 机械维修合同范例正规合同
- 包桌合同范例
- 书版权合同范例
- 典当质押合同范例
- 厕所安装合同范例
- 原材料 采购合同范例
- 国外合同范例英文简称
- 2023年超星《军事理论》考试题库(通用题型)
- 2023年四川凉山州雅砻江国林保护局招聘护林员10人笔试参考题库(共500题)答案详解版
- EN-ISO-5817-焊缝检验及评定缺欠-质量分级指南解说
- 一例高血磷患者的护理查房
- 加油站工程施工方案
- 110kv升压站施工组织设计
- 图书馆服务礼仪讲座
- Python语言程序设计基础智慧树知到课后章节答案2023年下南华大学
- 2022年军队文职人员招聘考试《出版专业》真题-3
- 第七章 卡方检验
- 偏瘫病人肢体功能锻炼操作流程康复医学
评论
0/150
提交评论