8085 微处理器中的 I/O 读取 (IOR) 机器周期


IN 35H 指令最后阶段的三个时钟周期是 IOR 机器周期的示例。IOR 机器周期的波形如下图所示。

需要注意的是,在 IOR 机器周期中,W 和 Z 具有相同的 8 位端口地址。寄存器对 WZ 中的 16 位值在输入输出读取机器周期中作为地址发出。还需要注意的是,在 IOR 机器周期中,只有数据从寻址的输入端口接收到了累加器。在 8085 处理器中,我们只在 IN a8 指令的执行过程中遇到 IOR 机器周期。

示例:在 8085 指令集中,IN 是一个助记符,它代表将输入端口的内容的字节输入到累加器。输入端口的 8 位地址在指令中指示为 a8。它在内存中占用 2 个字节。第一个字节指定操作码,下一个字节提供 8 位输入端口地址。

助记符,操作数
操作码(十六进制)
字节数
输入端口地址
DB
2

IN F0H 是这种类型的示例指令。下面用一个示例显示此指令执行的结果。


之前
之后
(A)
任何值
ABH
输入端口 F0H
ABH
ABH


IN 指令是唯一用于将输入端口内容读取到累加器的指令。连接具有 F0H 地址的输入端口的可能的芯片选择电路如下图所示。

输入端口 F0H 的芯片选择电路

由于端口地址为 F0H,因此 A7 到 A0 的位应具有位模式

A7 A6 A5 A4 A3 A2 A1 A0 = 1 1 1 1 0 0 0 0,其中 RD* = 0,IO/M* = 1

所有这些位将通过一个与非门,以产生输出逻辑 1 作为芯片选择 (CS),因此输入端口芯片被选中。因此,当 8085 发出地址 F0H、IO/M* 为 1 和 RD* 为 0 时,芯片将响应。换句话说,我们认为它具有输入端口号 F0H。

请注意,可以使用地址 F0H 同时拥有一个输出端口和一个输入端口。当 8085 发出地址 EFH 和 IO/M* 为 1 时,只有一个基于 RD* 和 WR* 信号状态值被选中。因此,可以总共有 256 个输入端口和 256 个输出端口。

地址
十六进制代码
助记符
注释
2000
DB
IN F0H
来自端口地址 F0H 的内容将被写回累加器
2001
F0

F0H 作为端口地址

针对此指令 IN F0H 执行的时序图如下所示:

总结:因此,此指令 OUT 需要 2 个字节、3 个机器周期(操作码提取、内存读取、I/O 读取)和 10 个 T 状态才能执行,如时序图所示。

更新于:2019 年 7 月 30 日

4K+ 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告