八章 并行通信和8255A

八章 并行通信和8255A
八章 并行通信和8255A

第八章并行通信和8255A

第一节并行通信基础知识

一、并行通信和并行接口

所谓并行通信是指数据通过多条线路同时进行传送;并行接口是实现CPU与外设之间并行通讯的接口。

并行通信速度快,适宜短距离传送。

二、并行接口的内部组成

由控制寄存器、状态寄存器、输入缓冲数据寄存器、输出锁存数据寄存器

三、并行接口输入、输出数据的过程

1、输入过程

外设数据准备好----数据送入接口,发出“STB”信号---状态位置“1”,发出中断请求信号----CPU读取数据,状态位置“0”。

2、输出过程

缓冲器为空----状态位置“1”,发出中断请求信号----CPU 向端口送数据,状态位置“0”。----数据送入外设,发出READY

第二节并行接口芯片8255A

一、内部基本结构

1、内部有三个数据端口:A口、B口、C口,用以输入、输出数据,其中C口作用较为特殊,可以作为控制口。

2、A口控制部件:控制A口和C口高四位的读写

3、B口控制部件:控制B口和C口低四位的读写。

4、读写控制逻辑:用以接收系统的控制信号,负责对A、B、C口进行控制管理。

5、数据总线缓冲器:用以暂时存放CPU与外设之间传送的信息。(状态、控制、数据)

二、8255A的引脚信号

共有40个引脚,分别为:

1、与外设连接的引脚信号:即A、B、C三个端口。

PA0—PA7:作为A口与外设间的传递数据通道

PB0—PB7:作为B口与外设间的传递数据通道

PC0—PC7:可以作为C口与外设间的传递数据通道,也可以作为A口或B口的控制、联络信号

2、与CPU连接的引脚信号:

(1)RESET:有效时8255A内部寄存器清零,A、B、C口为输入状态

(2)CS:片选信号,地址译码器产生(A15—A2)

(3)A0A1:端口选择信号,从00到11分别选中A、B、C、控制端口(只能写入,不能读出)。

三、8255A的控制字

有两个控制字,分别是方式控制字和C口按位置、复位控制字。

1、方式控制字

A组电路控制 B组电路控制

D7=1,该控制字标志。

D3~D6,A组电路控制。其中,D6D5用以A口的方式选择,00到10对应A口的方式0到方式2,11无效状态;D4用以决定A口工作于输入或输出状态,1入0出;D3用以决定C 口高四位工作于输入或输出状态,1入0出。

D2~D0,B组电路控制。其中,D2用以B口的方式选择,01对应B口的方式0到方式1;D1用以决定B口工作于输入或输出状态,1入0出;D0用以决定C口低四位工作于输入或输出状态,1入0出。

该控制字从控制端口写入。

例:如控制字82H,说明设置情况。

2、C口按位置、复位控制字

用以设置C口某位输出高电平还是低电平

无效位 C口位的选择置/复位

D7=0,该控制字标志。

D4~D6,无效位。

D3~D1,D3~D1的顺序排列组合用以表明选择C口的哪一个二进制位。

D0,决定对选中的二进制位是置位还是复位操作,“1”,置位;“0”,复位。

例:将C口的PC2置1,写出控制字。

注意:

●当需要用C口的某位作为外设控制、联络信号时,则应该

设置该控制字。

●该控制字一次只能对一位二进制位设置。

●必须从控制端口写入。

四、8255A的工作方式

8255A的工作方式有0、1、2三种,但并不是每一个端口都有这三种工作方式。

1、方式0

是一种基本的输入输出方式,A、B、C三个口均可以工作在该种方式。

(1)特点

工作于此种方式端口无固定应答线,与其他的端口无必然联系,可作为独立的数据输入输出端口。适用于无条件传送方式和查询/条件传送方式。

●无条件方式:CPU和I/O间可以同步,可以设置某端口工

作于方式0

●查询方式:A、B口可以作为独立数据端口,C口作为联络

控制信号,此时C口高四位与低四位的输入输出状态相

反。

2、方式1

选通的输入输出方式,A口和B口拥有方式1

(1)特点

工作在方式1的A口和B口,8255A为它指定C口的某些位作为控制、状态信号

(2)该方式输入端口的一些重要联络线

(A)STB:选通信号,输入信号,低电平有效,以表示数据表示好

(B)IBF:输出信号,高电平有效,表示输入缓冲器满(C)INTR:输出信号,高电平有效,接口芯片数据准备好,CPU准备读取

(D)INTE:中断允许标志,为1时允许中断

注意:

IBF、STB、INTE均有效才能发出INTR

STB时,IBF有效,RD时,IBF失效

A口输入

PC3—INTRA

PC4—STBA

PC5—IBFA

B口输入

PC0—INTRB

PC1—IBFA

PC2—STBA

时序

注意以上几根联络线的情况

(3)该方式输出端口的一些重要联络线

(A)OBF:输出信号,低电平有效,表示输出数据准备好(B)ACK:输出信号,低电平有效,以示外设接收到数据(C)INTR:输出信号,高电平有效,表示8255A端口准备好

(D)INTE:中断允许标志,为1时允许中断

注意:

ACK、OBF、INTE均有效才能发出INTR

ACK时,OBF失效,WR时,IBF有效

A口输出

PC5—INTRA

PC6—ACKA

PC7—OBFA

B口输入

PC0—INTRB

PC1—OBFA

PC2—ACKA

时序

注意以上几根联络线的情况

(4)方式1适用场合

查询数据传送方式(测试C1/C5/C7)

中断数据传送方式(设置INTE,1至C2/C6/C8)

3、方式2

双向输入输出方式,仅有A口拥有方式2

(1)特点

双向数据传送,8255A为A口提供的控制状态为:C3、C4、

C5、C6、C7

(2)该方式A口的一些重要联络线

(A)OBF--PC7

(B)IBF—PC5

(C)STB—PC4

(D)ACK—PC6

(E)INTR—PC3

(F)INTE1—输入中断允许标志,C4设置

(G)INTE2--输出中断允许标志,C6设置

注意:

ACK、OBF、INTE2均有效才能发出INTR(输出)

STB、IBF、INTE1均有效才能发出INTR(输入)

(3)方式2适用场合

具有双向数据输入、输出的外设

(A)查询数据传送方式(测试C5/C7,5入7出)

(B)中断数据传送方式(设置INTE,1至INTE1/INTE2)

(4)方式2时其他端口的情况

(A)其他端口不用

(B)B口在方式0

(C)B口在方式1

五、8255A的应用

1、查询方式

初始化—读入8255A状态位(C1/C5/C7)--Ci为0时继续读状态位,为1A口或B口读写数据---处理完则结束,未完再读状态位

2、中断方式

主程序:初始化—设置INTE为1---STI—等待

中断服务程序:保护现场—设置INTE为0—0至C2/C4/C6—STI—与8255A交换数据—CLI—恢复现场—IRET

相关主题
相关文档
最新文档