Bootstrap

第4章 并行输入、输出接口

8255A的基本特性

8255A是一个并行I/O接口芯片

具有两个8位(A和B口)和两个4位(C口高/低四位),最多可达24位的并行输入输出

能适应CPU与I/O接口之间的多种数据传送方式的要求。

如无条件传送,应答方式(查询)传送,中断方式传送。

可执行功能强

方式字和控制字为用户如何根据外界条件来构成多种接口电路

C口使用特殊,除数据口外,当工作在方式1,2时,部分信号线分配作专用联络信号

C口可按位控制;

CPU取8255A状态时,C口又作1,2方式的状态口用等等。

内部主要由控制寄存器状态寄存器数据寄存器组成,

编程主要是对这三类寄存器进行访问。

方式0 - 无条件传送每个端口输出状态锁存

方式1 - 条件查询传送或中断传送AB一个1一个0,C在1

方式2 - 条件查询传送或中断传送 A2,B0/1,C2

8255A的内部结构

  • 数据总线缓冲器
  • 读写控制逻辑
  • A组和B组控制电路
  • 数据端口A、B、C

8255A的控制字

8255A的工作方式控制字

C口按位控制字

8255A初始化编程

【例4-1】对8255A芯片进行初始化。

要求如下:

A口设定方式0输入,B口方式1输出,C口高4位输入,低4位输出。

其中8255A控制口地址为21BH

控制字的内容为10011100B,即9CH

初始化程序段为

MOV DX,21BH ;间接寻址方式送控制端口地址

MOV AL,9CH ;工作方式控制字赋给AL工作方式控制字送给DX表示的控制端口

OUT DX,AL;

【例4-2】对8255A芯片C口C3进行置位和复位。

其中8255A控制口地址为21BH。

C口控制字的内容为00000111B,即07H。这里D6 D5 D4不用。一般不用位使用0。

初始化程序段为

MOV DX,21BH ;间接寻址方式送控制端口地址

MOV AL,07H

OUT DX,AL ;置位控制字送控制端口

若此时将C3复位,C口控制字的内容为00000110B,即06H。

初始化程序段为

MOV DX,21BH ;间接寻址方式送控制端口地址

MOV AL,06H

OUT DX,AL ;置位控制字送控制端口

;