8085 微处理器中的 I/O 端口寻址
与机电输入或输出设备(如打印机等)相比,中央处理器和主存储器始终非常准确且快速。在这种情况下,至关重要的是,在与输入/输出设备通信过程中,计算机的数据线不会占用很长时间。否则,整个计算机系统的速度会急剧下降。因此,输入输出设备通过输入输出端口连接到计算机。获取两个指令,称为 IN 和 OUT,其中有 256 个输入端口和 256 个输出端口。为了与打印机通信,CPU 加载连接到打印机的输出端口,该端口以电子速度工作。打印机以大约 15-20 秒的速度打印所有信息。
带有单个端口的 I/O 端口芯片如下所示。
在 8085 指令集中,8085 中有两个指令用于与 I/O 端口通信。它们是 IN 和 OUT 指令。IN 或 OUT 指令助记符后面应跟一个 8 位端口地址。因此,在基于 8085 的微型计算机中,我们可以有 2^8 = 256 个输入端口和 256 个输出端口。IN 和 OUT 都是 2 字节指令。
助记符,操作数 | 操作码(十六进制) | 字节 |
---|---|---|
IN 端口地址 | DB | 2 |
OUT 端口地址 | D3 | 2 |
在 IN 指令的情况下,PORT# 的当前 8 位内容将提供给累加器。假设 PORT# 连接了 8 个 DIP 开关。并且它们的状态为 ON-ON-OFF-ON-ON-ON-OFF-ON。因此,在执行指令 IN PORT# 后,累加器内容将为 1101 1101。
在 OUT 指令的情况下,累加器的当前 8 位内容将复制到 PORT#。假设累加器的初始内容为 0101 0101。并且 8 位端口连接了 8 个 LED。因此,在执行指令 OUT PORT# 后,LED 将具有如下所示的状态:
广告