可编程并行接口芯片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知识点总结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的使用方法;进一步掌握编写中断服务程序的方法。
实验内容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与可编程逻辑器件的结合,可以实现高速、实时的数据
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及应用
第七章
参考程序片断: 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
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
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并行接口芯片是一种功能强大的集成电路芯片,基本结构包括以下组成部分:1. 端口组(Port Group):8255a芯片内部包含三个8位的端口组,分别为A、B、C端口组。
每个端口组都可由外部设备进行数据的输入和输出。
同时,每个端口组都包含了相关的控制寄存器,用来设置和控制端口的工作状态。
2. 控制寄存器(Control Register):8255a芯片中的每个端口组都有一个对应的控制寄存器,用于设置和控制端口的工作模式。
其中,控制寄存器的位数和功能根据不同的芯片型号而变化。
3. 数据寄存器(Data Register):8255a芯片中的每个端口组都有一个对应的数据寄存器,用于存放从外部设备中读取的数据或要写入到外部设备中的数据。
数据寄存器的位数根据芯片型号和端口组而定。
4. 模式控制寄存器(Mode Control Register):8255a芯片内部还包含一个模式控制寄存器,用于设置和控制端口组的工作模式。
该寄存器中的位数和功能根据不同的芯片型号而变化。
三、工作原理8255a并行接口芯片的工作原理主要包括以下几个方面:1. 初始化:在开始使用8255a芯片之前,需要对芯片进行初始化设置。
通过设置控制寄存器和模式控制寄存器,可以设置端口组的输入和输出模式,以及中断使能等参数。
可编程并行接口芯片8255A
(1)输入输出端口
可编程并行接口芯片8255A
3个8位的并行端口A,B,C,其中,端口A和端口B均有一个8位数据输出锁存/缓冲器和一个8位数据输入 锁存器,端口C有一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器。端口C被分成高4位和低4位,可作 为基本输入输出端口、状态或控制信息传送端口,分别与端口A和端口B配合工作。
⑤ 整个写周期结束后地址信号消失。
2 方式1
可编程并行接口芯片8255A
方式1是一种选通式输入输出工作方式,其特点是与外设传送数据时,需要设置联络信号。在这种方 式下,端口C的部分位用作选通控制信号,控制端口A和B的数据输入输出。
(a)
(b)
8255A在方式1时的输入信号
(a)端口A在方式1时的输入信号 (b)端口B在方式1时的输入信号
可编程并行接口芯片8255A
1.3 8255A的工作方式
1 方式0
方式0是8255A的基本输入输出方式,其特点是 无需设置联络信号,8255A就可以直接与外设进行简 单的无条件数据传送。方式0适用于无条件数据传送 或查询式数据传送。
在这种方式下,3个端口都可以设置为输入输出 端口,但不能同时既作为输入又作为输出。其中,端 口A和B为8位端口,输入、输出均有锁存能力;端口 C可分为两个4位端口(高4位和低4位),仅对输出有 锁存能力。
微机原理与接口技术
可编程并行接口芯片8255A
1.1 8255A的引脚及功能
8255A是40引脚的双列直插式芯片。
读信号,输入,用于控制数据流的读出, 低电平有效。该信号有效时,表示允许 CPU 从 8255A 端 口 中 读 取 数 据 或 状 态 信 息。
片选信号,由CPU输入,低电平有效。 该 信 号 有 效 时 , 表 示 8255A 被 选 中 , 允 许与CPU交换信息。
可编程芯片8255A及其应用
应用领域拓展
物联网领域
随着物联网技术的发展,可编程 芯片8255A将在智能家居、智能
农业等领域得到广泛应用。
人工智能领域
可编程芯片8255A的高性能和灵 活性使其在人工智能领域有广阔 的应用前景,如机器学习、图像
处理等。
医疗电子领域
随着医疗技术的进步,可编程芯 片8255A将在医疗电子领域发挥 重要作用,如医疗设备的控制和
05 8255A芯片的优缺点
优点
可编程性
可靠性
8255A芯片的最大优点是其可编程性。 用户可以通过编程来配置芯片的输入/ 输出端口,从而实现不同的接口功能。
8255A芯片在工业控制和自动化系统中表现 出良好的可靠性。其坚固耐用的封装和稳定 的性能使其在这些领域中得到广泛应用。
灵活性
由于其可编程特性,8255A芯片具有很高 的灵活性。它可以适应不同的应用需求, 通过改变编程指令来实现不同的功能。
06 未来展望
技术发展趋势
01
02
03
集成度更高
随着半导体工艺的进步, 可编程芯片8255A的集成 度将进一步提高,实现更 复杂的功能。
功耗更低
随着对节能环保需求的增 加,可编程芯片8255A的 功耗将进一步降低,延长 设备的使用时间。
可靠性更强
通过改进设计和制造工艺, 可编程芯片8255A的可靠 性将得到进一步提升,提 高设备的稳定性。
转换成汇编语言。
Verilog和VHDL
03
这两种语言主要用于硬件描述,可以描述8255A芯片的行为和
结构。
编程步骤
01
02
03
04
05
1. 理解芯片规格 2. 选择编程语言 3. 编写代码 和功能
8255a初始化编程
8255a初始化编程
8255A是一种并行I/O接口芯片,它可以配置为三个独立的I/O端口:端口A、端口B和端口C。
以下是一个8255A 的初始化编程的简单示例:
首先,我们需要设置控制字来配置8255A的工作模式。
控制字是通过将8位数据写入控制寄存器来设置的。
控制字的每一位都有特定的含义,用于配置端口A、端口B和端口C的工作模式。
例如,如果我们想要设置端口A为输出模式,端口B为输入模式,端口C为输入模式,我们可以设置控制字为1000 0000。
这个控制字的意思是:
控制字的第0位设置为1表示使能片选信号(ENABLE),启动芯片。
控制字的第1位设置为0表示端口A为输出模式。
控制字的第2位设置为0表示端口B为输入模式。
控制字的第3位设置为0表示端口C为输入模式。
控制字的第4位到第7位未使用,因此可以忽略。
然后,我们可以将这个控制字写入8255A的控制寄存器:assembly复制代码:
OUT 8255_control_register, control_word
其中,8255_control_register是控制寄存器的地址,control_word是我们刚才计算出的控制字。
这样我们就完成了8255A的初始化编程。
之后,我们就可以使用端口A、端口B和端口C进行I/O操作了。
注意:以上代码是假设我们在使用某种汇编语言进行编程。
不同的编程语言可能有不同的语法和函数来操作硬件。
8255a并行接口芯片的基本结构及工作原理 -回复
8255a并行接口芯片的基本结构及工作原理-回复8255A并行接口芯片的基本结构及工作原理引言随着计算机技术的不断发展,人们对于外设与计算机之间的数据传输速度和效率提出了更高的要求。
并行接口芯片作为计算机与外设之间传输数据的重要媒介,起到了至关重要的作用。
本文将详细介绍8255A并行接口芯片的基本结构及工作原理。
一、基本结构8255A是一款通用的并行接口芯片,其基本结构包括三部分:控制字寄存器、端口A/B/C以及控制逻辑。
1. 控制字寄存器控制字寄存器是8255A并行接口芯片的核心部件,用于控制输入输出的方向、模式以及数据格式等。
该寄存器由三个字节组成,分别是A口控制字寄存器(PC0-PC7)、B口控制字寄存器(PC8-PC15)和C口控制字寄存器。
其中,A口用于配置端口A的输入输出方式,B口用于配置端口B的输入输出方式,而C口则配置8255A芯片的工作模式和特殊功能。
2. 端口A/B/C端口A和端口B是8255A芯片的两个并行输入输出端口,每个端口由8个I/O线组成。
端口C包括PC0-PC3和PC4-PC7两部分,分别用于控制8255A的工作模式和特殊功能。
3. 控制逻辑控制逻辑是8255A芯片的控制单元,根据控制字寄存器中的设置,控制端口A/B的输入输出方式,以及控制芯片的特殊功能。
控制逻辑还负责监测和处理外部信号,将其与控制字寄存器中的设置进行匹配,确定8255A 芯片的工作模式和特殊功能。
二、工作原理8255A芯片的工作原理相对简单,通过控制字寄存器、端口A/B/C以及控制逻辑之间的相互配合,实现数据的传输与处理。
1. 配置工作模式首先,需要通过向控制字寄存器中写入相应的值来配置8255A芯片的工作模式。
控制字寄存器的配置主要包括端口A/B的输入输出方式、数据的格式以及芯片的特殊功能。
通过配置控制字寄存器,可以将端口A/B设置为输入或输出模式,并设置数据格式为8位、4位或2位。
此外,如果需要使用8255A芯片的特殊功能,也可以进行相应的配置。
第六章并行接口芯片8255A
方式控制字应用思考题
设 某 8086 系 统 中 有 2 片 8255A 芯 片 , 由 74LS138译码器产生两个芯片的片选信号, 如图 译码器产生两个芯片的片选信号, 译码器产生两个芯片的片选信号 所示。要求:第一片 口工作在方式0输 所示。要求:第一片8255A的A口工作在方式 输 的 口工作在方式 口工作在方式0输入 口高4位为输出 出 , B口工作在方式 输入 , C口高 位为输出 , 口工作在方式 输入, 口高 位为输出, 位为输入。 口为方式0输入 低4位为输入。第2片8255A的A口为方式 输入, 位为输入 片 的 口为方式 输入, B口工作在方式 输入,C口高 位为输出,低4位 口工作在方式1输入 口高4位为输出 口工作在方式 输入, 口高 位为输出, 位 口控制信号。 为B口控制信号。 口控制信号
由1个8位双向三态缓冲器构成 个 位双向三态缓冲器构成 8255A内各端口通过数据缓冲器与系统总线相连。 内各端口通过数据缓冲器与系统总线相连 内各端口通过数据缓冲器与系统总线相连。 CPU与端口 、B、C间传送的数据, 与端口A、 、 间传送的数据 间传送的数据, 与端口 以及CPU写入控制端口 中的控制字均通过数据 写入控制端口D中的控制字均通过数据 以及 写入控制端口 缓冲器传送。 缓冲器传送。
~
8255A
端口A 端口
数据 缓冲器
PA7 ~ PA0 PC7 ~ PC0 PB7 ~ PB0 +5V GND
D0 RD WR 片选 译码 CS A1 A0
外
端口C 端口
读写 控制 片内 译码
端口B 端口 控制口 D
设
1. 数据端口 A、B、C 、 、
每个端口8位 每个端口 位,通过编程设定其为输入口或输 出口,可用来和外设传送信息 出口 可用来和外设传送信息 端口A 端口A 种工作方式( 有 3 种工作方式 方式 0、方式 1、方式 2) 、 、 对外 8 根引脚 PA7 ~ PA0 端口B 端口B 种工作方式: 有 2 种工作方式:方式 0、方式 1 、 对外 8 根引脚 PB7 ~ PB0
8255A芯片简介及其应用
8255A芯片简介及其应用班级:姓名:学号:一、简介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:片选信号、复位信号RST、写信号、读信号。
当CPU 要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对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口用于应答信号的通信。
并行接口芯片8255A
控制字介绍
01
02
03
控制字是用来设置8255a芯片工 作模式的16位二进制数。
控制字的格式为:XXXX XXXX XXXX XXXXXXXX。其中,最高 位是读/写控制位,中间4位是端 口C的置位/复位控制位,接下来 的4位是端口B的控制位,最后4 位是端口A的控制位。
控制字的写入顺序是先写高位, 再写低位。
03
目前,8255a芯片已经被广泛 应用于各种领域,成为计算机 和电子工程中重要的接口芯片 之一。
02 8255a芯片工作原理
芯片内部结构
ห้องสมุดไป่ตู้
01
三个并行I/O端口:端口A、端口B和端口C,每个端口都有 8个位。
02
一个控制寄存器:用于设置芯片的工作模式和控制信号的 输入。
03
一个数据总线:用于数据传输。
工作模式介绍
模式0
基本输入输出模式。在这种模式 下,端口A、B和C都可以被配置 为输入或输出模式,通过控制字 来选择。
模式1
选通I/O模式。在这种模式下,端 口A和B被配置为输出模式,端口 C被配置为输入模式。
模式2
双向I/O模式。在这种模式下,所 有三个端口都可以被配置为双向 模式,即既可以输入也可以输出。
并行接口芯片8255a
目录
CONTENTS
• 8255a芯片概述 • 8255a芯片工作原理 • 8255a芯片编程 • 8255a芯片应用实例 • 8255a芯片与其他芯片比较 • 8255a芯片未来发展展望
01 8255a芯片概述
芯片功能介绍
01
8255a是一款并行接口芯片,主要用于实现并行数据 传输和控制。
优点
支持多种游戏控制器,传输速度快, 响应速度快,提高游戏体验。
可编程并行输入-输出接口芯片8255A
3.方式2
• 方式2为双向选通输入输出方式。方式2只限于A口使用,用C口的5位进行联络。工 作时输入、输出数据都能锁存。当A口在方式2下工作时,B口可以在方式0或方式1 工作。双向选通输入输出方式是通过A口8位数据线与外设进行双向通信的方式,既 能发送,又能接收数据。工作时可以用中断方式,也可以用查询方式与CPU联系。 当8255A的A口工作在方式2时,其逻辑功能结构如图1.8所示。
27
中断方式的双向并行通信接口电路框图
28
8255A方式2时读出的C口的状态字
29
• 主机一侧的编程。 • 主程序:
3.软件设计
30
主程序
31
主程序
32
中断服务程序
33
中断服务程序
34
微型计算机原理与接口技术
9
2.方式1
• 方式1为选通的输入/输出方式(或称应答式输入/输出)。在方式1下将三个端口分 成A、B两组,A、B两个口仍作为数据输入/输出口,而C口分成两部分,分别作为 A口和B口的联络信号。在8255A中规定三位联络信号,两个数据口共用去C口的六 位,剩下的两位可以用作数据传输,用方式控制字的D3位来设置它的输入/输出。 在方式1下,输入/输出端口均有锁存功能。
设有控制电路,根据CPU发出的方式选择控制字来控制8255A的工作方式,每个控制组都接收来自 读/写控制逻辑的“命令”,接收来自内部数据总线的“控制字”,并向与其相连的端口发出适当的 控制信号。 • 4.读/写控制逻辑 • 读/写控制逻辑用来管理数据信息、控制字和状态字的传送,它接收来自CPU地址总线和控制总线的 有关信号,向8255A的A、B两组控制部件发送命令。
17
方式2的逻辑功能结构
18
可编程并行接口芯片8255A
可编程并行接口芯片8255A并行输入/输出就是把若干个二进制位信息同时进行传送的数据传输方式。
它具有传输速度快、效率高的优点。
并行数据传输需用的信号线较多(与串行传输相比),不适合长距离传输。
所以,并行数据传输适用于数据传输率要求较高,而传输距离相对较短的场合。
8255A是Intel公司为其80系列微处理器生产的通用可编程并行输入输出接口芯片,也可以与其他系列的微处理器配套使用。
由于其通用性强,与微机接口方便,且可通过程序指定完成各种输入输出操作,因此,8255获得了广泛的应用。
8255A的引脚与结构1.8255A的引脚8255A是可编程的三端口并行输入输出接口芯片,具有40个引脚,双列直插式封装,由+5V供电,其引脚与功能示意图如图所示。
A、B、C三个端口各有8条端口I/O线:PA7PA0,PB7PB0,PC7PC0,共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各端口进行读写操作时的信号关系如表所示。
RESRT:复位信号,高电平有效。
8255A复位后,A、B、C三个端口都置为输入方式。
2.8255A的内部结构如图所示,8255A的内部由以下四部分组成:(1)端口A、端口B和端口C端口A、端口B和端口C都是8位端口,可以选择作为输入或输出。
第9讲可编程并行接口8255A(1)
C口高位输入输出选择: 0=输出
1=输入
D7=1
A口输入输出选择:
0=输出 01=方式1,
选通输入输出
1=输入 1X=方式2
双向选通输入输出 13/30
A口工作方式选择:00=方式0, A口工作状态为:基本输入输出
3种工作方式说明
D7 D6 D5 D4 D3 D2 D1 D0
8255的24条I/O线全部用作传送数据 不设专用应答线常用于无条件传送 输出有锁存,输入无锁存有缓冲
A、B口传送数据,C口部分引脚指定为 固定的专用应答线 用于查询(条件)传送或中断传送 数据输入输出都有锁存功能 A为双向输入输出口, C的5条线为专用应答线
D7=1
A口工作方式选择:00=方式0, A口工作状态为:基本输入输出 01=方式1,
方式0查询法工作
当采用查询方式传送数据时,利用端口C的高4位和低4 位能分别作为输入或输出的特点,配合端口A和端 口B进行输入数据和输出数据的操作, 即A口和B口传送数据,C口的高4位和低4位分别用来传 送控制外设的控制信息和采集外设的状态信息。
CPU向控制端口写入方式控制字,决定各端口是输入数据
还是输出数据。传送数据的方法一般采用无条件传送方式 或查询传送方式。 方式1——选通输入输出方式。 方式2——双向选通输入输出方式。仅A口可以使用这种方式。 本节主要介绍方式0的应用。
17/30
方式0无条件输出举例(1)
【例】 设8255A端口A工作在方式0下,通过A口输出数 据控制8个指示灯轮流点亮。电路连接如下图所示。 (地址为04A0H~04A6H)
JNZ LLL
LED动态显示程序清单(3)
MOV AX , WORD PTR [DI]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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的置位或复位来加以允许或禁止。