8255A是Intel公司生产的通用可编程并行I/O接口芯片,主要为Intel 8080/8085而设计,也可用于MCS-51。MCS-51和8255A相连可为外部设备提供三个8位I/O端口,允许采用同步、异步和中断方式传送I/O数据。
8255A是一种通用的可编程并行接口芯片,8255A内部有3个8位的并行I/O端口,即A口、B口和C口。
一、8255A芯片的引脚及其功能
8255A的芯片引脚信号可以分为两组:一组是面向CPU的信号,一组是面向外设的信号。
1.面向外设的引脚信号及功能
PA0-PA7:A组数据信号,用来连接外设;
PB0-PB7:B组数据信号,用来连接外设;
PC0-PC7:C组数据信号,用来连接外设或者作为控制信号。
2.面向CPU的引脚信号及功能
D0-D7:8位,双向,三态数据线,用来与系统数据总线相连。为了连线方便一般总是与低8位相连,对应的偶地址,这是就要考虑地址线的连接;
RESET:复位信号(对8255A的复位),高电平有效,输入,用来清除8255A的内部寄存器,并置A口,B口,C口均为输入方式;
A1,A0:内部口地址的选择,输入。这两个引脚上的信号组合决定对8255A内部的哪一个口或寄存器进行操作。8255A内部共有4个端口:A口,B口,C口和控制口,两个引脚的信号组合选中端口见下表。
前面提到8位数据线接CPU的低8位,因此,CPU,A0= 0,A1接8255A的A0,A2接8255A的A1。与片选结合得到端口地址。(偶地址)
CS,RD,WR,A1,A0这几个信号的组合决定了8255A的所有具体操作, 见下表:
注:对控制口的写有两种情况,根据D7判断。
-1为控制字,
-0为C口的置0置1。
8255A的控制信号与传输动作的对应关系
二、8255A芯片的工作方式
8255A有3种工作方式,方式0、方式1和方式2;它通过对控制寄存器写入不同的控制字来确定3种不同的工作方式。
方式0是基本的输入/输出方式,该方式下的A口8位和B口8位可以由输入的控制字决定为输入或输出,C口分为高4位(PC4-PC7)和低4位(PC0-PC3)两组,也由控制字决定其输入或输出。需要注意的是在该方式下,只能将C口其中一组的四位全部置为输入或输出。