第九章    可编程并行接口芯片
This presentation is the property of its rightful owner.
Sponsored Links
1 / 33

一、 8255 A 的结构和功能 PowerPoint PPT Presentation


  • 164 Views
  • Uploaded on
  • Presentation posted in: General

第九章 可编程并行接口芯片 8255A 及其应用. 一、 8255 A 的结构和功能. 二、 8255A 的控制字. 三、 8255A 的工作方式. 四、 8255A 的应用举例. 习题: 9-6 , 9-7 , 9-10. 并行接口芯片应具有的功能:. ( 1 ) 具有两个以上的输入 / 输出数据端口(锁存 / 缓冲); ( 2 ) 每个数据端口有与 CPU 用应答方式交换信息所必须的控制和状态信号;也有与外设交换信息所必须的控制和状态信号; ( 3 ) 通常每个数据端口还具有能用中断方式与 CPU 交换信息所必须的电路;

Download Presentation

一、 8255 A 的结构和功能

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


8255 a

第九章 可编程并行接口芯片8255A及其应用

一、8255A的结构和功能

二、8255A的控制字

三、8255A的工作方式

四、8255A的应用举例

习题:9-6,9-7,9-10


8255 a

并行接口芯片应具有的功能:

(1) 具有两个以上的输入/输出数据端口(锁存/缓冲);

(2) 每个数据端口有与CPU用应答方式交换信息所必须的控制和状态信号;也有与外设交换信息所必须的控制和状态信号;

(3) 通常每个数据端口还具有能用中断方式与CPU交换信息所必须的电路;

(4) 具有进行片选和读写控制的电路;

(5) 可编程(由程序来选择数据端口,数据传送方向,交换信息的方式等)。


8255 a

内部总线

PA7~PA0

A组控制

A口

DB

数据总线

PC7~PC4

上C口

缓冲器

PC3~PC0

RD

下C口

o

WR

o

读/写

A0

控制逻辑

PB7~PB0

A1

B口

B组控制

RESET

o

CS

第一节 8255A的工作原理

一、8255A的结构和功能

外设接口

内部逻辑

CPU接口


8255 a

PA7~PA0

A口

内部总线

PC7~PC4

上C口

PC3~PC0

下C口

PB7~PB0

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口工作,作为控制信号输出、或作为状态信号输入。


8255 a

A组控制

内部总线

B组控制

(二) 控制逻辑

这是两组根据CPU的编程命令控制8255A工作的电路,它们内部有控制寄存器,用来接收CPU送来的命令字,以决定A组、B组的工作方式,或对C口的每一个位执行置位/复位操作。

端口A和端口C的上半部分(PC7~PC4)由A组控制逻辑管理,端口B和端口C的下半部分(PC3~PC0)由B组控制逻辑管理。


8255 a

内部总线

DB

数据总线

缓冲器

RD

o

o

读/写

WR

A0

至控制寄存器

控制逻辑

A1

(四) 读/写控制逻辑

RESET

o

至数据端口

CS

控制总线的开放与关闭;控制信息传送的路径和方向。

(三)数据总线缓冲器

是双向三态的8位缓冲器, 用作8255A和系统数据总线的接口。

1)接收CPU送来的数据或控制字;

2)外设传送给CPU的数据或状态信息

A1 A0=00,选中端口A

A1 A0=01,选中端口B

A1 A0=10,选中端口C

A1 A0=11,选中控制字寄存器端口


8255 a

8255A端口选择表

(五) 端口寻址


8255 a

端口选择信号:

当8255A用在8位数据总线的微处理器(8088)系统中时,端口选择信号输入端A1 A0与地址总线的A1 A0相连即可,例如端口地址为60H,61H,62H和63H。

在16位数据总线的微处理器系统(8086)中,通常将端口选择信号输入端A1 A0与地址总线的A2 A1相连。 8255A芯片的数据线D0~D7既可以接到系统数据总线的低8位,也可以接到系统数据总线的高8位。为了方便,通常接到系统数据总线的低8位,这样CPU要求芯片内部的各个端口都使用偶地址。例如端口地址为F0H,F2H,F4H和F6H。


8255 a

AB

CB

DB

D7~D0

8255

PA

PB

PC

4

4

8

8

I/O

I/O

I/O

I/O

PA7 ~PA0

PB7 ~PB0

PC3 ~PC0

PC7 ~PC4

PB

PA

PC

8

I/O

8

I/O

PB7 ~PB0

PA7 ~PA0

控制或

I/O

控制或

I/O

RD WR

A0 A1 CS

PB

PA

PC

8

I/O

8

I/O

PB7 ~PB0

PA7 ~PA0

I/O

控制

(六) 方式选择

方式0:基本输入输出

方式1:选通输入输出

方式2:双向总线


8255 a

方式选择控制字格式

1=输入0=输出

1=输入0=输出

1=输入0=输出

1=输入0=输出

特征位 D7=1

下C口 I/O

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

B口I/O

B口方式

0=方式0 1=方式1

上C口I/O

A口I/O

二、8255A的控制字

1、方式选择控制字

8255A有3种基本的工作方式,在对8255A进行初始化编程时,应向控制寄存器写入方式选择控制字,以规定各端口的工作方式。


8255 a

1

0

0

1

0

1

0

1

例:在一个8086/8088系统中,有一片8255A芯片,其各个端口的地址分别为0F8H~0FBH,现要求各个端口的工作方式为:

端口A 方式0 输入

端口B 方式1 输出

端口C(上半部) PC7 ~PC4 输出

端口C(下半部) PC3 输入

要求:进行初始化编程

分析:根据8255A工作模式可确定方式控制字

95H

初始化编程:

MOV AL,95H

OUT 0FBH,AL


8255 a

2、置位/复位控制字

端口C常用作控制或应答信号,通过对8255A的控制口写入置位/复位控制字,可使C口的任一个引脚的输出单独置1或置0。

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


8255 a

例如,要求8255A的A口和B口均工作于方式0, A口和下C口作输入口, B口和上C口作输出口,设8255A各端口地址为60H~63H, 可用下列指令来设置这种工作方式:

MOV AL,91H;方式控制字10010001B AL OUT 63H,AL;方式控制字送控制寄存器

三、8255A的工作方式

1、方式 0-基本输入输出方式

适用于不需要应答信号的简单I/O场合。

A口和B口可作为8位端口,C口的高4位和低4位可作为两个4位的端口,且每个端口均可作为输入口或输出口用。

数据输出有锁存,输入不能锁存。


8255 a

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

1) 选通输入方式

端口A或B用作数据口,均可以工作于输入或输出方式。这两个8位数据口的输入、输出数据都能锁存,但必须在联络信号的控制下完成I/O操作,端口C的部分引脚用来产生或接收这些联络信号。

此时PC3~5 和PC0~2分别用作A口和B口的状态和控制线, PC6和PC7用作I/O线

方式1

(B口)

8

PB7~PB0

INTEB

STBB

PC2

8

PA7~PA0

PC1

IBFB

INTEA

&

PC4

STBA

PC0

INTRB

PC5

IBFA

&

RD

o

PC3

INTRA

RD

o

PC6PC7

I/O线

方式1

(A口)


8255 a

各控制联络信号的意义

STB-数据选通输入信号,低电平有效,由外设输入;

方式1 (A口)

8

PA7~PA0

INTEA

PC4

STBA

PC5

IBFA

&

PC3

INTRA

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

RD

o

PC6PC7

I/O线

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

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


8255 a

2)选通输出方式

方式1输出 (A口)

方式1输出 (B口)

8

PA7~PA0

PB7~PB0

8

INTEA

INTEB

PC6

ACKA

ACKB

PC2

PC7

OBFA

PC1

OBFB

&

&

PC3

INTRA

PC0

INTRB

WR

o

WR

o

PC4PC5

I/O线

这时PC3、PC6和PC7作A口的应答信号,PC0、PC1和PC2作B口的应答信号。余下的PC4和PC5可作输入或输出线。


8255 a

各应答信号的意义:

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

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

方式1输出 (A口)

8

PA7~PA0

INTEA

PC6

ACKA

PC7

OBFA

&

PC3

INTRA

WR

o

PC4PC5

INTR-中断请求信号,高电平有效。当 ACK =1、OBF =1且 INTE =1时,INTR =1。

I/O线

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


8255 a

3、方式2-双向总线方式 (仅适用于A口)

这时PA7~PA0作为双向数据总线,PC3 ~PC7用作A口的联络控制信号。PC2~PC0可用作B口的应答信号线,或作I/O线。

各信号意义:

INTRA

PC3

INTRA-中断请求信号,‘ 1’有效.

PA7

1

OBFA-输出缓冲器满,‘ 0’有效.

8

~

PA0

&

ACKA-外设响应信号,‘ 0’有效.

OBFA

PC7

IBFA-输入缓冲器满信号,‘ 1’有效.

ACKA

PC6

INTE1

STBA-选通输入信号,‘ 0’有效.

&

WR

O

STBA

INTE2

PC4

IBFA

PC5

RD

O

PC2~PC0

3


8255 a

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

输出

INTEA

OBFA

OBFA

I/O

I/O

INTRA

INTEB

OBFB

INTRB

D7 D6 D5 D4 D3 D2 D1 D0

INTE1

IBFA

INTE2

INTRA

*

*

*

4、 C口状态字

8255A工作在方式0时,C口各位作输入输出用。当工作在方式1和方式2时,C口产生与外设的联络信号。此时。读取C口的内容可检查或测试外设的状态。C口的状态字如下:

(1)方式1

(2)方式2


8255 a

第二节 8255A的应用举例

接口电路

驱动器

PA7

D7~D0

D7~D0

RD WR A0 A1 CS

8086

~

系统总线

PA0

RD WR A1 A2

+5V

K3

PC3

A0 A3

A4

Y0 Y1 Y2

O O O

A B C G2A G2B

G1

K2

PC2

K1

PC1

K0

M/IO

PC0

&

A5

A6

A7

8255A

LS138

+5V

一、基本输入输出应用

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


8255 a

由图可知: A7 A6 A5 A4 A3 A2 A1 A0

1 1 1 0 1  0

按题意设置端口A方式0输出,下C口输入.

1

0

0

0

×

0

×

1

CS

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

A0 A3

A4

Y0 Y1 Y2

A B C G2A G2B

G1

TABLE DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H DB 80H, 98H, 88H, 83H, 0C6H, 0A1H, 86H, 8EH

M/IO

&

A5

A6

A7

LS138

8255A各端口地址确定:

各端口地址为:E8H~EEH

8255A方式选择控制字:

81H


8255 a

实现操作的具体程序如下:

MOV DX,0EEH ;设置8255A工作方式 MOV AL,81H OUT DX,AL

MOV DX,0ECH ;指向端口C,读开关状态 IN AL,DX AND AL,0FH

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

XLAT ;查表,取出相应的字形码送AL

MOV DX, 0E8H;指向端口A OUT DX, AL;输出字形码显示 HLT


8255 a

a

b

c

d

e

f

g

dp

a

f

b

g

a

b

c

d

e

f

g

dp

c

e

d

dp

LED显示器的外形

共阳极LED显示器的结构

共阴极LED显示器的结构

LED显示器的结构


8255 a

a

b

c

d

e

f

g

dp

PA0

PA1

PA2

PA3

PA4

PA5

PA6

PA7

8

2

5

5

DB7--DB0

LED显示器的工作原理

软件译码法

方案1 共阳极LED显示器与同相驱动器接口


8255 a

a

a

f

b

g

f

b

a

g

c

e

a

a

a

a

f

a

b

c

a

e

a

g

dp

d

f

b

f

b

f

b

f

g

b

g

dp

f

g

b

d

g

f

b

c

f

b

g

e

g

g

c

c

e

e

c

c

e

e

dp

d

c

c

e

e

c

e

dp

dp

d

d

dp

dp

d

d

dp

dp

d

d

dp

d

D7 D6 D5 D4 D3 D2 D1 D0

dp g f e d c b a

0(C0H) 1 1 0 0 0 0 0 0

1(F9H) 1 1 1 1 1 0 0 1

2(A4H) 1 0 1 0 0 1 0 0

3(B0H) 1 0 1 1 0 0 0 0

4(99H) 1 0 0 1 1 0 0 1

5(92H) 1 0 0 1 0 0 1 0

6(82H) 1 0 0 0 0 0 1 0

7(F8H) 1 1 1 1 1 0 0 0

8(80H) 1 0 0 0 0 0 0 0

9(90H) 1 0 0 1 0 0 0 0


8255 a

a

b

c

d

e

f

g

dp

PA0

PA1

PA2

PA3

PA4

PA5

PA6

PA7

8

2

5

5

DB7--DB0

方案2 共阳极LED显示器与反相驱动器接口


8255 a

a

a

f

b

g

f

b

a

g

c

e

a

a

a

a

f

a

b

c

a

e

a

g

dp

d

f

b

f

b

f

b

f

g

b

g

dp

f

g

b

d

g

f

b

c

f

b

g

e

g

g

c

c

e

e

c

c

e

e

dp

d

c

c

e

e

c

e

dp

dp

d

d

dp

dp

d

d

dp

dp

d

d

dp

d

D7 D6 D5 D4 D3 D2 D1 D0

dp g f e d c b a

0(3FH) 0 0 1 1 1 1 1 1

1(05H) 0 0 0 0 0 1 1 0

2(5BH) 0 1 0 1 1 0 1 1

3(4FH) 0 1 0 0 1 1 1 1

4(66H) 0 1 1 0 0 1 1 0

5(6DH) 0 1 1 0 1 1 0 1

6(7DH) 0 1 1 1 1 1 0 1

7(07H) 0 0 0 0 0 1 1 1

8(7FH) 0 1 1 1 1 1 1 1

9(6FH) 0 1 1 0 1 1 1 1


8255 a

5V

5V

+5V

13 12 11 10 9 15 14

1. 5V

7447

a b c d e f g

3

4

5

+5V

16

8

RBI

RBO

LT

Vcc

GND

I=20mA

R

A B C D

7 1 2 6

0. 2V

二、七段LED显示器接口电路

利用专用接口芯片7447驱动LED显示器

7447为BCD—七段译码器

与单个LED的连接

R=(5–1.5 – 0.2)V/ 20mA=168

取R=150 


8255 a

7447BCD—七段译码器与多个LED的连接

DB0——DB7

DB0——DB7

PA0PA1PA2PA3 PA4 PA5PA6 PA7

PB0PB1PB2PB3 PB4 PB5PB6 PB7

A B C D

A B C D

A B C D

A B C D

7447

7447

7447

7447

a b c d e f g

a b c d e f g

a b c d e f g

a b c d e f g

5V

静态显示器的设计


8255 a

7

4

4

7

a

b

c

d

e

f

g

A

B

C

D

PB0

PB1

PB2

PB3

• • •

• • •

• • •

• • •

• • •

• • •

• • •

动态显示器的设计

PA0

PA1

PA2

PA3

PA4

PA5

PA6

8

2

5

5

PNP


8255 a

初始化

取显示数据

送段通道口

位码送位通道口

延时

修改指针,位码

N

是否最后一位

Y

结束

LEA SI,BUFF

MOV CX,FEH

MOV DL,01H

MOV AL,[SI]

OUT POTB,AL

MOV AL,DL

OUT POTA,AL

INC SI

ROL DL

显示控制程序


8255 a

a

PB0

g

PB7

• • •

• • •

• • •

• • •

• • •

• • •

• • •

74LS07

PA0

PA1

PA2

PA3

PA4

PA5

PA6

8

2

5

5

NPN


8255 a

初始化

取显示数据

查表得段码送段通道

位码送位通道

延时

修改指针,位码

N

是否最后一位

Y

结束

LEA SI,BUFF

MOV CL,40H

LEA BX,TABLE

DISI:MOV AL,[SI]

XLAT

MOV DX, POTB

OUT DX,AL

MOV AL,CL

MOV DX, POTA

OUT DX,AL

INC SI

SHR CL

JNZ DISI


  • Login