可编程接口芯片8255A

微机接口技术之可编程接口芯片

可编程并行输入/输出接口芯片8255A

功能

8255A是一种通用的可编程并行I/O接口芯片,广泛用于几乎所有系列的微型机系统中,如8086MCS51Z80CPU系统等。8255A具有3个带锁存缓冲的数据端口,可与外设并行进行数据交换。用户可用程序来选择多种操作方式,通用性强。使用灵活,可为CPU与外设之间提供并行输入/输出通道

8255A的内部结构

请添加图片描述

8255A 由以下几部分组成:

  1. 数据端口A 、B 、C :
    有三个8 位数据端口,又叫PA 口,PB 口,PC 口。
    PA 口: 具有数据输入锁存器和输出锁存器/ 缓冲器。
    PB 口: 具有数据输入锁存器和输出锁存器/ 缓冲器。
    PC 口: 具有数据输入锁存器和输出锁存器/ 缓冲器。
    在应用中,PA 口,PB 口可作为独立输入或输出端口,而PC 口被分成两个4 位端口,每一个4 位端口包括了一个4 位输入缓冲器,和一个4 位输出锁存器/ 缓冲器,分别为PA 口,PB 口输出控制信息和输入状态信息。

  2. A组控制和B组控制
    这二组控制电路:
    ① 接收芯片内部总线上的控制字。
    ② 接收来自读/ 写控制逻辑电路的读/ 写命令。
    这二组控制电路输出去控制:
    A 组:PA 口及PC 7 ~PC 4 的工作方式和读/ 写操作。
    B 组:PB 口及PC 0 ~PC 3 的工作方式和读/ 写操作。

  3. 读写控制逻辑电路
    管理:8255A 的数据传输过程。
    接收: C S 、 A 1 、 A 0 、 R E S E T 、 W R 、 R D CS 、A1 、A0 、RESET 、WR 、RD CSA1A0RESETWRRD信号
    发送:控制命令

  4. 数据总线缓冲器
    它是一个双向三芯的8位数据缓冲器,8255A通过它与系统数据总线相连。

8255A的管脚分配

40芯大规模集成芯片

  1. 与外设相连
    PA7—PA0 :
    8根数据线 A组数据信号
    PB7—PB0 :
    8线根数据线 B组数据信号
    PC7—PC0 :
    8线根数据线 C组数据信号

请添加图片描述

  1. 与CPU 连接的管脚

D7~D0:数据线
RD: 低时,CPU 可从8255A 读取数据。
WR: 低时,CPU 向8255A 写入控制字或数据。
RESET: 低有效,清除内部寄存器,PA 、PB 、PC 自动设为输出口。
CS : 片选信号,只有这个信号为低时,该芯片才能工作。
A1 ,A0 : 端口选择信号

PA口PB口PC口控制口
00011011
  1. 电源线和地线
    VCC : 电源线,一般取+5V 。
    GND : 电源地线。

8255A的工作方式及编程

  1. 8255 A 8255A 8255A有三种工作方式,它们是:
    ①方式0 —— 基本输入/输出方式;
    ②方式1 —— 选通输入/输出方式;( 选通实际上带有握手信号的I/O 方式,具有I/O 能力,不是一般的输入输出,具有相应的联络线彼此之间是要进行信息交换以后才能完成相应的I/O 操作。握手联络信号通常是一种应答关系,另外为了使8255 能利用中断方式传送信息,还专门设置了一条中断请求信号。这样当某一个端口工作在方式1时,不仅需要本端口的8 位数据还要一对应答联络线和一条中断请求信号线。在引腿上看不到应答联络线和中断请求线。实际上方式1 情况下已经对8255 的内部逻辑进行重新调整对引脚进行重新定义,怎么呢?A 口方式1,3根线如何来?借C口。C 只有借出能力所以只适用A口、B口)
    ③方式2 —— 双向传送方式。(双向选通方式)

  2. 8255A编程

    所谓8255A 编程,就是用户在使用8255 前,用户可用软件来定义端口的工作方式,选择所需要的功能。

  3. 8255A控制字

    ① 方式控制字
    这是一个八位的控制字,代表的信息非常丰富。上面提到8255A 内部的3 个端口分为A 、B 两组,因此方式控制字也就相应地分成两个部分,分别控制A 组和B组, 其格式如下:

请添加图片描述

​ ② C 口置“1” /清“0” 控制字

置“1” 又称为置位操作,而清“0” 称为复位操作。

请添加图片描述

注意:
❖ C端口置1/置0控制字必须写入控制口不是写入C口。

❖ 对端口C中某一位置1还是置0, 由控制字 D 0 D_0 D0位决定。

❖ 置1/置0控制字的 D 1 D 2 D 3 D_1 D_2 D_3 D1D2D3内容决定了对端口C哪一位进行操作。

❖ 一个置1/ 置0 控制字只能对端口C的其中某一位进行操作。

❖ 控制字 D 5 D 6 D 7 D_5 D_6 D_7 D5D6D7 内容可任意,但 D 7 D_7 D7 必须为0 。

8255A的三种工作方式

8255A 有三种工作方式:方式0 、方式1 、方式2

方式0

  1. 方式0:基本的输入输出工作方式

    方式0特点如下:
    ❖ 任何一个端口可作为输入口,也可作为输出口。

    ❖ 每个端口I/O ,即 P A , P B , P C 7 − P C 4 , P C 3 − P C 0 PA ,PB ,PC7-PC4 , PC3-PC0 PAPBPC7PC4PC3PC0,有16 种不同组合。
    结束放映此方式适合无条件的传送数据,如读一组开关状态,控制一组指示灯,CPU 可随时读入开关状态,随时可以把一组数据送到指示灯显示,而无需“选通”和“状态”信号,不必等待中断请求信号,在这种方式下,每个端口都可以有程序规定为输入或输出。

    ❖ 输出是锁存的,输入是不锁存的。

    ❖ 此方式无中断功能,在作查询方式工作时,可以将C口的某些位作为传送控制信息和状态信息,A口和B口作为数据口。

  2. 方式0的应用
    例: 8255A的PA口作为输出口,B 口为输入口,C 口高4 位为输
    入,仅用PC7 ,PC6 两位输入外设状态;C 口低4 位为输出,仅用PC1、PC0 输出选通及清除信号。
    对8255A 写入的控制字为: 8AH

    工作过程: 在从A 口输出数据给输出设备前,先通过PC7 查询设备状态,若准备好再从A 口输出,然后用PC1 发一选通信号,使数据打入到输出设备的数据寄存器中。当从输入设备读数以前,先通过PC6 查设备状态,准备好后,再从B口读入数据,然后从PC0发一清除信号,以便输入后读字节。

请添加图片描述

  1. 方式0 的特点:
    ❖ 联络信号可由用户自行安排,不同于后面的方式1 联络信号规定死。
    ❖ 只能用于查询,不能实现中断。
    注意:
    当A 口为输出口,它有锁存功能,而B口作为输入口,只有缓冲,若输入数据是瞬态的(例如窄脉冲信号),则输出设备中数据输出寄存器必须具有锁存功能,待CPU 从B 口读入数据以后,再将锁存电路中的数据清除。

方式1

  1. 方式1:选通输入/ 输出方式
    这种方式下:PA口和PB口仍作为数据的输入/ 输出口,同时规定C口的某些位作为控制或状态信息,起应答联络或中断请求作用,C 口的剩下线作为I/O 线使用。
    ❖ 一个或两个8 位的选通数据端口。任何一个端口都可以作为输入和输出。

    ❖ 每个端口含有3 条控制线(固定指向的,不能用程序改变),提供中断逻辑。

    ❖ 若只有一个端口工作在方式1 ,余下的13 位可以工作在方式0。

    ❖ 若两个端口都工作在方式1 ,端口C还剩下2 位,这2位可以由程序指定输入和输出,也具有置位和复位功能。

  2. 方式1 输入情况下有关信号的规定和输入时序
    ❖ 当A口或B口处在 方式1输入时,每个端口指定C 口中的三位做控制信号线。对A口指定的是PC4 、PC5 、PC3 三位,对B口指定的是PC2 、PC1 、PC0 三位。

    ❖PC4 和 和PC 2 指定为STB 。这是设备的选通输入信号,低电平有效,由外设提供该信号。STB 的下降沿将端口数据线上的信息打入端口锁存器。

    ❖PC 5 和 和PC 1 指定为IBF 。这是输入缓冲器满信号,高电平有效,是由8255 输出的状态信息,通常和外设相连,IBF 为高电平表示外设已经将数据打入端口锁存器,但CPU还未读取,当CPU读取端口数据时,IBF变为低电平,所以,IBF是由STB的下降沿置位,由RD的上升沿复位。

    ❖PC3 和 和PC0 指定为INTR 信号。这是中断请求信号,高电平有效,当STB=1,IBF=1 ,INTE=1 时,中断请求有效,INTR=1 。该信号由RD 下降沿清除。

    I N T E A INTE_A INTEA由PC4 。 控制。 I N T E B INTE_B INTEB由PC2 控制。

    中断允许触发器INTE ,当触发器为“1” 时允许中断,为“0”时为禁止中断。

PA 口工作在方式1 并作为输入口,PB 口任意。
PC4 :STB A ( 设备的选通输入信号低电平有效,由外设提供该信号 STB 的下降沿将端口数据线上信息打入端口锁存器 )
PC5 :IBF A ( 输入缓冲区满信号,高电平有效,是由 8255 输出的状态信息,通常和外设相连, IBF 为高电平时,表示外设已将数据打
入端口锁存器,但是 CPU 还没有读取,当 CPU 读端口数据时, IBF 变为低电平。 )
PC3 :INTR A ( 中断请求信号,高电平有效,当 STB=1 , IBF=1 ,INTE (中断允许触发器,由 PC4 控制)=1 时,中断请求有效, INTR=1 )

请添加图片描述

  • PB 口工作在方式1,输出,PA 口任意。

  • PA、 PB 口工作在方式1 ,都作为输出口。

请添加图片描述

方式2

  1. 方式2 工作特点:
    方式2 使端口A 为外部设备和CPU 之间提供一条8 位的双向的数据通道(既能发送又能接收),工作时可以用查询方式也可以用中断方式。
  2. 方式2 功能:
    ❖ 方式2 只能用于A 口;
    ❖ 一个双向的8位总线端口A (用于数据传送),一个5位的控制端口C (用于A 口的控制和状态)。
    ❖ 输入和输出是锁存的

请添加图片描述

8086 系统有 16 根数据线,而 8255 只有8根数据线,为了软件读写方便,一般将 8255 的8条数据线与 8086 的低8位数据线相连 。 8086 在进行数据传送时总是将总线低8位对应偶地址端口, 因此 8086CPU 要求 8255 的4个端口地址必须为偶地址,即8086在寻址8255 时A0脚必须为低。 实际使用时,我们总是将 8255的A0、A1脚分别接8086的A1、A2脚,而将8086的A0脚空出不接,并使 8086访问8255时总是使用偶地址。

  • 15
    点赞
  • 130
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值