8085微处理器中的I/O写(IOW)机器周期


OUT 25H指令的最后三个时钟周期是IOW机器周期的示例。IOW机器周期的波形如下图所示

需要注意的是,在IOW机器周期中,W和Z寄存器具有相同的8位端口地址。当我们使用8755(2K×8 EPROM和两个8位端口)和8155(256×8 RAM、3个输入输出端口和14位定时器)时,地址在A15-8和AD7-0上的重复也具有一定的优势。除了8085处理器外,我们还可以仅使用这两个芯片来构成一个基于8085的微型计算机。此外,除了需要最小芯片微型计算机配置的情况外,这些芯片在如今并不受欢迎。

寄存器对WZ中的16位值作为地址在IOW机器周期中发出。还需要注意的是,在IOW机器周期中,只有累加器的内容作为数据发送到寻址的输出端口。在8085中,我们只在执行OUT a8指令的过程中遇到IOW机器周期。

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

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

 

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

 
之前
之后
(A)
ABH
ABH
输出端口F0H
任意值
ABH


OUT指令是唯一可以将累加器内容发送到输出端口的指令。连接地址为F0H的输出端口的可能的芯片选择电路如下面的图所示。

 

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

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

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

请注意,可以使用地址F0H的输入端口和具有相同地址F0H的输出端口。当8085发出地址为EFH和IO/M*为1时,根据RD*和WR*信号状态值选择其中一个。因此,可以有总共256个输入端口和总共256个输出端口。

 

地址
十六进制代码
助记符
注释
2000
D3
OUT F0H
累加器内容将发送到端口地址F0H
2001
F0
 
F0H作为端口地址

 

执行此指令OUT F0H的时序图如下所示 -

 


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



更新于:2019年7月30日

2K+ 浏览量

开启您的职业生涯

通过完成课程获得认证

开始学习
广告