8255是一种可编程并行I/O接口芯片,它支持三种不同的工作方式。要选择8255的工作方式,需要向其控制寄存器写入一个控制字。以下是三种工作方式及其对应的控制字格式:
1. 方式0(简单I/O):
控制字格式:D7 D6 D5 D4 D3 D2 D1 D0
D7:总是为0
D6:总是为0
D5:选择A组或B组
0:选择A组
1:选择B组
D4:选择C组
0:选择C组
1:不使用C组
D3:A组输出/输入选择
0:A组为输入
1:A组为输出
D2:B组输出/输入选择
0:B组为输入
1:B组为输出
D1:C组端口的位操作
0:C组为位操作
1:C组为位操作
D0:不使用
例如,要设置A组为输出,B组为输入,不使用C组,控制字为:0011 0000 B'00110000'。
2. 方式1(应答式I/O):
控制字格式:D7 D6 D5 D4 D3 D2 D1 D0
D7:总是为0
D6:总是为0
D5:选择A组或B组
0:选择A组
1:选择B组
D4:选择C组
0:选择C组
1:不使用C组
D3:A组输出/输入选择
0:A组为输入
1:A组为输出
D2:B组输出/输入选择
0:B组为输入
1:B组为输出
D1:A组/控制字选择
0:A组为输入
1:A组为输出
D0:B组/控制字选择
0:B组为输入
1:B组为输出
例如,要设置A组为输出,B组为输入,不使用C组,控制字为:0011 0000 B'00110000'。
3. 方式2(双向I/O):
控制字格式:D7 D6 D5 D4 D3 D2 D1 D0
D7:总是为0
D6:总是为0
D5:选择A组或B组
0:选择A组
1:选择B组
D4:选择C组
0:选择C组
1:不使用C组
D3:A组输出/输入选择
0:A组为输入
1:A组为输出
D2:B组输出/输入选择
0:B组为输入
1:B组为输出
D1:A组/控制字选择
0:A组为输入
1:A组为输出
D0:B组/控制字选择
0:B组为输入
1:B组为输出
例如,要设置A组为双向I/O,B组为输入,不使用C组,控制字为:0011 0000 B'00110000'。
请注意,具体的控制字设置取决于您希望8255工作在哪种方式以及您对各个端口的配置需求。
发表回复
评论列表(0条)