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+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.