如果8255A的端口A,B和C设置为方式0,且端口A和B用于输入,而端口C用于输出,那么控制字为?

如题所述

8255 有三种工作方式

方式0(基本输入输出方式):
不需任何选通信号,A口、B口、高半C口、低半C口,者可被设定为输入或输出。
作输出口时输出数据存锁;作输入口时输入数据不存锁。

方式1(选通输入输出方式):
A、B、C 三个口分为两组。
A组包括A口及高半C口,A口可编程设定为输入或输出,高半C口作I/O控制及同步信号;
B组包括B口及低半C口,B口可编程设定为输入或输出,低半C口作I/O控制及同步信号;
A口、B口的输入/输出数据都被存锁。

方式2(双向总线方式):
A口(仅A口)作8位双向总线,C口的PC3~PC7位用作I/O控制及同步信号;
B口及C口的PC0~PC2可编程设定为方式0或方式1工作。追问

我想知道在控制寄存器中应该要写入什么样的控制字?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-02-21
设8255的A、B和C口工作在方式0下,能循环查询输入输出,当查询到PC1=1时结束本程序;查询到PC1=0且PC0=1时,从A口读入数据,将其高四位取反,低四位保持不变,然后送B口输出。试编写8255初始化和应用程序(设8255  A、B、C口和控制端口地址为70H-73H)。

参考答案
答:MOV AL,10011001B  ;A入0方式,B出0方式,C入

OUT 73H,AL

IN AL,72H

WAIT:TEST AL,2

JNZ  DONE

TEST AL,1

JZ  WAIT

IN AL,70H

XOR AL,0F0H

OUT 71H,AL

JMP  WAIT

DONE:RET
第2个回答  2021-12-27
mox al 10010010B
相似回答