当前位置:文档之家› 8255A的原理介绍

8255A的原理介绍

D7~D0
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位 的端口,且每个端口均可作为输入口或输出口用。 数据输出有锁存,输入无锁存。
相关主题