8255A的应用
A组,支持 工常作作方数式据0端、口1、,2功能最强大
端口B:P端B0口~BP:B7PB0~PB7
B组,支持 工常作作方数式据0端、口1
端口C:PC端0口~CP:C7PC0~PC7
仅支持工作 可方作式数0 据、状态和控制端口 A组控制高 4分位两P个C44~位P,C7每位可独立操作 B组控制低 4控位制P最C0灵~活PC,3最难掌握
方式2双向引脚
PA7~PA0
INTE1
PC6
PC7
INTE2 PC4 PC5
PC3
ACKA OBFA STBA IBFA
用PC6设置INTE1(输出) 用PC4设置INTE2(输入)
输入和输出中断通过
或门输出INTRA信号
INTRA
方式2双向时序
WR OBF INTR ACK
STB
IBF RD PA0~PA7 D0~D7
PC7
PC3
外设响应信号 表示外设已经接收到数据
ACKA
OBFA INTRA
输出缓冲器满信号 表示CPU已经输出了数据
中断允许触发器
中断请求信号 请求CPU再次输出数据
方式1输出引脚:B端口
PB7~PB0 INTEB PC2
PC1
PC0
外设响应信号 表示外设已经接收到数据
ACKB
OBFB INTRB
第 10 章
第10章 并行接口
教学重点
8255A的工作方式和编程 8255A的应用 简易键盘的扫描程序 LED数码管的多位显示
并行数据传输方式
以计算机的字长,通常是8位、16位或32 位为传输单位,一次传送一个字长的数据
适合于外部设备与微机之间进行近距离、 大量和快速的信息交换
例如:微机与并行接口打印机、磁盘驱动器
置位允许中断,复位禁止中断
对INTE的操作通过写入端口C的对应位实 现,INTE触发器对应端口C的位是作应答 联络信号的输入信号的哪一位,只要对那 一位置位/复位就可以控制INTE触发器
选通输入方式下
端口A的INTEA对应PC4 端口B的INTEB对应PC2
方式1输出引脚:A端口
PA7~PA0 INTEA PC6
2. 与处理器接口
D0 ~ D7数据线 RD*读信号 CS*片选信号
A0 ~ A1地址线 WR*写信号 RESET复位信号
CS* A1 A0 I/O地址 读操作RD* 写操作WR*
000 001 010 011
60H 61H 62H 63H
读端口A 读端口B 读端口C
非法
写端口A 写端口B 写端口C 写控制字
读取的C端口数据有两种情况 未被A和B端口征用的引脚:将从定义为
输入的端口读到引脚输入信息;将从定义 为输出的端口读到输出锁存器中的信息 被A和B端口征用作为联络线的引脚:将 读到反映8255A状态的状态字
端口C的状态字
A组
B组
D7 D6 D5 D4 D3 D2 D1 D0
方式1输入
I/O I/O IBFA INTEA INTRA INTEB IBFB INTRB
10.1.2 8255A的工作方式
方式0:基本输入输出方式
适用于无条件传送和查询方式的接口电路
方式1:选通输入输出方式
适用于查询和中断方式的接口电路
方式2:双向选通传送方式
适用于与双向传送数据的外设 适用于查询和中断方式的接口电路
方式0输入时序
RD 输入端口 CS,A1,A0
D0~D7
10.1.1 8255A的内部结构和引脚
A组 控制
A组 端口A
PA0~PA7
D0~D7
数据 总线 缓冲器
内部数据线
RD
WR
A0 A1 CS
RESET
读写 控制 逻辑
B组 控制
内部控制线
A组 端口C 上部
B组 端口B
B组 端口CLeabharlann 下部PC4~PC7 PB0~PB7 PC0~PC3
1. 外设数据端口
输出缓冲器满信号 表示CPU已经输出了数据
中断允许触发器
中断请求信号 请求CPU再次输出数据
方式1输出联络信号
OBF*——输出缓冲器满信号,低有效
8255A输出给外设的一个控制信号,当其有效时, 表示CPU已把数据输出给指定的端口,外设可以取走
ACK*—端—口响A应的信I号N,TE低A有对效应PC6 外设端的响口应B信的号,IN指T示E8B25对5A应的端P口C2数据已由外设
INTRA
输入缓冲器满信号 表示A口已经接收数据
中断允许触发器
中断请求信号 请求CPU接收数据
方式1输入引脚:B端口
PB7~PB0
数据选通信号 表示外设已经准备好数据
INTEB PC2
STBB
方式P1需C1 借用端IBF口B C用做联络信号
同时还具有中断请求输和入屏缓冲蔽器功满信能号
表示A口已经接收数据
PC0
INTRB
中断允许触发器
中断请求信号 请求CPU接收数据
方式1输入联络信号
STB*——选通信号,低电平有效
由外设提供的输入信号,当其有效时,将输入设备送 来的数据锁存至8255A的输入锁存器
IBF——输入缓冲器满信号,高电平有效
8255A输出的联络信号。当其有效时,表示数据已 锁存在输入锁存器
1. 写入方式控制字:控制字格式
1. 写入方式控制字:示例
要求:
A端口:方式1输入
C端口上半部:输出,C口下半部:输入
B端口:方式0输出
方式控制字:10110001B或B1H
初始化的程序段:
mov dx,0fffeh ;假设控制端口为FFFEH
mov al,0b1h
;方式控制字
out dx,al
pop dx pop ax ret endp
打印子程序:返回
例10.1
10.2.3 用8255A方式1与打印机接口
8255A
打印机
PA0~PA7
PC6 ACK
PC7 OBF 1 LS123 4
PC3
单稳 2
INTR
14 电路 3
15
1000pf
2K
DATA0~7 ACK STROBE
+5V
8255A方式1与打印机接口时序配合
2. 读写数据端口:示例
利用8255A的输出锁存能力,可实现按位 输出控制
对输出端口B的PB7位置位的程序段:
mov dx,0fffah ;B端口假设为FFFAH
in al,dx
;读出B端口原输出内容
or al,80h
;使PB7=1
out dx,al
;输出新的内容
3. 读写端口C:归纳1
C端口被分成两个 4位端口,两个端 口只能以方式0工 作,可分别选择 输入或输出
方式1输出
OBFA INTEA I/O I/O INTRA INTEB OBFB INTRB
方式2双向
OBFA INTE1 IBFA INTE2 INTRA ×
×
×
10.2 8255A的应用
作为通用的并行接口电路芯片, 825A具有广泛的应用
应用在IBM PC/XT微机上 应用于打印机接口电路 连接简易键盘 驱动LED数码管 ……
接受
INTR——中断请求信号,高有效
当 输 出 设 备 已 接 受 数 据 后 , 8255A 输 出 此 信 号 向 CPU提出中断请求,要求CPU继续提供数据
方式1输出时序
WR
OOBBF F*和ACK*是外设和8255A间 INTR 的一对应答联络信号,
为的是可靠地输出数据
ACK
输出端口
data
data-in data-out
data-out data-in
10.1.3 8255A的编程
初始化编程:一个方式控制字
采用控制I/O地址:A1A0=11
工作过程中:通过数据端口对外设数据 进行读写
数据读写利用端口A、B和C的I/O地址, A1A0依次等于00、01、10
IBM PC/XT机上,端口A、B、C和控制 端口的I/O地址为60H、61H、62H和63H
例10.1
打印子程序:打印
mov dx,0fffeh ;从PC7送出控制低脉冲 mov al,00001110B ;置STROBE*=0
out dx,al
nop
;产生一定宽度的低电平
nop
mov al,00001111B ;置=1
out dx,al
;最终,STROBE*产生低脉冲信号
例10.1
printc
例10.1
printc prn:
打印子程序:查询
proc
push ax
push dx
mov dx,0fffch ;读取端口C
in al,dx
;查询打印机状态
and al,04h ;PC2=BUSY=0?
jnz prn ;PC2=1,打印机忙,则循环等待
例10.1
打印子程序:输出
mov dx,0fff8h ;PC2=0,打印机不忙,则输出数据 mov al,ah out dx,al ;将打印数据从端口A输出
INTR——中断请求信号,高电平有效
8255A输出的信号,可用于向CPU提出中断请求, 要求CPU读取外设数据
方式1输入时序
STB
STIBBF*和IBF是外设和8255A间 的一对应答联络信号,
IN为TR的是可靠地输入数据
RD
输入端口
data
D0~D7
data
方式1中断控制
8255A的中断由中断允许触发器INTE控制
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。
第七章 可编程外围接口芯片8255A及其应用
8255A占用
4
个端口地址。
下右图为一8255A输入输出接口,其控制方式字为82H, 编写程序段实现:4位LED反映4个开关状态。(4分)
8255A
MOV AL, 82H OUT 4BH,AL
D7-0
D7-0 WR RD
IOW
IOR A0 A1 48H-4BH
IN AL,4AH
MOV CL,4 SHL AL,CL
PA7 PA6 PA5 PA4 PB3 PB2 PB1 PB0
L7 L6 L5 L4 K3 K2 K1 K0
A1
A0 CS
OUT 48H,AL
1
习题 CH7 8255A
可编程接口芯片8255A含有
3 个
8 位的
I/O口。
可编程接口芯片8255A的 I/O口可以通过编程的
方式来设定其工作方式,其中A口工作方式有 3
种;B口工作方式有 2 种。
假定对8255A进行初始化时所访问的端口是
0CBH,并将其A口设定为工作方式1输出,问A口的 地址是 A . A.0C8H B.0CAH C.0CCH D.0CEH
2
习题 CH7 8255A
8255A可编程并行输入/输出接口芯片共有3个8位输入
器“亮”,表示开关“断开”)。
4
习题 CH7 8255A
1 D6 D5 D4 D3 D2 D1 D0
B组
PC 3~0
0: OUT 1: INP UT 0: OUT 1: INP UT
PB7~0
PB 工作方式
0:0工作方式 1:1工作方式
A组 PC 7~4
0: OUT 1: INP UT
8255a的应用原理图
8255a的应用原理图1. 简介8255a是一种常用的并行接口芯片,具有广泛的应用领域。
本文将介绍8255a 的应用原理图及其基本工作原理。
2. 原理图下面是8255a的应用原理图:_______| |Port A ---| || 8255a |Port B ---| || |Port C ---|_______|3. 工作原理8255a是一个可编程的并行接口,它具有3个I/O端口(Port A、Port B、Port C)和多种工作模式。
下面是8255a的工作原理的详细描述:3.1 Port APort A是一个8位的双向端口,可以用于输入和输出。
当将Port A设置为输入模式时,可以通过读取Port A来获取外部输入信号;当Port A设置为输出模式时,可以通过向Port A写入数据来向外部设备发送信号。
3.2 Port BPort B也是一个8位的双向端口,并且可以作为一组控制信号进行使用。
在输出模式下,可以通过向Port B写入数据来控制外部设备的各种功能;在输入模式下,可以通过读取Port B来获取外部设备的状态。
3.3 Port CPort C是一个8位的端口,既可以作为一组数字输入/输出端口,也可以作为一组控制信号端口。
Port C的具体功能取决于模式控制寄存器(Mode Control Register)的设置。
4. 工作模式8255a提供了多种工作模式,可以根据具体的应用需求进行配置。
下面是常用的工作模式介绍:4.1 单工模式在单工模式下,Port A、Port B和Port C分别用作输入或输出。
这种模式适用于只需进行一方向数据传输的场合。
4.2 双工模式在双工模式下,Port A和Port B既可以作为输入,也可以作为输出。
这种模式适用于需要双向数据传输的场合。
4.3 脉冲输出模式在脉冲输出模式下,Port A和Port B可以作为脉冲输出端口。
这种模式适用于需要生成特定频率或脉冲序列的场合。
8255A应用举例
七段数码管的字形代码表如下:
显示字形 g
f
e
dc
b
a 段码
0
0
1
1
11
1
1
3fh
1
0
1
1
00
0
0 30h
2
1
0
1
10
1
1 5bh
3
1
0
0
11
1
1 4fh
4
1
1
0
01
1
0 66h
data segment
org 100h
buff1 db 3fh, 30h, 5bh, 4fh,66h,6dh,7dh,07h ;定义0~7 的显示码
buff2 db 0feh,0fdh,0fbh,0f7h,0efh,0dfh,0bfh,7fh ;定义位码
data ends
code segment
A3 A2 A1 A0 0 00 0
340H
1 1 0 1 0 0 0 0 0 1 341H
∶
1 1 0 1 0 0 1 1 1 1 34FH
从上述分析中可以看出,指定地址范围内状态 不变的地址信号是A9 A8 A7 A6 A5 A4 它们的状 态分别是110100,这意味着A9~ A4上出现的信号状 态为110100,8255 A的CS必须为低电平。
下面讨论如何用74LS138译码器实现这一功能。
设计片选电路的基本原则是:用A9~ A4作为 74LS138的输入,用74LS138其中一个输出Yi去连 接8255的CS,当且仅当
可编程并行接口芯片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口状态字
可编程并行接口芯片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的方式2及其应用
1.2 方式2下联络信号线的定义及其时序
1.2 方式2下联络信号线的定义及其时序
1.3 方式2的状态字
方式2状态字的含义是在方式1下输入和输出状态位的组合,不再重复讲述。 状态字中有两位中断允许位,INTE1是输出中断允许,INTE2是输入中断允许。 方式2的状态字如图9.16
1.4 方式2的接口电路的设计
1.题目
2. 主从两个微型计算机进行并行传送,共传送256个字节。主机一侧的
微型计算机原理与接口技术
8255A的方式2及其应用
1.1 方式2的特点
1)方式2也叫双向选通输入/输出或叫双向应答式输入/输出 方式。这种方式只适合于PA口,一次初始化可指定PA口既 作输入口又作输出口。在方式2下,外设可以在8位数据线 上,既往CPU发送数据,又从CPU接收数据。此外,和方 式1情况类似,PC口在PA口工作于方式2时自动提供相应的
DX, 302H AL, DX AH, AL AL, 20H OUTP DX, 300H AL, DX [DI],AL DI RETURN DX, 300H AL, [SI] DX, AL SI
; ; 8255A ; 复位PC4,使INTE2=0
; 复位PC6,使INTE1=0
; ; 8255A ; ; ; 检查状态位IBF=1,是则转输入程序INP ; 不是,则跳输出程序OUTP ; 是,则从PA
8255A采用方式2,采用中断方式传送数据。从机一侧的8255A工作在方式0,
8255A的应用举例
(2)EOC
转换结束,为状态信号。本例假定A/D转换期间该信号为低电平,一旦转换结束,就变为高电平。
(3)OE(上划线)
输出允许,低电平有效。在A/D转换结束后,置该信号有效,可使转换数据通过内部的三态门出现在输出线上。
根据这两个转换器的控制和状态信号的需要,可将作为接口的8255A设置成方式0,连接如图6.13所示。A口作输出口,用来输出要进行D/A转换的数据;B口作输入口,用来输入A/D转换结果;c高4位口作输入口(仅用PC4),用来读:EOC状态;C低4位口作输出口,用置位/复位操作产生D/A、A/D转换所需的各种控制信号。
8255A的应用举例
作者:佚名文章来源:本站原创点击数:3337更新时间:2007-2-24 0:35:43
8255A的应用举例
1.8255A在PC系列机中的应用简况
在PC/XT机中用一片8255A来做三项工作:一是管理键盘,二是控制扬声器,第三是输入系统配置开关的状态。占用的I/0端口地址空间为60H~7FH,但实际使用60H~63H。
图6.14所示是进行D/A输出及采样模拟量的流程图。采样模拟量部分的“使PC3(OE)为低电平”一项可移到准备阶段去做,即让ADC的输出三态门一直为开放状态。
下面的程序段是做一些准备工作(具体工作在注释中说明):
例6.2使用8255A以方式1工作作打印机与CPU之间的接口。
8255A应用举例
4 8255A应用举例在很多应用系统中,用LED作状态指示器具有电路简单、功耗低、寿命长、响应速度快等特点。
LED显示器是由若干个发光二极管组成显示字段的显示器件,应用系统中通常使用7段LED显示器,如图8-15所示。
b)c)a)共阴型b)共阳型c)管脚分布图8-15 七段数码管以共阳极为例,各LED公共阳极接电源,如果向控制端a,b,c, …,g,dp送入00000011信号,则该显示器显示“0”字型。
控制显示各数码加在数码管上的二进制数据称为段码,显示各数码共阴和共阳七段LED数码管所对应的段码见表8-3。
表8-3 七段LED数码管的段码下面用8255A 作为LED 数码管及4位开关与CPU 的接口,要求按照开关的二进制编码状态,显示相应的数码。
如图8-16所示。
图8-16 80x86CPU 通过8255A 同开关与7段LED 显示器的接口设当开关K3、K2、K1、K0未合上时,各开关控制的位线为高电平1;开关接通时,各开关控制的位线为低电平0。
各开关状态、数字及LED 段码的关系如表8-4所示。
表8-4 开关状态、数字及LED 段码的关系例如:当K2未合上,K3、K1、K0均合上接通时状态为0100,表示数字4,显示代码应为99H。
设8255A端口地址为0FFFAH、0FFFBH、0FFFCH、0FFFDH。
源程序如下:DATA SEGMENTXSHDM DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80HDB 98H, 88H, 83H, 0C6H, 0A1H, 86H, 8EHCNT DB 10 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE , DS:DA TASTART: MOV AX,DA TAMOV DS,AX;以上为源程序结构通用部分.;下面为8255A初始化程序块MOV AL,82HMOV DX,0FFFDHOUT DX,ALLOP: MOV DL,0FBHIN AL,DX ;读B口AND AL,0FHMOV BX,OFFSET XSHDMXLATMOV DL,0FAHOUT DX,AL ;写入A口CALL DELAYJMP LOPMOV AH, 4CHINT 21HDELAY PROCMOV DX,0500HLOP1: MOV CX,0FFHLOP2: NOPNOPLOOP LOP2DEC DXJNZ LOP1RETDELAY ENDPCODE ENDSEND START。
