8255A的工作方式

8255A并行接口在CPU与外设间传输数据时,采用三种工作方式:基本输入输出、选通输入/输出和双向总线方式。方式0允许CPU直接读写数据;方式1中,选通输入方式下A、B口可作为输入,通过控制字设定联络信号;选通输出方式下,A、B口可作为输出,PC口信号用于数据传输确认。方式2的双向总线方式下,A口能双向交换数据,C口的联络信号控制数据流动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

控制字

不同的方式的区别,主要是C口的控制信号不同

方式 0 - 基本输入输出方式

  1. 控制字
D 7 D_7 D7 D 6 D 5 D_6D_5 D6D5 D 4 D 3 D_4D_3 D4D3 D 2 D_2 D2 D 1 D 0 D_1D_0 D1D0
10 0x x0x x
  1. 特点
    CPU可以直接向8255A的端口写入数据再传给外设;
    CPU也可以直接接受外设传到端口的数据。

方式 1 - 选通输入/输出方式

(1) 选通输入方式

控制字

D 7 D_7 D7 D 6 D_6 D6 D 5 D_5 D5 D 4 D_4 D4 D 3 D_3 D3 D 2 D_2 D2 D 1 D_1 D1 D 0 D_0 D0
10 11x11x

A口和B口都工作在输入方式

C口状态字

D 7 D_7 D7 D 6 D_6 D6 D 5 D_5 D5 D 4 D_4 D4 D 3 D_3 D3 D 2 D_2 D2 D 1 D_1 D1 D 0 D_0 D0
I / O I/O I/O I / O I/O I/O K B F A KBF_A KBFA I N T E   A INTE~A INTE A I N T R A INTR_A INTRA I N T E   B INTE~B INTE B I B F B IBF_B IBFB I N T R B INTR_B INTRB
  • D 7 ∼ D 3 D_7 \sim D_3 D7D3 A组状态字
  • D 2 ∼ D 0 D_2 \sim D_0 D2D0 B组状态字

(2) 选通输出方式

控制字

D 7 D_7 D7 D 6 D_6 D6 D 5 D_5 D5 D 4 D_4 D4 D 3 D_3 D3 D 2 D_2 D2 D 1 D_1 D1 D 0 D_0 D0
11 x1x10x
D 7 D_7 D7 D 6 D_6 D6 D 5 D_5 D5 D 4 D_4 D4 D 3 D_3 D3 D 2 D_2 D2 D 1 D_1 D1 D 0 D_0 D0
O B F ‾ A \overline{OBF}_A OBFA I N T E   A INTE~A INTE A I / O I/O I/O I / O I/O I/O I N T R A INTR_A INTRA I N T E   B INTE~B INTE B O B F B OBF_B OBFB I N T R B INTR_B INTRB
  • D 7 ∼ D 3 D_7 \sim D_3 D7D3 A组状态字
  • D 2 ∼ D 0 D_2 \sim D_0 D2D0 B组状态字

① 对于端口A

A口工作于输出, P C 3 , P C 6 , P C 7 PC_3,PC_6,PC_7 PC3,PC6,PC7做A口联络控制信号

  • P C 3 PC_3 PC3 - I N T R A INTR_A INTRA,中断请求信号
    外设收到数据后,向CPU发出中断请求,要求CPU再输出一个数据给自己。

  • P C 6 PC_6 PC6 - A C K ‾ A \overline{ACK}_A ACKA,外设的回答信号
    外设通过 P C 6 PC_6 PC6告诉8255A,自己已接收到A口的数据

  • P C 7 PC_7 PC7 - O B F ‾ A \overline{OBF}_A OBFA,输出缓冲器满信号
    8255A通过 P C 7 PC_7 PC7发信号给外设,告诉外设CPU已将数据写到8255A的端口A

② 对于端口B

B口工作与输出, P C 0 , P C 1 , P C 2 PC_0,PC_1,PC_2 PC0,PC1,PC2做B口联络控制信号

P C 4 , P C 5 PC_4,PC_5 PC4,PC5即可输入也可输出

  • P C 1 PC_1 PC1 - O B F ‾ \overline{OBF} OBF,输出缓冲器满信号
    8255A发给外设的额信号,表示CPU已将数据写到8255A的端口A,端B

  • P C 2 PC_2 PC2 - A C K ‾ \overline{ACK} ACK,外设的回答信号
    低电平表示CPU输出到8255A的A口或B口的数据已经被外设接受

  • I N T E INTE INTE,中断允许信号

  • P C 0 PC_0 PC0 - I N T R INTR INTR,中断请求信号

(3) 选通输入/输出方式组合

方式 2 - 双向总线方式

控制字

D 7 D_7 D7 D 6 D_6 D6 D 5 D_5 D5 D 4 D_4 D4 D 3 D_3 D3 D 2 D_2 D2 D 1 D_1 D1 D 0 D_0 D0
11 xxxxxx

A口:与外设双向交换数据,输入输出不能同时进行。

C口: P C 3 , P C 4 , P C 5 , P C 6 , P C 7 PC_3,PC_4,PC_5,PC_6,PC_7 PC3PC4PC5PC6PC7作为联络控制信号

  • P C 3 PC_3 PC3 - I N T R INTR INTR
  • P C 4 PC_4 PC4 - S T B ‾ \overline{STB} STB
  • P C 5 PC_5 PC5 - I B F IBF IBF
    有效时,8255A接受外设的数据置入输入锁存器
  • P C 6 PC_6 PC6 - A C K ACK ACK
  • P C 7 PC_7 PC7 - O B F OBF OBF

INTE 1 和 INTE 2
工作过程

C口状态字

D 7 D_7 D7 D 6 D_6 D6 D 5 D_5 D5 D 4 D_4 D4 D 3 D_3 D3 D 2 D_2 D2 D 1 D_1 D1 D 0 D_0 D0
O B F ‾ A \overline{OBF}_A OBFA I N T E   1 INTE~1 INTE 1 I B F A IBF_A IBFA I N T E   2 INTE~2 INTE 2 I N T R A INTR_A INTRA × \times × × \times × × \times ×
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值