模式 2—雙向 I/O
在模式 0 或模式 1 中,埠充當輸入埠或輸出埠。這取決於輸入裝置或輸出裝置是否連線到埠。此外,這種模式 2 通常被稱為雙向握手輸入輸出。當微處理器接收資訊,有時也將資訊傳送到連線到 8255 的輸入輸出裝置時,它對我們很有益。例如,可以引用與軟盤控制器卡的通訊過程。由於模式 2 是雙向握手輸入輸出,因此它需要的握手線比單向模式 1(即鎖存輸入輸出)多。
因此,模式 2 的操作利用了埠 C 的五條線用於握手目的。埠 C 的這五條線從 PC7 到 PC3。為了執行輸入操作,當我們將埠 A 配置為模式 2 時,PC5、PC4 和 PC3 引腳提供埠 A 的握手訊號。為了執行輸出操作,當我們將埠 A 配置為模式 2 時,PC7、PC6 和 PC3 引腳提供埠 A 的握手訊號。
示例 1:將埠 A 配置為雙向 I/O 埠,將埠 B 配置為基本輸入埠,並將 PC2-0 配置為輸出線。
所需的模式定義控制字如下所示:
位 0 必須為 0,以指示 PC2-0 為輸出線。在這種情況下,它並不意味著整個埠 C 下部都是輸出,因為 PC3 用於握手目的。
需要注意的是,位 3 是無關緊要的。這是因為埠 C 上部的所有四條線都用於握手目的,其中一些將是輸入引腳,而另一些將是輸出引腳。8255 將自動配置這些握手引腳,因此位 3 是 0 還是 1 都無關緊要。
位 4 是無關緊要的,因為需要埠 A 以雙向模式工作。假設晶片選擇電路如上所示,則實現此要求的指令如下。
MVI A, C2H ; Treating X as 0 OUT 23H
廣告