8086微机系统中设8255a工作的方式如下从a口读入数据,其最高两位和最低两位清零,其余各位保持不变,然后送闭口输出,回答如下问题18255a具有哪些内部资源?二,如何规定8255a的工作方式?三是编写8255a初始化程序,设8255a口地址为70 HB口,地址为71h,控制口地址为73h
时间: 2023-09-21 18:08:15 浏览: 47
1. 8255a具有以下内部资源:
- 三个I/O端口A、B和C,每个端口8位,共24位。
- 控制寄存器,用于控制I/O端口的工作方式。
- 输入/输出缓冲区,用于存储输入和输出数据。
2. 8255a的工作方式由其控制寄存器来规定。控制寄存器有三个字节,分别对应A、B、C三个端口。每个字节中的各位规定了相应端口的工作方式,包括输入/输出、单向/双向、中断使能等。具体规定如下:
- 第一字节:A端口工作方式
- 位7-5:模式设定,规定A端口的工作模式。
- 位4-3:中断使能,规定A端口是否支持中断。
- 位2-0:IO方式,规定A端口是输入还是输出。
- 第二字节:B端口工作方式
- 位7-5:模式设定,规定B端口的工作模式。
- 位4-3:中断使能,规定B端口是否支持中断。
- 位2-0:IO方式,规定B端口是输入还是输出。
- 第三字节:控制字节
- 位7-6:模式设定,规定C端口的工作模式。
- 位5:是否屏蔽控制字节(为1表示屏蔽)。
- 位4:是否屏蔽A端口中断(为1表示屏蔽)。
- 位3:是否屏蔽B端口中断(为1表示屏蔽)。
- 位2-0:IO方式,规定C端口是输入还是输出。
3. 下面是一个8255a初始化程序的示例,假设8255a口地址为70h、71h、73h:
```
INIT_8255A PROC NEAR
MOV AL, 10000000B ; A口为输出、单向模式、不支持中断
OUT 70H, AL ; 将控制字节写入控制寄存器
MOV AL, 00000000B ; B口为输出、单向模式、不支持中断
OUT 71H, AL ; 将控制字节写入控制寄存器
MOV AL, 00001111B ; C口高4位为输出、低4位为输入、双向模式、不支持中断
OUT 72H, AL ; 将控制字节写入控制寄存器
RET
INIT_8255A ENDP
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)