您的当前位置:首页正文

8255

2020-04-11 来源:好走旅游网


8255可编程并行I/O接口芯片

1. 8255 的电路结构和功能

8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。

8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。

1)与CPU连接部分

根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0~A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下:

(1)数据总线DB:编号为D0~D7,用于8255与CPU传送8位数据。

(2)地址总线AB:编号为A0~A1,用于选择A、B、C口与控制寄存器。

(3)控制总线CB:片选信号CS、复位信号RST、写信号WR、读信号RD。当CPU要对8255进行读、写操作时,必须先向8255发片选信号CS选中8255芯片,然后发读

信号RD或写信号WR对8255进行读或写数据的操作。

2)与外设接口部分

根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。各通道的引脚编号如下:

(1)A口:编号为PA0~PA7,用于8255向外设输入输出8位并行数据。

(2)B口:编号为PB0~PB7,用于8255向外设输入输出8位并行数据。

(3)C口:编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。

3)控制器

8255将3个通道分为两组,即PA0~PA7与PC4~PC7组成A组,PB0~PB7与PC0~PC3组成B组。如图7.5所示,相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下:

(1)A组控制器:控制A口与上C口的输入与输出。

(2)B组控制器:控制B口与下C口的输入与输出。

2. 8255芯片引脚与CPU的连接

8255是一个40引脚的双列直插式芯片, 图1为8255的引脚图。8255与CPU的连接方式是多种多样的,本节以AT89C52与8255的连接为例说明8255与CPU的连接方法,同时也介绍8255各芯片引脚的功能与作用。

图1 8255的引脚图

图2为8255与AT89C52的连接图。由于AT89C52与8255的连接就是3总线的连接。因此,下面将以3总线形式讲述连接方法。

图2 8255与AT89C52的连接图

1)数据总线DB引脚

8255的数据总线DB有8根:D0~D7。因为AT89C52用其P0口作为数据总线口,所以AT89C52与8255数据线连接为:AT89C52的P0.0~P0.7与8255的D0~D7连接。如图2所示。

2)地址总线AB引脚

8255的地址线AB有两根:A0~A1。A0、A1通过74HC373锁存器与AT89C52的P0.0、P0.1连接。A1A0取00~11值,可选择A、B、C口与控制寄存器,选择方法如下:

A1A0=00:选择A口。

A1A0=01:选择B口。

A1A0=10:选择C口。

A1A0=11:选择控制寄存器。

3)控制总线CB

片选信号CS:由P2.5~P2.7经138译码器Y7产生。若要选中8255,则Y7必须有效,此时P2.7P2.6P2.5=111。由此可推知各口地址如下:

A口:111x~x00=E000H(当x~x=0~0时)。

B口:111x~x01=E001H(当x~x=0~0时)。

C口:111x~x10=E002H(当x~x=0~0时)。

控制口: 111x~x11=E003H(当x~x=0~0时)。

其中,x~x表示取值可任意,以各口地址不唯一。为了今后叙述方便,后面程序中8255的地址将全部使用E000H~E003H。

注意:此处要说明的是单片机与8255的连接方法是多种多样的,8255各口地址也随连接方式而变化。因此,读者在使用不同单片机系统时,8255的各口地址不会是上面所推导的E000H~E003H,本书仅是为了介绍一种具体的连接方法而导出上面的地址,这一点请读者一定要注意。读者在使用其他单片机系统时,只要将所用单片机系统8255各口地址做相应替换即可。

(1)读信号RD:8255的读信号RD与AT89C52的RD相连。

(2)写信号WR:8255的写信号WR与AT89C52的WR相连。

(3)复位信号RST:8255的复位信号RST与AT89C52的RST相连。

4)3个通道引脚

(1)A口的8个引脚PA0~PA7与外设连接,用于8位数据的输入与输出。

(2)B口的8个引脚PB0~PB7与外设连接,用于8位数据的输入与输出。

(3)C口的8个引脚PC0~PC7与外设连接,用于8位数据的输入与输出或通信线。

3. 8255的工作方式

由8255的定义可知,8255有3种工作方式,这3种工作方式如表1所示。方式0为基本I/O输入/输出方式,这是8255最常用,也是最基本的工作方式。方式1为应答I/O方式,当8255工作于应答I/O方式时,上C口作为A口的通信线,下C口作为B口的通信线。方式2为双向应答I/O方式,此方式仅A口使用,B口无双向I/O应答方式。8255的3种工作方式的选择由8255工作方式选择字决定,下面介绍8255的工作方式选择字。

表1 8255的工作方式

4. 8255初始化

1)工作方式选择字

8255工作方式选择字共8位,如图3所示,存放在8255控制寄存器中。最高位D7为标志位,D7=1表示控制寄存器中存放的是工作方式选择字,D7 = 0表示控制寄存器中存放的是C口置位/复位控制字。

图3 8255的工作方式选择字

D3~D6用于A组的控制,D6D5 = 00表示A组工作于基本I/O方式0,D6D5 = 01表示A组工作于应答I/O方式1,D6D5 = 1x表示A组工作于双向应答I/O方式2(x取0或1)。D4 = 1表示A口工作于输入方式,D4 = 0表示A口工作于输出方式,D3 = 1表示上C口工作于输入方式,D3 = 0表示上C口工作于输出方式。

D0~D2用于B组的控制,各位含义如图3所示。D2 = 0表示B组工作于基本I/O方式0,D2 = 1表示B组工作于应答I/O方式1。D1 = 1表示B口工作于输入方式,D1 = 0表示B口工作于输出方式,D0 = 1表示下C口工作于输入方式,D0 = 0表示下C口工作于输出方式。工作方式字应输入控制寄存器,按上面的连接方式,控制寄存器的地址为E003H。

所谓8255初始化,就是要根据工作要求确定8255工作方式选择字,并输入8255控制寄存器。

2)C口置/复位控制字

8255的C口可进行位操作,即可对8255C口的每一位进行置位或清0操作,该操作

是通过设置C口置/复位字实现的。C口置/复位字共8位,各位含义如图4所示。

图4 C口置/复位控制字

由于8255的工作方式选择字与C口置/复位字共用一个控制寄存器,故特别设置D7为标志位,D7=0表示控制字为C口置/复位字,D7 = 1表示控制字为8255工作方式选择字。D6D5D4不用,常取000。D3D2D1为C口8个引脚PC0~PC7的选择位,D3D2D1 = 000选择PC0,D3D2D1 = 001选择PC1,……D3D2D1=111选择PC7。D0为置位或清0选择位,D0 = 0表示由D3D2D1选择的位清0,D0 = 1表示由D3D2D1选择的位置1。C口置/复位字必须输入8255控制寄存器。

因篇幅问题不能全部显示,请点此查看更多更全内容