8255A的原理介绍
计算机汇编原理8255A

24
8255的工作方式0
1. 方式0(基本输入输出方式,单向传送端口, 输入
或输出 )
8255作为打印机接口,工作于方式0
25
程序设计:设PA、PB、PC口地址分别为0D0H、0D2H、 0D4H控制口地址:0D6H
MOV AL,81H; OUT 0D6H,AL MOV AL,0DH;① PC6置1,0DH=0000,1101 OUT 0D6H, AL LPST: IN AL,0D4H;读PC口 AND AL,04D;② 打印机忙否(PC2 =BUSY=?) JNZ LPST ;PC2=1,打印机忙,等待 MOV AL, CL OUT 0D0H, AL;③ CL中的字符送PA口 MOV AL, 0CH OUT 0D6H, AL;④ 置PC6=0,即=0;00001100=0CH INC AL OUT 0D6H, AL;置PC6=1,即=1,00001101=0DH ┆
Intel系列的8位并行接口芯片
通用性强,使用灵活 可用程序设置和改变芯片的工 作方式 是一种典型的可编程并行接口 芯片 40个引脚,双列直插式
8255A
二、可编程并行通信接口芯片8255 总线
reset
D7 ~ D0
8255A
RESET
D7
~
端口A
PA7 ~ PA0
PC7 ~ PC0 PB7 ~ PB0
29
8255的工作方式1——选通输入输出方式
对方式1输入的端口,C口提供与外部联络的信号有:
① STB 选通信号(低电平有效)
由外设发出,送给8255A,作用是将外设送来的数据锁存到 8255A的输入端口。
② IBF 输入缓冲器满信号(高电平有效)
8255A 发出,表示外设送来的数据已进入输入端口。 当外设送来的数据送入输入端口后,8255A自动发出。
8255A、8251A的原理及应用

8255A的内部结构,由三部分电路组成:与CPU的接口电路、内部控制逻辑电路和与外设连接的输入/输出接口电路。
D7~D0(data bus):三态、双向数据线,与CPU数据总线连接,用来传送数据。
(chip select):片选信号线,低电平有效时,芯片被选中。
A1, A0(port address):地址线,用来选择内部端口。
(read):读出信号线,低电平有效时,允许数据读出。
(write):写入信号线,低电平有效时,允许数据写入。
RESET(reset):复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。
PA7~PA0(port A):A口输入/输出信号线。
PB7~PB0(port B):B口输入/输出信号线。
PC7~PC0(port C):C口输入/输出信号线。
VCC:+5V电源。
GND:电源地线。
8255A的工作方式方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路8255A初始化编程8255A的A,B,C三个端口的工作方式是在初始化编程时,通过向8255A的控制端口写入控制字来设定的。
8255A由编程写入的控制字有两个:方式控制字和置位/复位控制字。
方式控制字用于设置端口A, B, C的工作方式和数据传送方向;置位/复位控制字用于设置C口的PC7~PC0中某一条口线PC i(i=0~7)的电平。
两个控制字公用一个端口地址,由控制字的最高位作为区分这两个控制字的标志位。
(1)方式控制字的格式8255A工作方式控制字的格式如图7.11所示。
D0:设置PC3~PC0的数据传送方向。
D0=1为输入;D0=0为输出。
D1:设置B口的数据传送方向。
D1=1为输入;D1=0为输出.D2:设置B口的工作方式。
D2=1为方式1;D2=0为方式0。
第9章8255A

对于这种选通的输入方式,如果采用查询式输入时,CPU先 查询8255A的输入缓冲器是否满了,也就是IBF是否为高? 如果输 入缓冲器满信号IBF为高,则CPU就可以从8255A读入数据。如 果采用中断方式传送数据时,应该先用C口置位/复位控制字使相 应的端口允许中断,也就是要使PC)
(b)
图9.1 8255内部结构和引脚图
(a) 8255A内部结构;(b) 8255A外引脚图
PA4 PA5 PA6 PA7 WR
RESET
D0 D1 D2 D3 D4 D5 D6 D7 VCC PB7 PB6 PB5 PB4 PB3
二、 读写控制逻辑
用于管理所有内部或外部数据、控制字和状态字的传送。 它接收来自CPU地址总线的A1、A0和控制总线的有关信号,然 后向8255A的A、B两个组发送命令。
;对PC3完成置0操作 ;PC7置1控制字送AC ;完成对PC7置1操作
9.1.3 8255A的工作方式和C口状态字
8255A有三种工作方式,即方式0—基本输入输出方式,方 式1—选通输入输出方式和方式2—双向选通方式,通过向 8255A的控制字寄存器写入方式选择控制字,就可以规定各端 口的工作方式。当8255A工作于方式l和方式2时,C口可提供A 口或B口的联络信号,用输入指令可以读取C口的状态。
D7 D6 D5 D4 D3 D2 D1 D0 1 0 1 1 I/O
D7 D6 D5 D4 D3 D2 D1 D0 1 0 1 1 I/O 1 1
D7 D6 D5 D4 D3 D2 D1 D0
1
11
方式1
PC7、 PC6 1= 输 入
0= 输 出 A端 口 为 输 入
PC7、 PC6 1= 输 入
D7 D6 D5 D4 D3 D2 D1 D0
微机接口第九章8255A-讲义

(3) 方式控制字和按位置位/复位控制字均 写入同一个控制寄存器地址,二者通过最高 位D7来区别。D7=1为方式控制字,D7=0为按 位置位/复位控制字。
2. 工作方式
(1) 方式0 —— 基本输入/输出方式 方式0是一种基本输入输出工作方式,它
的24条I/O线可以全部都用作传送数据,不设 置应答信号线,常用于无条件传送,输出有锁 存,输入只有缓冲能力而无锁存功能。
实现并行通信的接口称之为并 行接口。
8255A 是 Intel86 系 列 微 处 理 机 的 配 套 并 行 接 口 芯 片 , 它 可 为 86 系 列 CPU与外部设备之间提供并行输入/输 出通道。
11.1 可编程并行接口芯片8255A
一、8255A的内部结构和引脚信号
1. 8255A内部结构
序号
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
. 通道A .
37 18
.PPAB70
• •
. 通道B
•
.
25
PB7
14 15
P.C0
16 17 13 12
. 通道C .
11
10
PC7
外设接口
* PA7~PA0:A端口数据信号引脚 * PB7~PB0:B端口数据信号引脚 * PC7~PC0:C端口数据信号引脚 * D7~D0: 8255A的8位数据线
8255A 可 编 程 外 围 设 备 接 口 (Programmable Peripheral Interface, 简写 为PPI) ,其内部结构如图所示。
A组控制 部件
双向 数据总线 缓冲器
D7~D0
RD WR
AA01
CS RESET
可编程并行接口芯片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

STROBE: 数据选通。用于将DB上的数据打入 打印机内部的数据输入寄存器。
BUSY: 打印机忙
ASK:
打印机准备接收数据
27
由并行打印机接口数据传送时序可知,在=1时打 印机“忙”,不能接收CPU的新数据,只有在=0时才 能接收新数据。因此可以描述数据打印过程如下:
28
当CPU通过接口要求打印机打印数据时,首 先查看BUSY信号,若BUSY=0,则将数据通过DB 送往接口。 等数据在与打印机连接的数据引脚上稳定后, CPU再发一个选通信号STROBE,将该数据存入打 印机内部的数据输入寄存器。并由STROBE的上升 沿使打印机的信号BUSY=1,即“忙”。(注意: 可见打印机的BUSY信号的置1不是打印机完成的 ,而是由STROBE信号引起的)。 待打印机处理完该数据后,它产生信号ACK=0 ,表示打印机准备就绪。同时ACK的前沿或后沿( 可任选)使BUSY=1,即“闲”。此时一个数据的 传送过程结束。可进行下一个数据的传送。
例:将PC口的PC2引脚置位的程序段: MOV DX,303H ;8255A控制口地址 MOV AL,05H ;使PC2=1的控制字 OUT DX,AL ;送到控制口 如果要使该引脚复位,则用下列程序段实现: MOV DX,303H ;8255A控制口地址 MOV AL,04H ;使PC2=0的控制字 OUT DX,AL ;送到控制口
4
②面向I/O设备的信号线有:
PA0一PA7:端口A的输入/输出线 PB0一PB7:端口B的输入/输出线
PC0一PC7:端口C的输入/输出线
注: Ⅰ. A、B口只作输入/输出的数据口,有时也可 用于读取外设的状态信号(如打印机的“忙”状态) ,但它们都不是专门的状态口。
微机原理 可编程接口芯片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口状态字
可编程并行接口芯片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交换信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D7~D0
8086 系 统 总 线
RD WR A1 A2 A0 A3 A4 M/IO A5 A6 A7
&
A B C G2A G2B
Y0 O Y1 Y2 O O
RD WR A0 A1 CS
PA7
PA0
PC3 PC2
驱 动 器
K3
K2 K1 +5V
PC1
PC0
~
K0
G1 LS138
8255A
+5V
;查表,取出相应的字形码送AL
;指向端口A ;输出字形码显示
LED显示器的结构
a
f g b c d dp
a b c d e
a b c d e
e
f
g ep
f
g ep
LED显示器的外形
共阳极LED显示器的结构
共阴极LED显示器的结构
LED显示器的工作原理
软件译码法
PA0 PA1
a b c d e
8 2 5
8255A各端口地址确定: 由图可知: A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 0 1 0 各端口地址为:E8H~EEH
8255A方式选择控制字: 按题意设置端口A方式0输出,下C口输入.
1 0 0 0 × 0 × 1 81H
A0 A3 A4 M/IO A5 A6 A7
o o 读/写 控制 逻辑 o
至控制 寄存器 至数据端口
(五) 端口寻址
8255A端口选择表
A1 A0 RD 0 0 1 0 0 1 1 0 1 0 0 1 0 1 0 0 0 1 1 1 1 WR 1 1 1 0 0 0 0 CS 0 0 0 0 0 0 0 端口 A 端口 B 端口 C 数据总线 数据总线 数据总线 数据总线 功能 数据总线 数据总线 数据总线 端口 A 端口 B 端口 C 控制字寄存器
A口
上C口 下C口 B口
PA7~PA0
PC7~PC4 PC3~PC0 PB7~PB0
(二) 控制逻辑 A组控制
这是两组根据CPU的 编程命令控制8255A工作 的电路,控制寄存器用来 接收CPU送来的命令字, 以决定A组、B组的工作 方式,或对C口的每一个 位执行位操作。 B组控制 内 部 总 线
ACK-外设的回答信号,低电平 有效,由外设送给8255A。 表示CPU送到指定端口的 数据已被外设接受。 INTE-中断允许信号。 INTR-中断请求信号,高电 平有效。
PC7 & PC3
WR o PC4 PC5
WR OBF
①
③
⑤ ⑥ ④
INTR
ACK 输出
②
方式1的输出时序
3、方式2-双向总线方式 (仅适用于A口) 这时PA7~PA0作为双向数据总线,PC3 ~PC7用作A口的联络控 制信号。PC2~PC0可用作B口的应答信号线,或作I/O线。 各信号意义: INTRA PC3 INTRA-中断请求信号,‘ 1’有 PA7 1 效. -输出缓冲器满,‘ 0’有 OBF
OBFA INTEA I/O I/O INTRA INTEB OBFB INTRB
(2)方式2 D7 D6 D5 D4 D3 D2 D1 D0 OBFA INTE1 IBFA INTE2 INTRA * * *
第二节
8255A的应用举例
8255A作为开关K0~K3及七段LED显示器接口。要求开关设置 的二进制信息,由PC0~PC3输入,经程序转换为对应的七段LED显 示器的字形代码后,由PA口输出显示。 接口电路
第一节
8255A的工作原理
一、8255A的结构和功能
A组控制 DB 数据 总线
内 部 总 线
PA7~PA0
A口 PC7~PC4 上C口 PC3~PC0 下C口
RD o WR o 读/写 A0 控制 A1 逻辑 RESET CS o CPU接口
PB7~PB0
B组控制 内部逻辑
B口
外设接口
(一) 数据端口 8255A内部包含3个8位I/O端口 A口、B口和C口,通过外部24根I/O 线与外设交换数据或进行通信联络。 内 部 其中C口可分为两个4位口使用。 总 端口A和端口B可用作8位 数据 线 I/O口,端口C既可作为8位I/O口, 又可作为两个4位I/O口,还常用来 配合A口和B口工作,作为控制信 号输出、或作为状态信号输入。
方式1输出 (B口)
PB7~PB0 8 ACKB
INTEB
PC2
PC1
OBFB
INTRB
& PC0
WR
o
PC4 PC5
I/O线
各应答信号的意义: OBF-输出缓冲器满信号,输出,低电平有效。表示CPU已输出数 据到指定端口。 方式1输出 (A口)
PA7~PA0 INTEA PC6 8 ACKA OBFA INTRA I/O线
1 置位 0 复位
000 选中PC0 001 选中PC1
111 选中PC7
无关位 特征位 D7 = 0
位 选 择
例:要使端口C的bit3置位的控制字为:00000111B; MOV AL,00000111B OUT 0FBH,AL 而使端口C的bit3复位的控制字为:00000110B ; MOV AL,00000110B OUT 0FBH,AL
~
效. -外设响应信号,‘ 0’有 ACKA 效. -输入缓冲器满信号,‘ 1’有 IBF 效. -选通输入信号,‘ 0’有 STBA 效.
A
A
PA0
8
&
PC7
& PC6
INTE2
OBFA ACKA
WR RD
O O
PC4 PC5 PC2~PC0
STBA
IBFA
3
4. C口状态字
8255A工作在方式0时,C口各位作输入输出用。当工作在 方式1和方式2时,C口产生与外设的联络信号。此时。读入C 口各位的内容可检查或测试外设的状态。C口的状态字如下: (1)方式1 D7 D6 D5 D4 D3 D2 D1 D0 I/O I/O IBFA INTEA INTRA INTEB IBFB INTRB 输入 D7 输出 D6 D5 D4 D3 D2 D1 D0
IBFA
STB
①
IBF
② ③ ⑤ ④
INTR
RD 来自外设的 输入数据 方式1的输入时序
2) 方式1输出
这时PC3、PC6和PC7作A口的应答信号,PC0、PC1和PC2作B 口的应答信号。余下的PC4和PC5可作输入或输出线。 方式1输出 (A口)
PA7~PA0 INTEA PC6 PC7 & PC3 INTRA WR o 8 ACKA OBFA
CS,A0,A1
D0~D7
WR 输出
数据有效
数据有效
方式0的输出时序
例如,要求8255A的A口和B口均工作于方式0, A口和下C口作输 入口, B口和上C口作输出口,设8255A各端口地址为40H~43H, 可用下 列指令来设置这种工作方式: MOV OUT AL,91H 43H,AL ;方式控制字10010001B AL ;方式控制字送控制寄存器
&
A B C G2A G2B G1
Y0 Y1 Y2
CS
LS138
LED显示器的字形代码表存放在TABLE单元开始的内存中. TABLE DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H DB 80H, 98H, 88H, 83H, 0C6H, 0A1H, 86H, 8EH
(三)数据总线缓冲器 是双向三态的8位缓冲器, 用作 8255A和系统数据总线的接口。 1)传送系统对8255A的控制字; 2)传送各端口的输入、输出数据。
DB
数据 总线
内 部 总 线
RD WR (四) 读/写控制逻辑 A0 A1 控制总线的开放与关闭; 控制信息传送的路径和方向。 RESET CS
方式2:双向传送 PB 8 I/O PB7 ~PB0 I/O 控制
PC
PA 8 I/O PA7 ~PA0
二、8255A的控制字
1、方式选择控制字 8255A有3种基本的工作方式,在对8255A进行初始化编程时, 应向控制寄存器写入方式选择控制字,以规定各端口的工作方式。 方式选择控制字格式
D7 D6 D5 D4 D3 D2 D1 D0
8
STBA
方式1 (B口)
PB7~PB0
8
STBB
INTEA
PC4
PC5
INTEB
PC2
PC1
IBFA
&
IBFB INTRB
& PC3 RD o PC6 PC7
INTRA
RD I/O线 o
PC0
各应答信号的意义: STB-数据选通输入信号,低电平有效,由外设输入; IBF-输入缓冲器满信号,高电平有效,由8255A输出的状态信号, 表示输入锁存器已满,向外设指明不能再送入数据。
特征位 D7=1 A组方式: 00=方式0 01=方式1 1x=方式2 下C口 I/O B口I/O 1=输入 0=输出
1=输入 0=输出
B组方式
上C口I/O A口I/O 1=输入 0=输出
0=方式0 1=方式1
1=输入 0=输出
例:在一个8086/8088系统中,有一片8255芯片,其各个端口的 地址分别为0F8H~0FBH,现要求各个端口的工作方式为: 端口A 方式0 输入 端口B 方式1 输出 端口C(上半部) PC7 ~PC4 输出 端口C(下半部) Bit3 输入 要求:进行初始化编程 分析:根据8255工作模式可确定方式控制字
三、8255A的工作方式
1、方式 0-基本输入输出方式 适用于不需要应答信号的简单I/O场合。 A口和B口可作为8位端口,C口的高4位和低4位可作为两个4位 的端口,且每个端口均可作为输入口或输出口用。 数据输出有锁存,输入无锁存。