8255 可编程外设接口芯片
Intel 8255 是一款可编程的外设接口 (PPI) 芯片。它用于连接外设和接口。我们将外设也称为输入输出设备。我们使用输入输出端口连接输入输出设备。因此,8255 是一款可编程的输入输出端口芯片。它是一款 40 引脚芯片,可用于双列直插封装。其工作需要 +5 伏直流电源。它包含两个 8 位的可编程输入输出端口和两个 4 位的可编程输入输出端口。我们分别称它们为端口 A、端口 B、端口 C 上半部分和端口 C 下半部分。当这些引脚被编程为输出引脚时,它们会在 1.5V 时提供 1mA 的电流。
8255 的引脚图如下所示:
我们对端口 C 上半部分和端口 C 下半部分进行寻址,使它们构成一个唯一的 8 位端口。因此,我们将端口 C 分成 2 个 4 位的部分。因此,我们将端口 C 下半部分编程为输入,端口 C 上半部分编程为输出。
给出了端口选择逻辑,其中输出由我们设置为逻辑 1,并将其重置为逻辑 0。
8255 执行三种操作模式,分别是模式 0、模式 1 和模式 2。我们将模式 0 称为简单输入输出或基本输入输出,用于执行最简单的操作模式。8255 的每个端口都可以被编程为在模式 0 下工作。我们将模式 1 称为锁存输入输出或握手输入输出。当数据以不规则的时间间隔由微处理器提供给输入设备时,它很有用。最后,当数据被处理器读取时,端口通知输入设备处理器已经读取了数据。
下表显示了如何在 8255 中进行端口选择。
A1 | A0 | 所选端口 |
---|---|---|
0 | 0 | 端口 A |
0 | 1 | 端口 B |
1 | 0 | 端口 C |
1 | 1 | 控制端口 |
此外,任何被编程为输出的端口 C 线路都可以使用端口 C 的单比特置位/复位功能设置为逻辑 1 或重置为逻辑 0。此功能减少了基于控制的应用程序中的软件需求。此功能仅针对端口 C 提供。此功能还用于启用/禁用来自 8255 端口的中断。
这三个端口的功能由控制端口的内容决定。控制端口只能由微处理器写入。Intel 8085 无法读取它。因此,有三个端口可用于 I/O 操作,以及一个控制端口来控制这些端口的功能。8255 内部的端口通过地址输入引脚 A1 和 A0 由 8085 选择进行通信,如上表所示。数据传输的方向由 RD* 和 WR* 输入信号决定。当然,在选择 8255 内部的端口之前,必须首先通过激活 CS* 信号来选择 8255 芯片。例如,当 CS* = 0、WR* = 0、A1 = 1 和 A0 = 1 时,控制端口被写入 8085 在 8255 的 D7-0 引脚上发送的内容。因此,A1 和 A0 以及 RD*、WR* 和 CS* 决定了 8085 与 8255 通信的方式。
8255 可以连接到微型计算机系统中,作为内存映射 I/O 或 I/O 映射 I/O。假设我们希望 8255 连接为 I/O 映射 I/O,端口 A、端口 B、端口 C 和控制端口的地址分别为 20H、21H、22H 和 23H。然后,一个可能的芯片选择电路如图所示。在此图中,A7-0 可以代替 A15-8 使用。
类似地,假设我们希望 8255 连接为内存映射 I/O,端口 A、端口 B、端口 C 和控制端口的地址分别为 FFFCH、FFFFH、FFFEH 和 FFFFH。然后,一个可能的芯片选择电路如图所示。在此图中,A7-0 是使用 8212 或 74LS373 作为地址锁存器生成的地址的低字节。