模式 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
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP