8255引脚功能:单片机系统里常用的8255芯片是一个典型的可编程通用并行接口芯片,用来扩展单片机的端口,它具有3个8位的并行口,有三种工作方式,可作为单片机与各种外部设备连接的接口威廉希尔官方网站
! 下面介绍8255的引脚图及引脚功能。
PA3-- 1 40 --PA4
PA2-- 2 39 --PA5
PA1-- 3 38 --PA6
PA0-- 4 37 --PA7
RD-- 5 36 --WR
CS-- 6 35 --RESET
GND-- 7 34 --D0
A1-- 8 33 --D1
A0-- 9 32 --D2
PC7-- 10 31 --D3
PC6-- 11 30 --D4
PC5-- 12 29 --D5
PC4-- 13 28 --D6
PC0-- 14 27 --D7
PC1-- 15 26 --VCC
PC2-- 16 25 --PB7
PC-- 17 24 --PB6
PB0-- 18 23 --PB5
PB1-- 19 22 --PB4
PB2-- 20 21 --PB3
8255引脚功能说明:
RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。
PB0~PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。
PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。
CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。
RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。
D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
8255芯片的引脚如图14所示,引脚信号如表4所示。
表4 8255芯片的引脚信号说明
引脚信号 引脚号 引脚名称和功能
Vcc 26 电源的+5V端
GND 7 电源的0端
RESET 35 复位信号输入端。使内部各寄存器清除,置A,B,C口为输入口
36 写信号输入端,使CPU输出的数据或者控制字到8255A
5 读信号输入端。使8255A输出数据或者状态信息到CPU
6 片选端
A1,A0 8,9 地址总线的最低2位。用于决定断口地址:如A1A0为00,是A口:A1A0 为01,是B口:A1A0为10,是C口:A1A0 是11,是控制字寄存器
D7~D0 27~34 双向数据总线
PA7~PA0 37~40 1~4 A口的8位I/O引脚
PB7~PB0 25~18 B口的8位I/O引脚
PC7~PC0 10~13 17~14 C口的8位I/O引脚
数据总线缓冲器:是一个8位的双向三态驱动器,用于与单片机的数据总线相连。
读/写控制逻辑:根据单片机的地址信息(A1 A0 )与控制信息(RD WR RESET),控制片内的数据,CPU控制字,外设状态信息的传送。
控制威廉希尔官方网站
:根据CPU送来的控制字所管I/O 口按一定的方式工作。对C口甚至可按位实现置位或者复位。控制威廉希尔官方网站
分为两组:A组控制威廉希尔官方网站
控制A口及C口的高四位(PC7~PC4),B组控制威廉希尔官方网站
控制B口及C口的低四位(PC3~PC0)。
三个并行I/O端口:A口可编程为8位输入,或者8位输出,或者双向输出:B 口可编程为8位输入,或者8位输出,但是不可以双向传输;C口分为两个4位口,用于输入或者输出,也可以用作A口,B口的状态控制信号。
图14 8255引脚图
3.4.2 8255的操作方式
1)读/写控制逻辑操作选择
由单片机输出的地址A1,A0及控制信号,,来选择口的操作状态。口的操作状态如表5所示
表5 8255的口操作状态
A1 A0 输入操作(读)
0 0 0 1 0 A口——数据总线
0 1 0 1 0 B口——数据总线
1 0 0 1 0 C口——数据总线
输出操作(写)
0 0 1 0 0 数据总线——A口
0 1 1 1 0 数据总线——B口
1 0 1 0 0 数据总线——C口
1 1 1 0 0 数据总线——控制口
禁止操作
— — — — 1 数据总线为三态
1 1 0 1 0 非法状态
— — 0 1 0 数据总线为三态
2)8255的三种工作方式
方式0(基本输入/输出方式):这种工作方式不需要任何选通信号。A口,B口及C口的两个4位口中任何一个端口都可以由程序设定为输入或者输出。作为输出口时,输出数据被锁存:作为输入口,输入数据不锁存。
方式1( 选通输入/输出方式):在这种工作方式下,A,B,C三个口分为两组。A组包括A口和C口的高四位,A口可由编程设定为输入口或者输出口,C口的高四位则是用来作为A口输入/输出操作的控制和同步信号:B组包括B口和C口的低四位,B口可由编程设定为输入口或者输出口,C口的低四位则是用来作为B口输入/输出操作的控制和同步信号。A口和B口的输入或者输出的数据都被锁存。
方式2( 双向传送方式)在这种方式下,A口可以用于双向传送,C口的PC3~PC74用来作为输入/输出的控制同步信号。应该注意的是,只有A口允许用作双向传送,这时B口和PC0~PC2则可编程为方式0或者方式1工作。
3)编程控制字
8255A 的编程选择是通过对控制口输入控制字的方式实现的。控制字有方式选择控制字和C口置位/复位控制字。
方式选择控制字:其格式如下表6所示:
C口置位/复位控制字:C口具有位操作功能,把一个置位/复位控制字送入送入8255A的控制寄存器(控制口)就能把C口的某一位置1或者清0而不影响其他位的状态。C口置位/复位控制的格式与定义如表7所示。
表6 方式选择控制字
D7 D6 D5 D4 D3 D2 D1 D0
A组 B组
控制字
标志
1=方式控制字 方式选择 00=方式0 01=方式1
1*=方式2 A口
1=输入
0=输出 上C口1=输入0=输出 方式选择
00=方式0,01=方式1 B口
1=输入
0=输出 下C口1=输入0=输出
表7 C口置位/复位控制字
D7 D6 D5 D4 D3 D2 D1 D0
控制字标志 位选择 置位
0=位操作 当不用的时候置为 000 0
0
0
0
1
1
1
1 0
0
1
1
0
0
1
1 0
1
0
1
0
1
0
1 BIT0
BIT1
BIT2
BIT3
BIT4
BIT5
BIT6
BIT7
3.4.3 8051与8255的接口方法
51单片机与8255的接口逻辑简单,其接口威廉希尔官方网站
为图15所示,因为8255A芯片内部没有地址锁存能力,所以图中8255A 的片选信号及口地址选择线A1,A0分别由8051的P0.7 和P0.1 经由地址锁存器后提供。如果没有参入选址的地址的状态都看作“1 ”状态,则8255的A,B,C口及控制口地址为FF7CH,FF7DH,FF7EH,FF7FH。当然各口都有重复的地址,8255的复位端与8051的复位端相连,都接到8051的复位威廉希尔官方网站
。