已知8255芯片的A口地址为0A4H,试分析当CPU执行输出指令访问0A7H端口时,该端口是8255A哪一个端口?

长风万里2023-02-01  20

8255芯片中的A1A0地址分配如下:

那么在规定使用接口地址的最低两位作为芯片内部寻址时,即是占用了CPU的地址低位字节中的A1A0地址,那么当以 A7A6A5A4A3A2=101001 作为8255芯片的选通信号时,则访问8255的地址就是:A7A6A5A4A3A2A1A0=101001XX(= 0a4h~0a7h)

当8255芯片的A口地址为0A4H时,后续的地址 0A5H、0A6H、0A7H 则分别指向B口、C口、及控制寄存器;

8255A 的端口C有一个8位数据输出存锁/缓冲器,一个8位数据输入缓冲器(不存锁),可由方式控制字设定分为两个位口,亦可作为A、B口选通方式的状态制作信号。

C口还有位控制功能,可由置位控制字对C口某个位置位1或复位2。

例如,置位控制字为05H(0000 0101),则令PC置位为1;

又如,置位控制字为08H(0000 1000),则令PC复位为0。

扩展资料:

8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。

8255芯片特性:

1、一个并行输入、输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口。

2、具有24个可编程设置的I/O口,即3组8位的I/O口为PA口,PB口和PC口。它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3)。A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;

B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定。

8255芯片可扩展的接口有:A口、B口、C口

A1和A0口控制端口的选择,在8255芯片中作为选择信号来对8255内部的3个数据端口和1个控制端口的选择,具体如下:

A1A0=00,选中A端口

A1A0=01,选中B端口

A1A0=10,选中C端口

A1A0=11,选中控制口

(悄悄告诉你我是在做学习通上单片机老师布置的作业时因在网上搜索这个问题的答案看到的一模一样的问题,猜测你不会是我的同学吧?(坏笑坏笑))


转载请注明原文地址:https://juke.outofmemory.cn/read/2861669.html

最新回复(0)