可编外围接口芯片 8255A 及其应用

36
可可可可可可可可 8255A 可可可可 8255A 可可可可可 可可可可可 I/O 可可可可可可1 可可可可可 可可可可可可可可可可 、、; 2 可可可可可可可可 CPU 可可可可可可可可可可可可 可可可可可可可可可可可可可 可可可可可 ( 可可可可可 ) 3 可可可可可可可可 I/O 可可可可可4 可可可可可可可可可可 、; 5 可可可 CPU 可可可可可可 可可可可可可 可可 可可可可 可可可可可可可可 ,、 可可可

description

可编外围接口芯片 8255A 及其应用. 8255A 的工作原理. 可编程并行 I/O 应具有的功能:. 1 、具有缓冲、锁存功能的数据端口;. 2 、每个端口都具有与 CPU 交换必须的状态和控制信息,也具有与外设交换必须的状态和控制信息(的握手信号);. 3 、具有中断方式实现 I/O 的有关电路;. 4 、片选和连接控制电路;. 5 、可通过 CPU 对芯片的编程,选择数据端口、数据传送方向,选择查询或中断通信方式。. 与外设连接的数据端口. 与 CPU 连接的接口电路. PA7~PA0. A 口. A 组控制. DB. 总线 - PowerPoint PPT Presentation

Transcript of 可编外围接口芯片 8255A 及其应用

Page 1: 可编外围接口芯片 8255A 及其应用

可编外围接口芯片 8255A 及其应用

8255A 的工作原理可编程并行 I/O 应具有的功能:1 、具有缓冲、锁存功能的数据端口;

2 、每个端口都具有与 CPU 交换必须的状态和控制信息,也具有与外设交换必须的状态和控制信息 ( 的握手信号 ) ; 3 、具有中断方式实现 I/O 的有关电路; 4 、片选和连接控制电路; 5 、可通过 CPU 对芯片的编程,选择数据端口、数据传送方向,选择查询或中断通信方式。

Page 2: 可编外围接口芯片 8255A 及其应用

A 组控制

B 组控制

DB

RDWRA0A1

RESETCS

读 / 写控制逻辑

A 口

B 口

上 C口下 C口

PA7~PA0

PC7~PC4

PC3~PC0

PB7~PB0

内部总线

总线缓冲器

内部控制逻辑电路

与 CPU 连接的接口电

与外设连接的数据端口

一、结构和工作原理

Page 3: 可编外围接口芯片 8255A 及其应用

1 、 数据端口

三个 8bit 的数据端口 PA 、 PB 、PC

PA :可用于输入、输出或双向

PB :可用于输入、输出,

但不能用于双向

PC :可用于输入、输出。

可分为二个 4bit 端口作为 PA 、PB 口状态、控制信号的通路

B 口

PA7~PA0

PC7~PC4

PC3~PC0

PB7~PB0

内部总线

上 C 口

下 C 口

A 口

Page 4: 可编外围接口芯片 8255A 及其应用

2 、 控制逻辑

控制寄存器:存放来自CPU 对 8255 的控制命令字。以决定PA 、 PB 、 PC 端口的工作方式。 A 组控制电路的控制对象:

PA 口、 PC 口上半部(PC7~PC4)

B 组控制电路的控制对象:

PB 口、 PC 口下半部(PC3~PC0)

A 组控制

B 组控制

内部总线

A 口

上 C 口

下 C 口

B 口

Page 5: 可编外围接口芯片 8255A 及其应用

3 、数据总线缓冲器

8bit 三态数据缓冲器:

连通 CPU 的 DB 与 8255 的内部总线是 CPU 执行IN 、 OUT 指令的数据通道。 RESET

读写控制逻辑

DB

RDWRA0A1

CS

内部总线

至数据端口

至控制寄存器

数据总线

缓冲器

Page 6: 可编外围接口芯片 8255A 及其应用

4 、 读 / 写控制逻辑 与 CPU 的 AB 、 CB 连接,实现 CPU 对 8255 的控制。

A15 ~ A2 A1 A0 端口 0 0 PA

0 1 PB 1 0 PC 1 1 控制口

系统接口地址译码确定 CS

RD CPU 从 8255 读入数据或状态

WR CPU 向 8255 写出数据或命令

RESET 总清,使PA 、 PB 、 PC 初始化为输入状态 CS 、 A1 、 A0 选择8255 内部的 4 个寄存器

RESET

读写控制逻辑

DB

RDWRA0A1

CS

内部总线

至数据端口

至控制寄存器

数据总线

缓冲器

Page 7: 可编外围接口芯片 8255A 及其应用

4 、 8255 与 CPU 的连接

8255(1)

A0A1CS

D7~D0

RDWRRESET

PA

PB

PC

8255(2)

A0A1CS

D7~D0

RDWRRESET

PA

PB

PC

A0A1

译码

200H

208H

D7 ~ D0

RDWR

RESET

8088

CPU

208H ~ 20BH

200H ~ 203H

A15~A2

M/IO

Page 8: 可编外围接口芯片 8255A 及其应用

二、 8255A 的控制字1 、工作方式控制字

Page 9: 可编外围接口芯片 8255A 及其应用

2 、位控 ( 置位 / 复位 ) 方式的数据输出

端口 C 有一种特殊的控制方式,可以将端口 C 的某一位置 1或清 0 ,而不影响端口 C 其他位的状态

Page 10: 可编外围接口芯片 8255A 及其应用

三、 8255A 的工作方式

1 、方式 0 基本输入输出方式适用于不需要握手信号的简单 I/O 场合。

2 、方式 1 -选通输入输出方式

指定端口有 PA 、 PB 、 PC

输入或输出都通过选通握手信号实现。

指定端口有 PA 、 PB ;握手信号专用通道是 PC ,不再作为数据端口。

在满足握手条件时, 8255 向 CPU 申请中断,在中断服务程序中执行 IN 或 OUT 指令对指定端口读入或写出。

Page 11: 可编外围接口芯片 8255A 及其应用

选通输入方式

CPU 8255 外设PA 数据线

INTRA PC3

PC4 STBA

PC5 IBFA

PB 数据线 INTRB PC0

PC1 IBFB

PC2 STBB

选通输出方式

CPU 8255 外设PA 数据线

INTRA PC3

PC6 ACKA

PC7 OBFA

PB 数据线

INTRB PC0

PC1 OBFB

PC2 ACKB

方式 1 选通输入输出方式

Page 12: 可编外围接口芯片 8255A 及其应用

选通输入信号说明

IBF -输入缓冲器满信号,高电平有效。由 8255A 输出的状态信号,表示输入锁存器已满,向外设指明不能再送入数据。

INTE -中断允许信号。是控制8255A 能否向 CPU 发中断请求信号,它没有外部引脚,INTEA 、 INTEB 是由用户对 PC4 、 PC2 按位置位实现的。INTR -中断请求信号,高电平

有效。是 8255A 向 CPU 发出的请求中断信号,要求CPU 服务。当 IBF =1 、 STB =1 且 INTE =1时, INTR =1 。

STB -选通输入,低电平有效,外设数据输入送输入缓冲器;

STBA

IBFA

INTRA

I/O 线

PA7~PA0 8

PC3

PC6PC7

&

INTEA

RD

方式 1 输入 (A口 )

PC5

PC4

Page 13: 可编外围接口芯片 8255A 及其应用

方式 1 输入时序图

Page 14: 可编外围接口芯片 8255A 及其应用

选通输出信号说明

ACK -外设的回答信号,低电平有效,由外设送给 8255A 。表示 CPU 送到指定端口的数据已被外设接受。

OBF -输出缓冲器满信号,输出,低电平有效。表示 CPU已输出数据到指定端口。

INTR -中断请求信号,高电平有效。

INTE -中断允许信号。 INTEA 、 INTEB 是由用户对PC6 、 PC2 按位置位实现的

PA7~PA0 8

PC6 ACKA

PC7 OBFA

PC3 INTRA

PC4PC5

I/O 线

&

INTEA

WR

方式 1 输出 (A 口 )

Page 15: 可编外围接口芯片 8255A 及其应用

方式 1 输出时序图

Page 16: 可编外围接口芯片 8255A 及其应用

3 、方式 2 -双向总线方式 (仅适用于 A口)PA7~PA0 作为双向数据总线, PC3 ~PC7 用作 A 口的

联络控制信号。 PC2~PC0 可用作 B 口的应答信号线 , 或作I/O 线。

PC3INTRA

PA78

PC7

PC6

OBFA

ACKA

PC4

PC5

PC2~PC03

STBA

IBFA

INTE2

&

~PA0

&

INTE1

1

WR

RD

Page 17: 可编外围接口芯片 8255A 及其应用

8255A 的应用举例例:检测开关状态 ( 断开 / 闭合 ) 并在 LED 显示 ( 亮 / 暗 )

…K7

K0

…LED7

LED0

PA7

PA0

PB0

PB7

D7~D0

RDWRRESET

G1G2AG2BCBA

Y4 CS

A1A0

D7~D0

RDWR

RESETM/IO

A4

A5

A6

A7

A3A0A2A1

8255A8086

74LS138

+5V

PA 口: 11110000 0FOH PB 口: 11110010 0F2H

PC 口: 11110100 0F4H 控制口: 11110110 0F6H

Page 18: 可编外围接口芯片 8255A 及其应用

R

+5V

K 上拉电阻

K 状态 PA7

断开 1

闭合 0

开关状态的检测

PA7

8255

Page 19: 可编外围接口芯片 8255A 及其应用

限流电阻

LED

PB7

8255

PB7 LED 状态1 亮0 暗

发光二极管的控制

Page 20: 可编外围接口芯片 8255A 及其应用

下 C 口 I/O

1= 输入0= 输出

B 口 I/O 1= 输入0= 输出

B 组方式 0= 方式0 1= 方式 1

上 C 口I/O

1= 输入0= 输出

特征位 D7=1

A 组方式 : 00= 方式0 01= 方式1 1x= 方式 2

A 口I/O

1= 输入0= 输出

D0D1D2D3D4D5D6D7

A 组 B 组

1

A 口:基本输入,方式 0

B 口:基本输出,方式 0

1 0 0 1 0 0 0 0

Page 21: 可编外围接口芯片 8255A 及其应用

MOV DX , 0F6HMOV AL , 90HOUT DX , AL ;向控制口写方式控制字

TEST : MOV DX , 0F0HIN AL , DX ;从 PA 口读入 8 个开关状

态MOV DX , 0F2H

OUT DX , AL ;开关状态送 PB 口,由 LED 显示

JMP TEST ;不断循环CALL DELAY ;延时

Page 22: 可编外围接口芯片 8255A 及其应用

二、键盘接口

矩阵键盘接口的特点:1 、键盘由触点按键 ( 开关 ) 组成的矩阵形式。在行与列的交叉点位置安装按键。当按键闭合,相应的行和列连接。

0 1 2 3

4 5 6 7

8 9 A B

C D E F

+ Vcc10K

10K

Page 23: 可编外围接口芯片 8255A 及其应用

2 、按键具有弹性,在闭合和断开的过程中有抖动。需要采取消抖措施。

抖动

抖动断开 闭合闭合

1

采取延时 10ms ,再检测的消抖措施

Page 24: 可编外围接口芯片 8255A 及其应用

例:用 8255A 芯片端口 A 做行线端口,端口 B 做列线端口,构成扫描键盘

Page 25: 可编外围接口芯片 8255A 及其应用

两种键盘扫描方法正向扫描法: A 口输出 00H , B 口读入键盘列线值。如果无键按下,则 B 口读入低 4 位值为 0FH ,否则,就有键按下。如果有键按下, A 口输出 FEH ,如果 B 口读入有 0 ,则第一行有键按下;如果没有, A 口输出 FDH ,再查下去

反转扫描法: A 口输出, B 口输入。 A 口输出 00H , B 口读入键盘列线值。如果无键按下,则 B 口读入低 4 位值为0FH ,否则,就有键按下。如果有键按下,将 8255A 的 A 口设置为输入, B 口为输出。把 B 口读入的列值从 B 口输出,同时从 A 口读入行值。用读入的行、列值查表,可以确定是哪一个键被按下

Page 26: 可编外围接口芯片 8255A 及其应用

KEYSCAN PROC NEAR

BEGIN: MOV DX , XXH ;置 8255A 控制口地址MOV AL , 82H ; A 方式 0 输出 ,B 方式

0 输入OUT DX , AL ;输出 8255A 方式控制

字LOOP1 : MOV DX , XXH ; A 口地址送 DX

MOV AL , 00H

OUT DX , AL ; A 口输出 00H 扫描键盘

MOV DX , XXH ; B 口地址送 DX 中IN AL , DX ;读入键盘列值AND AL , 0FH ;保留低 4 位CMP AL , 0FH

JE LOOP1 ;无键按下,重新扫描CALL DELAY ;有键按下,延时去抖动

反转扫描法程序

Page 27: 可编外围接口芯片 8255A 及其应用

IN AL , DX ;再次读 B 口,检查有无键按下AND AL , 0FH ;保留低 4 位CMP AL , 0FH

JE LOOP1 ;无键按下,重新扫描MOV KEY , AL ;有键按下,列值保存在 KEY 单元MOV DX , XXH ;置 8255A 控制口地址MOV AL , 90H ; B 口方式 0 输出, A 口方式 0 输入OUT DX , AL ;输出 8255A 方式控制字MOV DX , XXH ; B 口地址送 DX 中MOV AL , KEY ;从 KEY 单元取出列值OUT DX , AL ;向 B 口输出列值,反向扫描MOV DX , 208H ; A 口地址送 DX

IN AL , DX ;从 A 口读入行值AND AL , 1FH ;保留低 5 位

Page 28: 可编外围接口芯片 8255A 及其应用

CMP AL , 1FH

JE BEGIN ;无键按下,重新扫描CALL KEYVALUE ;查表获得按键编码MOV DX , XXH ; B 口地址送 DX 中MOV AL, 0

OUT DX , AL ;向 B 口输出列值,反向扫描MOV DX , XXH ; A 口地址送 DX

W2:IN AL , DX ;从 A 口读入行值AND AL , 1FH ;保留低 5 位CMP AL , 1FH

JNE W2 ;未释放,等待RET

KEYSCAN ENDP

Page 29: 可编外围接口芯片 8255A 及其应用

三、七段 LED 显示器及接口电路

DP

a

d

b

c

f

e

gDP

g

fe

dcb

a

阴极

共阴极 LED

DP

g

fe

dcb

a

阳极

共阳极 LED

+VCC

Page 30: 可编外围接口芯片 8255A 及其应用

反相驱动器

PA0

PA1

PA2

PA3

PA4

PA5

PA6

PA7

8255A

DB

7 ~DB0

共阴极 LED 显示器接口电路

DP

g

fe

dcb

a

阴极

共阴极 LED

Page 31: 可编外围接口芯片 8255A 及其应用

a

d

b

c

f

e

g

DP

g f e d c b a

D6 D5 D4 D3 D2 D1 D0

0 1 0 0 0 0 0 0 40H

1 1 1 1 1 0 0 1 79H

2 0 1 0 0 1 0 0 24H

3 0 1 1 0 0 0 0 30H

4 0 0 1 1 0 0 1 19H

E 0 0 0 0 1 1 0 06H

F 0 0 0 1 1 1 0 0EH

… … … … … … … …

显 示 代 码

Page 32: 可编外围接口芯片 8255A 及其应用

DB 40H,79H,24H,30H,19H,12H,02H,78HTABLE DB 40H,79H,24H,30H,19H,12H,02H,78H

DISPY: MOV BX , OFFSET TABLE MOV AL , COUNT

XLATMOV DX , POR OUT DX , AL

查表显示数字的程序

Page 33: 可编外围接口芯片 8255A 及其应用

例: 8255A 作为开关 K0~K3 及七段 LED 显示器接口。要求开关设置的二进制信息,由 PC0~PC3 输入,经程序转换为对应的七段 LED 显示器的字形代码后,由 PA 口输出显示。

8255A

PA7

PA0

~ 驱动

+5V

+5V

K0

K1

K2

K3PC3

PC2

PC1

PC0

D7~D0

RD WR A0 A1 CS

D7~D0

RD WR A0 A1

A B C G2A G2B G1

Y0 Y1 Y2

O O O

&

A2 A3

A9M /IO

8088

LS138

CPU

Page 34: 可编外围接口芯片 8255A 及其应用

8255A 各端口地址确定 :

由图可知: A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 0 0 0 1 0 各端口地址为: 388H~38BH

8255A 方式选择控制字 :按题意设置端口 A 方式 0 输出 , 下 C 口输入 .控制字为 :1000×0×1 = 81H ( 或 83H 等 )

LED 显示器的字形代码表存放在 TABLE 单元开始的内存中 .

TABLE DB 40H,79H,24H,30H,19H,12H,02H,78H

DB 40H,79H,24H,30H,19H,12H,02H,78H

A B C G2A G2B G1

Y0 Y1 Y2 &

A2 A3

A9LS138

CS

M/IO

A4 A5~

Page 35: 可编外围接口芯片 8255A 及其应用

MOV DX, 38BH ; 设置 8255A 工作方式 MOV AL, 81H

OUT DX, AL MOV DX, 38AH ; 指向端

口 C, 读开关状态 IN AL, DX AND AL, 0FH

LEA BX, TABLE ; 显示代码表首地址送 BX XLAT

; 查表 , 取出相应的字形码送AL MOV DX, 388H ; 指向端口 A

OUT DX, AL ; 输出字形码显示 HLT

Page 36: 可编外围接口芯片 8255A 及其应用

第九章作业• 9 , 10