A0和A1这两根地址线的逻辑组合所对应的端口,这点我明白,但要是结合8086或者80386等之类的CPU的来计算地址的时候就不懂了~请详细解答
8086一般访问8255的时候总是使用偶地址的 所以8255与8086连接的时候8086的A0口是为空的不接的就是A0为0,而8255的A0 A1一般接8086的A1 A2接,你问的算出地址要根据具体的连接图而定 因为8086有20条地址 所以连接8255是会用28译码器之类的芯片
这是读地址时就是8086的A0=0,A1=X,A2=X,A3---A19根据连接的电路确定 可以没有全部接入的A1A2的组合有00,01,10,11分别对应的是8255的A口 B口C口和控制端口的地址 都是二进制的你可以在转换成16进制的就可以了 具体写程序是按照你的喜好定吧
这时你就会发现A,B,C,控制端口的地址之间差2。
这是读地址时就是8086的A0=0,A1=X,A2=X,A3---A19根据连接的电路确定 可以没有全部接入的A1A2的组合有00,01,10,11分别对应的是8255的A口 B口C口和控制端口的地址 都是二进制的你可以在转换成16进制的就可以了 具体写程序是按照你的喜好定吧
这时你就会发现A,B,C,控制端口的地址之间差2。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-12-04
8255有三个口与地址有关,即:CS片选,A0、A1地址选择线。
1、CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.
2、A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.
当A1=0,A0=0时,PA口被选择;
当A1=0,A0=1时,PB口被选择;
当A1=1,A0=0时,PC口被选择;
当A1=1.A0=1时,控制寄存器被选择.
3、与8086相连,比如CS通过接A15,A0、A1接86的A0、A1那么8255的四个地址为:
8000H,8001H,8002H,8003H。
1、CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.
2、A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.
当A1=0,A0=0时,PA口被选择;
当A1=0,A0=1时,PB口被选择;
当A1=1,A0=0时,PC口被选择;
当A1=1.A0=1时,控制寄存器被选择.
3、与8086相连,比如CS通过接A15,A0、A1接86的A0、A1那么8255的四个地址为:
8000H,8001H,8002H,8003H。