模式 2—双向 I/O


在模式 0 或模式 1 中,端口充当输入端口或输出端口。这取决于输入设备或输出设备是否连接到端口。此外,这种模式 2 通常被称为双向握手输入输出。当微处理器接收信息,有时也将信息发送到连接到 8255 的输入输出设备时,它对我们很有益。例如,可以引用与软盘控制器卡的通信过程。由于模式 2 是双向握手输入输出,因此它需要的握手线比单向模式 1(即锁存输入输出)多。

因此,模式 2 的操作利用了端口 C 的五条线用于握手目的。端口 C 的这五条线从 PC7 到 PC3。为了执行输入操作,当我们将端口 A 配置为模式 2 时,PC5、PC4 和 PC3 引脚提供端口 A 的握手信号。为了执行输出操作,当我们将端口 A 配置为模式 2 时,PC7、PC6 和 PC3 引脚提供端口 A 的握手信号。

示例 1:将端口 A 配置为双向 I/O 端口,将端口 B 配置为基本输入端口,并将 PC2-0 配置为输出线。

所需的模式定义控制字如下所示:

位 0 必须为 0,以指示 PC2-0 为输出线。在这种情况下,它并不意味着整个端口 C 下部都是输出,因为 PC3 用于握手目的。

需要注意的是,位 3 是无关紧要的。这是因为端口 C 上部的所有四条线都用于握手目的,其中一些将是输入引脚,而另一些将是输出引脚。8255 将自动配置这些握手引脚,因此位 3 是 0 还是 1 都无关紧要。

位 4 是无关紧要的,因为需要端口 A 以双向模式工作。假设芯片选择电路如上所示,则实现此要求的指令如下。

MVI A, C2H ; Treating X as 0
OUT 23H

更新于: 2019-07-30

961 次浏览

开启您的 职业生涯

完成课程获得认证

开始学习
广告

© . All rights reserved.