~D为双向数据信号线,用于82554与系统数据线相连,传送 CPU与8255A之间的数据、控制信息、状态信 (输入):8255A读信号,低电平有效。当有效时,CPU从8255A 的指定端口读取数据或状态信息。通常接系统总线的信号 (输入):8255A写信号,低电平有效。当有效时,CPU向8255A 指定端口写入控制字或数据。通常接系统总线的信号。 (输入):片选信号,当它为低电平(有效)时,才能选中该 8255A芯片,使8255A正常工作 A、A。(输入)为片内地址选择信号。当有效选中8255A时,由 AA的编码来决定是选中A口、B口、C口,还是选中控制字寄存器,如 表8-1所示 选中对象 0 A端口 B端口 0 C端口 控制字寄存器 未选中
D7~D0为双向数据信号线,用于8255A与系统数据线相连,传送 CPU与8255A之间的数据、控制信息、状态信息。 (输入):8255A读信号,低电平有效。当有效时,CPU从8255A 的指定端口读取数据或状态信息。通常接系统总线的信号。 (输入):8255A写信号,低电平有效。当有效时,CPU向8255A 指定端口写入控制字或数据。通常接系统总线的信号。 (输入):片选信号,当它为低电平(有效)时,才能选中该 8255A芯片,使8255A正常工作。 A1、A0(输入)为片内地址选择信号。当有效选中8255A时,由 A1 A0的编码来决定是选中A口、B口、C口,还是选中控制字寄存器,如 表8-1所示 CS A1 A0 选中对象 0 0 0 A端口 0 1 0 B端口 1 0 0 C端口 1 1 0 控制字寄存器 ╳ ╳ 1 未选中
通常A1、A分别接系统的A1、A,它们与一起来决定8255 的接口地址。 RESET(输入):复位信号,高电平有效。当 RESET信号到 来时,8255A所有内部寄存器均被清零。复位后,8255的A口 B口、C口均被定义为输入状态。 PA2~PA(双向):8255AA口的输入输出信号线,用于 8255A与外设进行数据传送。这8条引线是输入、输出还是双向 (输入、输出)方式由软件编程决定 PB~PB0(双向):8255AB口的输入输出信号线,用于 8255A与外设进行数据传送。这8条引线是输入还是输出方式可 由软件编程决定。 PC2~PC(双向):8255C口的输入输出信号,可用于 8255A与外设进行数据的输入或输出线,也可用作控制信号的 输出或状态信号的输入线
通常A1、A0分别接系统的A1、A0,它们与一起来决定8255 的接口地址。 RESET(输入):复位信号,高电平有效。当RESET信号到 来时,8255A所有内部寄存器均被清零。复位后,8255的A口、 B口、C口均被定义为输入状态。 PA7 ~PA0(双向):8255A A口的输入输出信号线,用于 8255A与外设进行数据传送。这8条引线是输入、输出还是双向 (输入、输出)方式由软件编程决定。 PB7 ~PB0(双向):8255A B口的输入输出信号线,用于 8255A与外设进行数据传送。这8条引线是输入还是输出方式可 由软件编程决定。 PC7 ~PC0 (双向):8255A C口的输入输出信号,可用于 8255A与外设进行数据的输入或输出线,也可用作控制信号的 输出或状态信号的输入线
2.8255A的内部结构 8255A的内部结构框图如图8-2所示,它由四个部分组成: (1)输入输出接口 从图8-2中可以看到,左边的信号与系统总线连接,而右边是与外设相连接的3个 口,即PA、PB、PC,3个口均为8位,将这三个口分为两组:A组(A口的8位和C口的高4 位)、B组(B口的8位和C口的低4位),每个端口都可由程序设定为各种不同的工作方 式 端口A(PA口)有一个8位数据输入锁存器和一个8位数据输出锁存/缓冲器,所以, 用端口A作为输入或输出时,数据均受到锁存; 端口B(PB口)有一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器; 端口C(PC口)有一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器 (2)数据总线缓冲器 数据总线缓冲器是8位双向三态缓冲器,8255A与系统总线之间的命令、数据、 控制字等信息都是通过它来完成的,它是系统总线与8255A之间交换信息的必经之路。 (3)读/写控制逻辑 用来管理数据信息、控制字和状态字的传送,地址线A1、A0,片选信号()和读、 写控制信号(、),完成内部端口的选择和读写操作。 (4)A组和B组控制电路 这两组控制电路根据CPU发出的方式控制字来控制8255A的工作方式,每个控制组 都接受来自读/写控制逻辑的命令,接受来自内部数据线的控制字,然后向各有关端口 发出相应的控制命令
2.8255A的内部结构 8255A的内部结构框图如图8-2所示,它由四个部分组成: (1)输入输出接口 从图8-2中可以看到,左边的信号与系统总线连接,而右边是与外设相连接的3个 口,即PA、PB、PC,3个口均为8位,将这三个口分为两组:A组(A口的8位和C口的高4 位)、B组(B口的8位和C口的低4位),每个端口都可由程序设定为各种不同的工作方 式。 端口A(PA口)有一个8位数据输入锁存器和一个8位数据输出锁存/缓冲器,所以, 用端口A作为输入或输出时,数据均受到锁存; 端口B(PB口)有一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器; 端口C (PC口) 有一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。 (2)数据总线缓冲器 数据总线缓冲器是8位双向三态缓冲器, 8255A与系统总线之间的命令、数据、 控制字等信息都是通过它来完成的,它是系统总线与8255A之间交换信息的必经之路。 (3)读/写控制逻辑 用来管理数据信息、控制字和状态字的传送,地址线A1、A0,片选信号()和读、 写控制信号(、),完成内部端口的选择和读写操作。 (4)A组和B组控制电路 这两组控制电路根据CPU发出的方式控制字来控制8255A的工作方式,每个控制组 都接受来自读/写控制逻辑的命令,接受来自内部数据线的控制字,然后向各有关端口 发出相应的控制命令
A组 控制 PA→-PA A口(8位) A组 数据 8位内部数据总线K PC,PCA 总线 口(高4位) 缓冲 器 B组 H>PC3-PCo 口(低4位) RD WR 读/写 B组 B组 控制 控制 PB→PB 逻辑 B口(8位) RESET 图8-28255A的内部结构
图8-2 8255A的内部结构
8.2.28255A的工作方式 8255A有三种基本的工作方式,这些工作方式可用软件编程来指定。 方式0—基本输入/输出方式 方式1—选通输入/输出方式 方式2—双向输入/输出方式 1.方式0:基本输入输出工作方式 在方式0下,8255A与外设相连的三个端口均被定义为输入/输出传送方式,包括A 口的8条线、C口的高4位对应的4条线、B口的8条线、C口的8条线。因为上述4部分的输 入或输出是可以独立定义的,故它们输入输出有16种不同的组合。 8255A在方式0工作时,CPU可以采用无条件传输方式与8255交换数据,如果把C 口的两个部分用作控制和状态口,与外设的控制和状态端相连,CPU也可以通过对C 的读写实现A口与B口的査询工作方式。方式0仅有输出数据锁存功能,输入数据是不锁 存的。且在方式0下,C口还有按位置位和复位的功能。 概括地说,方式0的基本特点如下 (1)任何一个端口可以作为输入口,也可以作为输出口,各端口之间没有规定 必然的关系。 (2)各端口的输入或输出,可以有16种不同的组合,所以可以使用在多种不同 的场 方式0的使用的场合: 方式0的使用场合有两种,一种是同步传送,另一种视察寻访时传送
8.2.2 8255A的工作方式 8255A有三种基本的工作方式,这些工作方式可用软件编程来指定。 方式0---基本输入/输出方式 方式1---选通输入/输出方式 方式2---双向输入/输出方式 1.方式0: 基本输入/输出工作方式 在方式0下,8255A与外设相连的三个端口均被定义为输入/输出传送方式,包括A 口的8条线、C口的高4位对应的4条线、B口的8条线、C口的8条线。因为上述4部分的输 入或输出是可以独立定义的,故它们输入输出有16种不同的组合。 8255A在方式0工作时,CPU可以采用无条件传输方式与8255A交换数据,如果把C 口的两个部分用作控制和状态口,与外设的控制和状态端相连,CPU也可以通过对C口 的读写实现A口与B口的查询工作方式。方式0仅有输出数据锁存功能,输入数据是不锁 存的。且在方式0下,C口还有按位置位和复位的功能。 概括地说,方式0的基本特点如下: (1) 任何一个端口可以作为输入口,也可以作为输出口,各端口之间没有规定 必然的关系。 (2)各端口的输入或输出,可以有16种不同的组合,所以可以使用在多种不同 的场合。 方式0的使用的场合: 方式0的使用场合有两种,一种是同步传送,另一种视察寻访时传送