8255是美国intel公司产品,因其工作方式和操作功能等可通过程序进行设置和改变,称为可编程接口芯片。
1.8255硬件逻辑结构
8255的全称是“可编程并行输入/输出接口芯片”,具有通用性强且使用灵活等优点,可用于实现80C51系列单片机的并行I/O口扩展。
8255是一个40引脚的双列直插式集成电路芯片,其引脚排列如图7-15所示。
8255A引脚说明:
②CS:片选信号,输入低电平有效。
③RD:读信号,输入低电平有效。
④WR:写信号,输入低电平有效。
⑤D0~D7:三态双向数据总线。
⑥PA0~PA7:端口A数据线,双向。
按功能可把8255的内部结构分为3个逻辑电路部分,分别为口电路、总线接口电路和控制逻辑电路,如图7-16所示。
图7-15 8255芯片引脚排列
图7-16 8255的逻辑结构图
(1)口电路
8255共有3个8位口,其中A口和B口是单纯的数据口,作为数据输入/输出使用;而C口则既可以作数据口使用,又可以作控制口使用,主要用于实现A口和B口的控制功能。在使用中常把C口分为两部分,即C口高位部分(PC7~PC4)和C口低位部分(PC3~PC0)。数据传送中,A口所需的控制信号由C口高4位(PC7~PC4)提供,把A口和C口高位部分合在一起称为A组;同理,把B口和C口低位部分合在一起称为B组。
(2)总线接口电路
总线接口电路用于实现8255和单片机芯片的信号连接。其中包括:
①数据总线缓冲器。数据总线缓冲器为8位双向三态缓冲器,可直接与系统数据总线相连,与I/O操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送的。
②读/写控制逻辑。读/写控制逻辑用于实现8255的硬件管理,其内容包括:芯片的选择,口的寻址以及规定各端口和单片机之间的数据传送方向等。相关的控制信号有:、、、A0、A1、RESET。其中,A0、A1低位地址信号,用于端口选择,8255共有4个可寻址的端口。当RESET复位信号是高电平时,芯片复位后,控制寄存器清0,各端口被置为输入方式。8255端口选择及读/写控制见表7-6。
表7-6 8255端口选择及读/写控制
(3)A组和B组控制电路
A组控制和B组控制合在一起构成8255的控制电路,其中包括一个8位控制寄存器,用于存放编程命令和实现各口操作控制。
(4)中断控制电路
8255逻辑电路中还包含一个中断控制电路。中断控制电路中对应A、B两个口各有一个中断触发器,即触发器A和触发器B,用于对中断的允许和禁止进行控制,置位为允许,复位为禁止。对两个触发器的置位和复位控制是通过口C的有关位进行的,具体划分是,在输入方式下,PC4对应触发器A,PC2对应触发器B;在输出方式下,PC6对应触发器A,PC2对应触发器B。
2.8255的工作方式
8255共有3种工作方式:方式0、方式1和方式2。
(1)方式0(基本输入/输出方式)
方式0适用于无条件数据传送。两个8位口(A口和B口)和两个4位口(C口高位部分和C口低位部分)都可以分别或同时设置为方式0。
(2)方式1(选通输入/输出方式)
方式1是选通输入/输出方式。8255的“选通”是通过信号的“问”与“答”,以联络方式(或称握手方式)实现的。所以这种数据传送方式是有条件的,适用于以查询或中断方式进行控制。(www.xing528.com)
在方式1下,A口和B口是数据口,C口是控制口,用于传送和保存数据口所需要的联络信号都有具体的定义。这些联络信号见表7-7。
表7-7 C口联络信号表
在该方式下,A口和B口的联络信号都是3个。在具体应用中,如果只有一个口按方式1使用,需占用11位(8+3=11)口线,剩下的13位口线可按其他方式使用;如果两个口都按方式1使用,则只剩下2位口线可做它用。
(3)方式2(双向数据传送方式)
方式2是在方式1的基础上加上双向传送功能,只有A口才能选择这种工作方式,这时A口既能输入数据又能输出数据。如果把A口置于方式2下,则B口只能工作于方式0。方式2适用于查询或中断方式的双向数据传送。在这种方式下需使用C口的5位口线作控制线。
3.8255的编程内容
8255是可编程接口芯片,主要编程内容是两条控制命令,即工作方式命令和C口位置位/复位命令。
(1)工作方式命令
工作方式命令用于设定各数据口的工作方式及数据传送方向。命令的最高位D7是标志位,其状态固定为1。其命令格式如图7-17所示。
对工作方式命令有如下两点说明:
◆A口有3种工作方式,而B口只有两种工作方式。
◆在方式1和方式2下,对C口的定义(输入或输出)不影响作为联络信号使用的C口各位的功能。
(2)C口位置位/复位命令
在方式1和方式2下,C口用于定义控制信号和状态信号,因此C口的每一位都可以进行置位或复位。对C口各位的置位或复位是由位置位/复位命令进行的。8255的位置位/复位命令格式如图7-18所示。
图7-17 8255工作方式的命令格式
图7-18 8255的位置位/复位命令格式
其中,D7为该命令的标志,其状态固定为0。在使用时,该命令每次只能对C口中的一位进行置位或复位。
(3)接口与初始化编程
8255初始化的内容就是向控制字寄存器写入命令。例如,若对8255各口作如下设置:A口方式0输入;B口方式1输出;C口高位部分为输出,低位部分为输入。设控制寄存器地址为0003H。按各口的设置要求,工作方式命令字为10010101,即95H。则初始化程序段应为
MOV R0,#03H
MOV 1,#95H
MOV@R0,A
4.8255的I/O控制方式
8255中可以使用无条件方式、查询方式和中断方式共3种I/O控制方式。
(1)无条件方式
以方式0进行数据输入/输出,就是无条件传送方式。
(2)查询方式
在方式1和方式2下,都可以使用查询方式进行数据传送。数据输入时,供查询的状态信号是IBF(对应A口为IBFA,B口为IBFB),因为传送这些信号的口线分别为PC5和PC1,所以查询时就是对输入这些口线的状态进行测试。数据输出时,供查询的状态信号是OBF(对应A口为OBFA,B口为OBFB),被测试的口线为PC7和PC1。
(3)中断方式
在方式1和方式2下,都可以使用中断方式进行数据传送。中断请求信号是INTR(对应A口为INTRA,B口为INTRB),传送中断请求信号的口线分别为PC3和PC0。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。