可编程并行接口芯片8255A

合集下载

8255A芯片

8255A芯片

8255A芯片8255A芯片是一种集成了并行输入/输出接口功能的芯片,由Intel公司推出。

它具有三个可编程I/O端口,每个端口都可以配置为输入或输出。

它提供了高度灵活性和可编程性,使其成为许多数字系统中常用的接口芯片。

8255A芯片的主要特点如下:1. 并行接口:8255A芯片具有三个并行I/O端口,即A、B和C端口。

每个端口都有8位,可以单独配置为输入或输出。

2. 可编程:8255A芯片可以通过编程来配置其各个端口的功能。

通过写入控制字寄存器,可以设置端口的工作模式,如输入模式、输出模式、双向模式等。

3. 单独I/O地址:8255A芯片具有单独的I/O地址,通过在I/O地址总线上设置相应的地址来访问芯片的寄存器。

4. 简化接口设计:8255A芯片的引脚数量相对较少,使得系统设计更加简化和便捷。

它可以直接与微处理器或其他逻辑芯片相连接,提供了与外部设备的接口。

5. 高可靠性:8255A芯片采用了逻辑门阵列和静态RAM组成的结构,具有较高的可靠性和稳定性。

8255A芯片的主要应用领域包括:1. 工业自动化系统:8255A芯片可以用于工业控制和自动化系统中,作为输入和输出设备的接口。

例如,它可以与传感器和执行器连接,实现对设备的监控和控制。

2. 仪器设备:8255A芯片可以用于仪器设备中,提供与外部设备的数据交换和控制接口。

例如,它可以用于示波器、频谱分析仪等设备中。

3. 计算机外部设备:8255A芯片可以用于计算机外部设备的接口,如打印机、磁盘驱动器等。

它可以实现对这些设备的数据传输和控制。

4. 数据采集系统:8255A芯片可以用于数据采集系统中,用于接收传感器的模拟信号并将其转换为数字信号。

总之,8255A芯片是一种功能强大的并行输入/输出接口芯片,具有灵活的配置和简化的接口设计。

它在工业自动化、仪器设备、计算机外部设备等领域具有广泛的应用。

8255可编程并行接口知识点总结

8255可编程并行接口知识点总结

8255可编程并⾏接⼝知识点总结可编程并⾏接⼝8255知识点总结8255A 是INTEL系列的并⾏接⼝芯⽚,由于它是⼀种可编程的外部接⼝部件,通常作为微机系统总线与外部设备的接⼝控制部件,可通过软件来设置芯⽚的⼯作⽅式,⽤8255A 连接外部设备时,通常不需要附加外部电路,给使⽤带来很⼤的⽅便。

1、内部结构2、引脚说明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进⾏读、写与⽚选操作,所以控制线为⽚选、复位、读、写信号。

各信号的引脚编号如下:总线分类:(2)与外设接⼝部分8255有3个通道A、B、C与外设连接,每个通道⼜有8根线与外设连接,所以8255可以⽤24根线与外设连接,若进⾏开关量控制,则8255可同时控制24路开关。

①数据端⼝A、B、C端⼝A(PA0-PA7):对应了1个8位的数据输⼊锁存器和1个数据输出锁存/缓冲器。

所以A 作为输⼊或输出时,数据均受到锁存。

端⼝B(PB0-PB7):对应了1个8位的数据输⼊缓冲器和1个数据输出锁存器/缓冲器。

所以B 输⼊锁存,输出不受到锁存。

端⼝C(PC0-PB7):对应1个8位数据缓冲器和1个数据输出锁存/缓冲器,所以C输⼊不锁村,输出锁存。

当8255⼯作于应答I/O⽅式时,C⼝⽤于应答信号的通信。

A、B组的逻辑控制功能A组:组成:端⼝A(PA0-PA7)和端⼝C的⾼4位(PC4-PC7)这⼏个端⼝由A组统⼀进⾏逻辑控制。

可编程并行接口实验(8255A方式1)

可编程并行接口实验(8255A方式1)

可编程并行接口实验(8255A方式1)实验目的掌握8255A工作方式1的使用方法;进一步掌握编写中断服务程序的方法。

实验内容1.8255A选通行输出实验,具体要求:(1)设置8255A的A 口工作在方式1输出;(2)每按一次单脉冲按钮产生一个正脉冲使8255A产生一次中断;(3)设计中断服务程序:依次输出01H,02H,04H,08H,10H,20H,40H,80H。

使L0—L7依次发光。

2.8255A选通行输入实验,具体要求:(1)设置8255A的A 口工作在方式1输入;(2)每按一次单脉冲按钮产生一个正脉冲使8255A产生一次中断;(3)设计中断服务程序:读取开关表示的ASCII码,在屏幕上显示其对应的字符。

实验连线1实验内容1连线(1)8255A芯片的A口PA7~PA0连发光二极管L7~L0;(2)PC3连接IRQ;(3)PC6连接单脉冲发生器。

2实验内容2连线(1)8255A芯片的A口PA7~PA0连逻辑开关K7~K0;(2)PC3连接IRQ;(3)PC4连接单脉冲发生。

流程图这是试验2的流程图,实验1相似实验代码试验2的代码是在试验1的代码基础上稍作改动,这里只列出试验2的代码:ASSUME CS:CODE,DS:DATADATA SEGMENT ;数据段定义IOPORT EQU 5400H-280HIOPORT_CENT EQU 5000H ;9054芯片的I/O起始地址MASKZ EQU 0FBH ;8259A主片屏蔽码MASKC EQU 0F7H ;8259A从片屏蔽码INTNUM DW 0 ;保存ES的定义量INTNUMSE DW 0 ;保存BX的定义量DA TA ENDSSTACK1 SEGMENT STACK ‘STACK1’DB 50 DUP(?)STACK1 ENDSCODE SEGMENT ;代码段定义START:MOV DX,IOPORT+28BH ;根据实验连线,此次实验控制口为540BH MOV AL,0B0H ; 设置8255A的控制关键字(设置成方式1,端口A输入) OUT DX,ALCLI ;关中断MOV DX,IOPORT_CENT+68H ;设置9054芯片使能寄存器IN AX,DXOR AX,0900HOUT DX,AX;得到原中断向量并保存MOV AH,35H ;取中段向量MOV AL,73H ;针对本台计算机查表得出中断类型号为73HINT 21HMOV INTNUMSE,BX ;保存BXMOV AX, ES ;保存ESMOV INTNUM, AX;设置新中断向量MOV AX,CSMOV DS,AXMOV DX,OFFSET INTPROC ;设置新的中断向量MOV AL,073HMOV AH,25HINT 21H;设置中断屏蔽寄存器IN AL,21H ;8259A主片的中断屏蔽寄存器端口地址为21HAND AL,MASKZ ;中断屏蔽寄存器中主片相应位置1,本实验中第三位置1 OUT 21H,ALIN AL,0A1H ;8259A从片的中断屏蔽寄存器端口地址为0A1HAND AL,MASKCOUT 0A1H,AL ;中断屏蔽寄存器中从片相应位置1,本实验中第四位置1 STI ;开中断MOV AL,00001001B ;设置PC4为1MOV DX,IOPORT+28BHOUT DX,ALOUTER:MOV AH,01H ;判断是否有任意键按下INT 16HJZ OUTER ;没有键按下程序重复MOV AX, INTNUM ;恢复原中断向量MOV DS,AXMOV DX, INTNUMSEMOV AL,073HMOV AH,25HINT 21H;恢复中断屏蔽寄存器IN AL,21HOR AL,04HOUT 21H,ALIN AL,0A1HOR AL,08HOUT 0A1H,ALMOV DX,IOPORT_CENT+68H ;关闭9054IN AX,DXOR AX,0F6FFHOUT DX,AXMOV AH,4CH ;有键按下,程序结束,返回DOS界面INT 21H;中断服务子程序INTPROC:PUSH AX ;寄存器入栈保护PUSH BXPUSH CXPUSH DXPUSH DSSTI ;开中断MOV CX,0FFFFHH: LOOP HMOV DX,IOPORT+288H ;A口输入IN AL,DXMOV DL,AL ;输出开关所对应的字符MOV AH,02HINT 21HMOV AL,20H ;发出EOI结束中断OUT 20H,ALOUT 0A0H,ALCLI ;关中断POP DS ;寄存器出栈POP DXPOP CXPOP BXPOP AXIRET ;中断返回CODE ENDSEND START结果描述试验1:每按一次单脉冲,L0~L7依次发光。

可编程并行接口芯片8255A

可编程并行接口芯片8255A

大规模控制系统的需求。
8255A与可编程逻辑器件的结合,可以实现高速、实时的数据
03
采集和控制。
在数据采集与控制系统中的应用
8255A在数据采集与控制系统中,可以作为数据传输的桥梁,实现快速、稳定的数 据传输。
通过8255A,可以实现多路数据的并行采集和处理,提高了数据处理的效率。
8255A在数据采集与控制系统中,可以作为主控制器,协调各个模块的工作,保证 系统的稳定运行。
微处理器可以通过8255A实现对 外部设备的控制,扩展了微处理
器的控制能力。
8255A可以作为微处理器的输入 /输出接口,实现人机交互和数据
采集。
与可编程逻辑器件连接的应用
01
8255A可以与可编程逻辑器件连接,实现复杂的逻辑控制和数 据处理。
02
通过8255A,可编程逻辑器件可以扩展其输入/输出端口,满足
根据实际需求,设定8255A的数据格式,包括数据位、停止位、 奇偶校验位等。
数据读写操作
通过数据传输编程实现对8255A的数据读写操作,包括读数据、 写数据、读写同时操作等。
PART 05
8255A的应用实例
与微处理器连接的应用
8255A与微处理器连接,可以实 现并行数据传输,提高数据传输
效率。
在现代嵌入式系统中,8255A芯片仍有一 定的应用,尤其在一些需要并行I/O接口的 场合,如人机界面、传感器等。
PART 02
8255A芯片的基本结构 与功能
芯片的基本组成
输入/输出端口
数据总线
8255A包含三个输入/输出端口,分别为 端口A、端口B和端口C。每个端口都有8 个位,可以独立配置为输入或输出模式。
控制信号生成

微机原理 可编程接口芯片8255A及应用

微机原理  可编程接口芯片8255A及应用
33
第七章
参考程序片断: MOV AL, 10010000B ; 控制字 OUT 0F6H, AL ; 写入控制字 LP: IN AL, 0F0H ; 从A口读入开关状态 OUT 0F2H, AL ; B口控制LED,指示开关状态 CALL DELAY1S JMP LP
思考:
若地址大于FFH,则程序应该怎么改?
dp g f e d c b a
g
d
b
c
DP
g f e d c b a 1
阴 极
0
1
1
0
1
36
1
0
第七章
十六进制数共阴极的七段显示码表
十六进制数字
0 1 2 3 4 5 6
七段显示码
3FH 06H 5BH 4FH 66H 6DH 7DH
十六进制数字
8 9 A b C d E
七段显示码
7FH 6FH 77H 7CH 39H 5EH 79H
内部逻辑 6
端口C (低4位)
B 组B 端口
PC3~PC0
(8位)
PB7~PB0
CPU接口
外设接口
第七章
8255A与系统的连接示意图
7
第七章
3、各部分功能简介
数据端口
A、B、C:可用来和外设传送信息;每
个端口8位,通过编程设定其为输入口或输出口;
工作方式 0 1 8255数据端口功能表 B口 A口 C口
教材第九章内容
第七章
可编程外围接口芯片8255A及其应用
7.1 8255A的工作原理
一、8255A的结构和功能
二、8255A的控制字及初始化编程 三、8255A工作方式和C口状态字

[CH11]并行接口芯片8255A

[CH11]并行接口芯片8255A

2012/10/7
23
2012/10/7
24
6
微型计算机原理与接口技术
8255A工作方式与时序
微型计算机原理与接口技术
2、8255A端口B选通型(方式1)输入 方式选择命令字与联络信号引脚
8255A工作方式与时序
南京邮电大学计算机学院 倪晓军
(2)端口A方式1输入时的中断管理 当端口A工作在选通型输入方式1时: INTEA为端口A的中断允许触发器; 用端口C按位置位/复位命令字设置使 PC4=1 ,则 INTEA=1 ,允许端口 A向 CPU申请中断; 用端口C按位置位/复位命令字设置使 PC4=0 ,则 INTEA=0 ,禁止端口 A向 CPU申请中断; 当 INTEA=1 时,若 IBFA=1 ,则端口 A提出中断申请; 注意:INTEA只受控于CPU写入的命令字,和nSTBA无关。
2012/10/7 29
如果8255A和CPU之间通过中断传送数据,则满足下列条件 时8255A发出中断请求: nSTB信号恢复高电平(nSTB可以很宽); IBF=1(表明外设数据已锁存到8255A内部); INTE=1(中断允许触发器为1,允许中断申请);
2012/10/7 30
微型计算机原理与接口技术
微型计算机原理与接口技术
8255A的内部结构
第十一章 并行接口芯片8255A
一、8255A的内部结构
11.1 8255A的内部结构
Hale Waihona Puke 南京邮电大学计算机学院 倪晓军
2012/10/7
1
2012/10/7
2
微型计算机原理与接口技术
8255A的内部结构
微型计算机原理与接口技术
8255A的内部结构

第七章 可编程并行接口芯片8255A

第七章 可编程并行接口芯片8255A

CPU和外设之间的数据传送方式有哪几种?实际选择某种传输 方式时,主要依据是什么? CPU与外设之间的数据传输有以下三种方式:程序方式、中断 方式、DMA方式。 其中程序方式又可分为无条件传送方式和查询方式两种方式。 在CPU外设传送数据不太频繁的情况下一般采用无条件传送 方式。 在CPU用于传输数据的时间较长且外设数目不多时采用查询 方式。 在实时系统以及多个外设的系统中,为了提高CPU的效率和 使系统具有实时性能,采用中断传送方式。 如I/O设备的数据传输效率较高,那么CPU和这样的外设进 行数据传输是,即使尽量压缩程序查询方式和中断方式中的 非数据传输时间,也仍然不能满足要求。这是因为在这两种 方式下,还存在另外一个影响速度的原因,即它们都是按字 节或字来进行传输的。为了解决这个问题,实现按数据块传 输,就需要改变传输方式,这就是直接存储器传输方式,即 DMA方式。
例题:若C口的PC7位要求置1,PC3位要求置0,且控制口地 址为00EEH,请写出该片8255初始化程序。 MOV AL, 00001111B MOV DX, 00EEH OUT DX, AL MOV AL, 00000110B OUT DX, AL ;对C口的PC7置位
;对C口的PC3复位
7-2 8255应用举例
第七章 可编程并行接口芯片8255A
• 7-1 8255简介
• 7-2 8255应用举例
7-1 8255简介
一、8255结构及引脚功能 二、8255工作方式 三、8255初始化
一、8255结构及引脚功能 1.结构引脚:由四部分组成。
(1)数据总线缓冲器(D0-D7):实现8255同CPU之间数 据交换,CPU通过执行IN,OUT指令实现发送接收数据, CPU向8255发出的控制字,状态字都由它传送。 (2)读写控制逻辑:接收CPU的A0,A1,RD,WR,CS, 将这些信号组合后得到对A组B组部件的控制命令。其中 A0,A1为片内寻址,决定了8255有四个端口地址,A2A19为片外寻址线,通过地址译码器连到CS端。 (3)数据端口A,B,C:为三个独立的输入/输出口(与 外设连接)。 (4)A组B组控制电路:这两组控制电路根据CPU发出的方 式选择字来控制8255的工作方式,一方面接收芯片内部 总线上的控制字,一方面接收来自读/写控制逻辑电路 的读/写命令,据此决定两组端口的工作方式和读/写操 作。

8255a并行接口芯片的基本结构及工作原理 -回复

8255a并行接口芯片的基本结构及工作原理 -回复

8255a并行接口芯片的基本结构及工作原理-回复[8255a并行接口芯片的基本结构及工作原理]是指针对特定应用设计的一种集成电路芯片,用于实现计算机系统与外部设备之间的并行通信。

本文将逐步介绍8255a并行接口芯片的基本结构和工作原理。

一、引言随着电子技术的发展,计算机系统逐渐与外部设备进行连接,实现数据的输入和输出。

为了满足不同应用场景的需求,芯片设计者提出了各种接口芯片,其中并行接口芯片是其中之一。

并行接口芯片的作用是实现计算机系统和外部设备之间的高速数据传输,其基本结构和工作原理对于提高系统的数据传输效率具有重要作用。

二、基本结构8255a并行接口芯片是一种功能强大的集成电路芯片,基本结构包括以下组成部分:1. 端口组(Port Group):8255a芯片内部包含三个8位的端口组,分别为A、B、C端口组。

每个端口组都可由外部设备进行数据的输入和输出。

同时,每个端口组都包含了相关的控制寄存器,用来设置和控制端口的工作状态。

2. 控制寄存器(Control Register):8255a芯片中的每个端口组都有一个对应的控制寄存器,用于设置和控制端口的工作模式。

其中,控制寄存器的位数和功能根据不同的芯片型号而变化。

3. 数据寄存器(Data Register):8255a芯片中的每个端口组都有一个对应的数据寄存器,用于存放从外部设备中读取的数据或要写入到外部设备中的数据。

数据寄存器的位数根据芯片型号和端口组而定。

4. 模式控制寄存器(Mode Control Register):8255a芯片内部还包含一个模式控制寄存器,用于设置和控制端口组的工作模式。

该寄存器中的位数和功能根据不同的芯片型号而变化。

三、工作原理8255a并行接口芯片的工作原理主要包括以下几个方面:1. 初始化:在开始使用8255a芯片之前,需要对芯片进行初始化设置。

通过设置控制寄存器和模式控制寄存器,可以设置端口组的输入和输出模式,以及中断使能等参数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

可编程并行接口芯片8255A并行输入/输出就是把若干个二进制位信息同时进行传送的数据传输方式。

它具有传输速度快、效率高的优点。

并行数据传输需用的信号线较多(与串行传输相比),不适合长距离传输。

所以,并行数据传输适用于数据传输率要求较高,而传输距离相对较短的场合。

8255A是Intel公司为其80系列微处理器生产的通用可编程并行输入输出接口芯片,也可以与其他系列的微处理器配套使用。

由于其通用性强,与微机接口方便,且可通过程序指定完成各种输入输出操作,因此,8255获得了广泛的应用。

8.2.1 8255A的引脚与结构1. 8255A的引脚8255A是可编程的三端口并行输入输出接口芯片,具有40个引脚,双列直插式封装,由+5V供电,其引脚与功能示意图如图8.14所示。

A、B、C三个端口各有8条端口I/O线:PA7?PA0,PB7?PB0,PC7?PC0,共32个引脚,用于8255A与外设之间的数据(或控制、状态信号)的传送。

D0~D7:8位三态数据线,接至系统数据总线。

CPU通过它实现与8255之间数据的读出与写入,以及控制字和状态字的写入与读出等。

A0~A1:地址信号。

A0和A1经片内译码产生四个有效地址分别对应A、B、C 三个独立的数据端口以及一个公共的控制端口。

在实际使用中,A1、A0端接到系统地址总线的A1、A0。

CS#:片选信号,由系统地址译码器产生,低电平有效。

读写控制信号RD#和WR#:低电平有效,用于决定CPU和8255A之间信息传送的方向:当RD#=0时,从8255A读至CPU;当WR#=0时,由CPU写入8255A。

CPU对8255各端口进行读写操作时的信号关系如表8.3所示。

RESRT:复位信号,高电平有效。

8255A复位后,A、B、C三个端口都置为输入方式。

2. 8255A的内部结构如图8.15所示,8255A的内部由以下四部分组成:(1)端口A、端口B和端口C端口A、端口B和端口C都是8位端口,可以选择作为输入或输出。

还可以将端口C的高4位和低4位分开使用,分别作为输入或输出。

当端口A和端口B 作为选通输入或输出的数据端口时,端口C的指定位与端口A和端口B配合使用,用作控制信号或状态信号。

(2)A组和B组控制电路这是两组根据CPU送来的工作方式控制字控制8255工作方式的电路。

它们的控制寄存器接收CPU输出的方式控制字,由该控制字决定端口的工作方式,还可根据CPU的命令对端口C实现按位置位或复位操作。

(3)数据总线缓冲器这是一个8位三态数据缓冲器,8255A正是通过它与系统数据总线相连,实现8255A与CPU之间的数据传送。

输入数据、输出数据、CPU发给8255A的控制字等都是通过该部件传递的。

(4)读/写控制逻辑读/写控制逻辑电路的功能是负责管理8255A与CPU之间的数据传送过程。

它接收CS及地址总线的信号A1、A0和控制总线的控制信号RESET、WR、RD,将它们组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令送给这两个部件,再由它们控制完成对数据、状态信息和控制信息的传送。

各端口读写操作与对应的控制信号之间的关系见表8.3所示。

8.2.2 8255A的工作方式与控制字1. 8255A的工作方式8255A在使用前要先写入一个工作方式控制字,以指定A、B、C三个端口各自的工作方式。

8255A共有三种工作方式:方式0——基本输入输出方式,即无须联络就可以直接进行8255A与外设之间的数据输入或输出操作。

A口、B口、C口的高四位和低四位均可设置为方式0。

方式1——选通输入输出方式,此时8255A的A口和B口与外设之间进行输入或输出操作时,需要C口的部分I/O线提供联络信号。

只有A口和B口可工作于方式1。

方式2——选通双向输入输出方式,即同一端口的I/O线既可以输入也可以输出,只有A口可工作于方式2。

此种方式下需要C口的部分I/O线提供联络信号。

有关8255A三种工作方式的功能及应用的详细介绍见下一节。

2. 8255A的控制字(1)工作方式选择控制字8255A的工作方式可由CPU写一个工作方式选择控制字到8255A的控制寄存器来选择。

控制字的格式如图8.16所示,可以分别选择端口A、端口B和端口C 上下两部分的工作方式。

端口A有方式0、方式1和方式2共三种工作方式,端口B只能工作于方式0和方式1,而端口C仅工作于方式0。

注意:在端口A工作于方式1或方式2,端口B工作于方式1时,C口部分I/O线被定义为8255A与外设之间进行数据传送的联络信号线,此时,C口剩下的I/O线仍工作于方式0,是输入还是输出则由工作方式控制字的D0和D3位决定,如图8.16所示。

(2)C口按位置位/复位控制字8255A的C口具有位控功能,即端口C的8位中的任一位都可通过CPU向8255A的控制寄存器写入一个按位置位/复位控制字来置1或清0,而C口中其他位的状态不变。

控制字格式如图8.17所示。

例如,要使端口C的PC4置位的控制字为00001001B(09H),使该位复位的控制字为00001000B(08H)。

应注意的是,C口的按位置位/复位控制字必须跟在方式选择控制字之后写入控制字寄存器,即使仅使用该功能,也应先选送一个方式控制字。

方式选择控制字只需写入一次,之后就可多次使用C口按位置位/复位控制字对C口的某些位进行置1或清0操作。

8.2.3 各种工作方式的功能1.方式0——基本输入输出方式方式0无须联络就可以直接进行8255A与外设之间的数据输入或输出操作。

它适用于无需应答(握手)信号的简单的无条件输入/输出数据的场合,即输入/输出数据处于准备好状态。

在此方式下,A口、B口、C口的高4位和低4位可以分别设置为输入或输出,即8255A的这四个部分都可以工作于方式0。

需要说明的是,这里所说的输入或输出是相对于8255A芯片而言的。

当数据从外设送往8255A则为输入,反之,数据从8255A送往外设则为输出。

方式0也可以用于查询方式的输入或输出接口电路,此时端口A和B分别作为一个数据端口,而用端口C的某些位作为这两个数据端口的控制和状态信息。

如图8.18所示是一个方式0下利用C口某些位作为联络信号的接口电路。

在此例中将8255A设置为:A口输出,B口输入,C口高4位输入(现仅用PC7、PC6两位输入外设的状态),C口低4位输出(现仅用PC1、PC0两位输出选通及清除信号)。

此时8255A的工作方式控制字为:10001010B(8AH)。

其工作原理如下:在向输出设备送数据前,先通过PC7查询设备状态,若设备准备好则从A口送出数据,然后通过PC1发选通信号使输出设备接收数据。

从输入设备取数据前,先通过PC6查询设备状态,设备准备好后,再从B口读入数据,然通过PC0发清除信号,以便输入后续字节。

与下面介绍的选通输入输出方式(方式1)和选通双向输入输出方式(方式2)相比,方式0的联络信号线可由用户自行安排(方式1和方式2中使用的C 口联络线是已定义好的),且只能用于查询,不能实现中断。

2.方式1——选通输入输出方式与方式0相比,它的主要特点是当A口、B口工作于方式1时,C口的某些I/O线被定义为A口和B口在方式1下工作时所需的联络信号线,这些线已经定义,不能由用户改变。

现将方式1分为:A口和B口均为输入、A口和B口均为输出以及混合输入与输出等三种情况进行讨论。

(1) A口和B口均为输入A口和B口均工作于方式1输入时,各端口线的功能如图8.19所示。

A口工作于方式1输入时,用PC5~PC3作联络线。

B口工作于方式1输入时,用PC2~PC0。

C口剩余的两个I/O线PC7和PC6工作于方式0,它们用作输入还是输出,由工作方式控制字中的D3位决定,D3=1,输入;D3=0,输出。

各联络信号线的功能解释如下(请参考图8.20所示的方式1输入时序图来理解各信号的功能):STB(Strobe):选通信号,输入,低电平有效。

当STB有效时,允许外设数据进入端口A或端口B的输入数据缓冲器。

STBA接PC4,STBB接PC2。

IBF (Input Buffer Full):输入缓冲器满信号,输出,高电平有效。

当IBF有效时,表示当前已有一个新数据进入端口A或端口B缓冲器,尚未被CPU取走,外设不能送新的数据。

一旦CPU完成数据读入操作后,IBF复位(变为低电平)。

INTR(Interrupt Request):中断请求信号,输出,高电平有效。

在中断允许INTE=1且IBF=1的条件下,由STB信号的后沿(上升沿)产生,该信号可接至中断管理器8259A作中断请求。

它表明数据端口已输入一个新数据。

若CPU响应此中断请求,则读入数据端口的数据,并由RD信号的下降沿使INTR复位(变为低电平)。

INTE(Interrupt Enable):中断允许信号,高电平有效。

它是8255A内部控制8255A是否发出中断请求信号(INTR)的控制信号。

这是由软件通过对C口的置位或复位来实现对中断请求的允许或禁止的。

端口A的中断请求INTRA可通过对PC4的置位或复位加以控制,PC4置1,允许INTRA工作,PC4清0,则屏蔽INTRA。

端口B的中断请求INTRB可通过对PC2的置位或复位加以控制。

(2) A口和B口均为输出A口和B口均工作于方式1输出时,各端口线的功能如图8.21所示。

A口工作于方式1输出时,用PC3,PC6和PC7作联络线。

B口工作于方式1输出时,用PC0?PC2作联络线。

C口剩余的两个I/O线PC4和PC5工作于方式0。

各联络信号线的功能解释如下(请参考图8.22所示时序图来理解各信号的功能):OBF(Output Buffer Full):输出缓冲器满信号,输出,低电平有效。

当CPU把数据写入端口A或B的输出缓冲器时,写信号WR的上升沿把OBF置成低电平,通知外设到端口A或B来取走数据,当外设取走数据时向8255A发应答信号ACK,ACK的下降沿使OBF恢复为高电平。

ACK(Acknowledge):外设应答信号,输入,低电平有效。

当ACK有效时,表示CPU输出到8255A的数据已被外设取走。

INTR(Interrupt Request):中断请求信号,输出,高电平有效。

该信号由ACK的后沿(上升沿)在INTE=1且OBF=1的条件下产生,该信号使8255A向CPU发出中断请求。

若CPU响应此中断请求,向数据口写入一新的数据,写信号WR上升沿(后沿)使INTR复位,变为低电平。

INTE(Interrupt Enable):中断允许信号,与方式1输入类似,端口A的输出中断请求INTRA可以通过对PC6的置位或复位来加以允许或禁止。

端口B 的输出中断请求信号INTRB可以通过对PC2的置位或复位来加以允许或禁止。

相关文档
最新文档