8255a简介 下载本文

2.A组和B组的控制电路

这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/复位的操作。

A组控制电路用来控制A口及C口的高4位; B组控制电路用来控制B口及C口的低4位。 3.数据总线缓冲器

8位的双向的三态缓冲器。作为8255A与系统总线连接的界面,输入/输出的数据,CPU的编程命令以及外设通过8255A传送的工作状态等信息,都是通过它来传输的。 4.读/写控制逻辑

读/写控制逻辑电路负责管理8255A的数据传输过程。它接收片选信号CS及系统读信号

RD、写信号WR、复位信号

RESET,还有来自系统地址总线的口地址选择信号A0和A1。

三.8255A的引脚功能

8255A的引脚信号可以分为两组:

一组是面向CPU的信号,一组是面向外设的信号。 1.面向CPU的引脚信号及功能

·D0-D7:8位,双向,三态数据线,用来与系统数据总线相连;

·RESET:复位信号,高电平有效,输入,用来清除8255A的内部寄存器,并置A口,B口,C口均为输入方式;

·CS:片选,输入,用来决定芯片是否被选中;

·RD:读信号,输入,控制8255A将数据或状态信息送给CPU; ·WR:写信号,输入,控制CPU将数据或控制信息送到8255A;

·A1,AO:内部口地址的选择,输入。这两个引脚上的信号组合决定对8255A内部的哪一个口或寄存器进行操作。8255A内部共有4个端口:A口,B口,C口和控制口,两个引脚的信号组合选中端口见下表。

CS ,RD,WR,A1,A0这几个信号的组合决定了

8255A的所有具体操作,

表7-1 8255A的操作功能表

CS RD WR A1 A0 操 作 读 A 口 数 据 传 送 方 式 A口数据 → 数据总线 0 0 1 0 0 5

0 0 1 0 1 读 B 口 B口数据 → 数据总线 0 0 1 1 0 读 C 口 C口数据 → 数据总线 0 1 0 0 0 写 A 口 数据总线数据 → A口 0 1 0 0 1 写 B 口 数据总线数据 → B口 0 1 0 1 0 写 C 口 数据总线数据 → C口 0 1 0 1 1 写控制口 数据总线数据 → 控制口 2.面向外设的引脚信号及功能

? PA0~PA7:A组数据信号,用来连接外设; ? PB0~PB7:B组数据信号,用来连接外设;

? PC0~PC7:C组数据信号,用来连接外设或者作为控制信号。 四.8255A的工作方式

8255A有三种工作方式,用户可以通过编程来设置。

方式0 简单输入/输出――查询方式;A,B,C三个端口均可。 方式1 选通输入/输出――中断方式;A ,B,两个端口均可。 方式2 双向输入/输出――中断方式。只有A端口才有。

6

工作方式的选择可通过向控制端口写入控制字来实现。

在不同的工作方式下,8255A三个输入/输出端口的排列示意图如上图所示。 1.方式0

方式0是一种简单的输入/输出方式,没有规定固定的应答联络信号,可用A,B,C三个口的任一位充当查询信号,其余I/O口仍可作为独立的端口和外设相连。

方式0的应用场合有两种:一种是同步传送;一种是查询传送。 2.方式1

方式1是一种选通I/O方式,A口和B口仍作为两个独立的8位I/O数据通道,可单独连接外设,通过编程分别设置它们为输入或输出。而C口则要有6位(分成两个3位)分别作为A口和B口的应答联络线,其余2位仍可工作在方式0,可通过编程设置为输入或输出。

(1) 方式1的输入组态和应答信号的功能

图9-2给出了8255A的A口和B口方式1的输入组态。

图9-2 方式1输入组态

C口的PC3-PC5用作A口的应答联络线,

PC0-PC2则作用B口的应答联络线, 余下的PC6~PC7则可作为方式0使用。 应答联络线的功能如下:

·STB:选通输入。用来将外设输入的数据打入8255A的输入缓冲器。 ·IBF:输入缓冲器满。作为STB的回答信号,。

·INTR:中断请求信号。INTR置位的条件是STB为高且IBF为高且INTE为高。 ·INTE:中断允许。对A口来讲,是由PC4置位来实现,对B口来讲,则是由PC0置位来实现。事先将其置位。

A口 B口

STB

: PC4 PC2

7

IBF: PC5 PC1 INTR: PC3 PC0 INTE: PC4置1 PC2置1

(2) 方式1的输出组态和应答信号功能

图9-3 方式1的输出组态

C口的PC3、PC6、PC7用作A口的应答联络线,

PC0-PC2则作用B口的应答联络线, 余下的PC4~PC5则可作为方式0使用。 应答联络线的功能如下:

·OBF:输出缓冲器满。当CPU已将要输出的数据送入8255A时有效,用来通知外设可以从8255A取数。

·ACK:响应信号。作为对OBF的响应信号,表示外设已将数据从8255A的输出缓冲器中取走。

·INTR:中断请求信号。INTR置位的条件是ACK为高且OBF为高且INTE为高。 ·INTE:中断允许。对A口来讲,由PC6的置位来实现,对B口仍是由PC2的置位来实现。

A口 B口

OBF

: PC6 PC2 PC7 PC1

ACK:

INTR: PC3 PC0 INTE: PC6置1 PC2置1

3.方式2

方式2为双向选通I/O方式,只有A口才有此方式。这时,C口有5根线用作A口的应答联络信号,其余3根线可用作方式0,也可用作B口方式1的应答联络线。

方式2:就是方式1的输入与输出方式的组合,各应答信号的功能也相同。而C口

8