8.3
This presentation is the property of its rightful owner.
Sponsored Links
1 / 72

8.3 PowerPoint PPT Presentation


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

8.3. 8255A 并行接口电路. 第一节 并行接口的基本概念 一、并行通信和串行通信 二、并行接口概述 第二节 可编程并行接口 8255A 一、 8255A 引脚、编程结构 二、 8255A 的控制字 三、 8255A 的 工作方式 四、 8255A 的应用举例. 第一节 并行接口的基本概念 一、并行通信和串行通信 二、并行接口概述. 一、并行通信和串行通信. 通信 指计算机与外设、计算机与计算机间的信息交换 通信的基本方法 : 并行通信和串行通信. 0. 1. D0 D1 D2 D3 D4 D5 D6 D7. D0

Download Presentation

8.3

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


8 3

8.3

8255A并行接口电路


8 3

第一节 并行接口的基本概念

一、并行通信和串行通信

二、并行接口概述

第二节 可编程并行接口8255A

一、8255A引脚、编程结构

二、8255A的控制字

三、8255A的工作方式

四、8255A的应用举例


8 3

第一节 并行接口的基本概念

一、并行通信和串行通信

二、并行接口概述


8 3

一、并行通信和串行通信

通信

指计算机与外设、计算机与计算机间的信息交换通信的基本方法: 并行通信和串行通信.


8 3

0

1

D0

D1

D2

D3

D4

D5

D6

D7

D0

D1

D2

D3

D4

D5

D6

D7

0

1

0

1

1

0

  • 并行通信

    • 将数据的各位同时在多根并行传输线上进行传输。

  • 数据的各位同时由源到达目的地 → 快

  • 多根数据线 → 距离短、远程费用高

并行通信适于短距离、高速通信


8 3

TD

RD

  • 串行通信

    • 将数据的各位按时间顺序依次在一根传输线上传输。

0 1 1 0 1 0 1 0

  • 数据的各位依次由源到达目的地 → 慢

  • 数据线少 → 远程, 费用低

串行通信适于长距离、中低速通信


8 3

二、并行接口概述

  • 并行接口连接CPU与并行外设,实现 两者间的并行通信,

    在信息传送过程中,起到输出锁存或输入缓冲的作用。

  • 并行接口的典型硬件结构包括:

    1、一个或一个以上具有锁存或缓冲的数据端口

    2、与CPU进行数据交换所必须的控制和状态信号

    3、与外设进行数据交换所必须的控制和状态信号

    4、端口译码电路

    5、控制电路


8 3

并行接口连接外设示意图

数据输入准备好

数据总线

控制寄存器

读出信号

数据输入回答

输入缓冲寄存器

写入信号

复位

数据输入

输出缓冲寄存器

准备好

CPU

状态寄存器

中断请求

数据输出

地址

地址

片选

数据输出准备好

译码

A

数据输出回答

0

A

1


8 3

输入过程

外设将数据=>接口

→状态线“数据输入准备好”=1;

→接口把接收到数据输入缓冲寄存器;

→数据输入回答=1,作为对外设响应信号;

→外设撤消“数据”和“数据输入准备好”信号;

CPU从接口读取数据

→接口收到数据,设置“输入准备好”状态位;

→供给CPU查询 或问CPU发中断请求;

→CPU从接口读取数据,

接口自动清除状态寄存器输入准备好状态位(准备好);

→数据总线处于高阻状态。开始下一个输入过程


8 3

输出过程

输出 :每当外设从接口取走一个数据以后,

CPU往接口中输出数据

→接口中状态寄存器发中断请求;

(“输出准备好”=1,表示CPU可以往接口中输出数据)

→CPU向接口输出数据,数据到接口缓冲寄存器;

→接口自动清除“输出准备”好。

将数据送往外设:

接口向外设发送一个“驱动信号”,启动外设接收数据。

→外设收到数据向接口发一个“数据输出回答”信号;

→接口收到的信号将状态寄存器中“输出准好”=1;

→CPU输出下一个数据。


8 3

不可编程并行接口和可编程并行接口

不可编程并行接口的工作方式和功能:

是由硬件接线决定,不能用软件来控制。

可编程并行接口的工作方式和功能:

可用软件编程的方法改变,

使接口具有更大的灵活性和通用性。


8 3

  • 在并行接口芯片中,

  • 不同的产品系列研制出与之相匹配的接口芯片。

  • 例 在80X86系列中使用8255A芯片

  • 在Z80系列中使用Z80-PIO芯片

  • 在6800系列中使用MC6820PIA芯片

  • 一般情况下不交叉使用,因为:

    • 只有本系列的芯片才能更好地保证时序上的配合,

    • 和各种功能的发挥,使CPU可靠与外设交换信息。


8 3

第二节 可编程并行接口8255A

一、8255A的引脚、编程结构

二、8255A的控制字

三、8255A三种工作方式

四、8255A的应用举例


8 3

8255A

PA3

PA2

PA1

PA0

RD

CS

GND

A1

A0

PC7

PC6

PC5

PC4

PC3

PC2

PC1

PC0

PB0

PB1

PB2

PA4

PA5

PA6

PA7

WR

RESET

D0

D1

D2

D3

D4

D5

D6

D7

Vcc

PB7

PB6

PB5

PB4

PB3

一、8255A引脚、编程结构

Intel系列的8位并行接口芯片

通用性强,使用灵活

可用程序设置和改变芯片的工作方式

是一种典型的可编程并行接口芯片

40个引脚,双列直插式


8 3

总线

8255A

RESET

PA7

~

PA0

reset

端口A

数据

缓冲器

D7

~

D0

D7

~

D0

PC7

~

PC0

端口C

RD

WR

IOR

IOW

读写

控制

PB7

~

PB0

端口B

CS

片选

译码

A9

~

A2

片内

译码

A1

A0

控制口

D

+5V

A1

A0

GND


8 3

总线

8255A

RESET

PA7

~

PA0

reset

端口A

数据

缓冲器

D7

~

D0

D7

~

D0

PC7

~

PC0

端口C

RD

WR

IOR

IOW

读写

控制

PB7

~

PB0

端口B

CS

片选

译码

A9

~

A2

片内

译码

A1

A0

控制口

D

+5V

A1

A0

GND

1. 数据端口 A、B、C

  • 每个端口8位,通过编程设定其为输入口或输出口

  • 可用来和外设传送信息


8 3

总线

8255A

RESET

PA7

~

PA0

reset

端口A

数据

缓冲器

D7

~

D0

D7

~

D0

PC7

~

PC0

端口C

RD

WR

IOR

IOW

读写

控制

PB7

~

PB0

端口B

CS

片选

译码

A9

~

A2

片内

译码

A1

A0

控制口

D

+5V

A1

A0

GND

  • 端口A

    有 3 种工作方式( 方式 0、方式 1、方式 2)

    对外 8 根引脚 PA7 ~ PA0


8 3

总线

8255A

RESET

PA7

~

PA0

reset

端口A

数据

缓冲器

D7

~

D0

D7

~

D0

PC7

~

PC0

端口C

RD

WR

IOR

IOW

读写

控制

PB7

~

PB0

端口B

CS

片选

译码

A9

~

A2

片内

译码

A1

A0

控制口

D

+5V

A1

A0

GND

  • 端口B

    有 2 种工作方式:方式 0、方式 1

    对外 8 根引脚 PB7 ~ PB0


8 3

总线

8255A

RESET

PA7

~

PA0

reset

端口A

数据

缓冲器

D7

~

D0

D7

~

D0

PC7

~

PC0

端口C

RD

WR

IOR

IOW

读写

控制

PB7

~

PB0

端口B

CS

片选

译码

A9

~

A2

片内

译码

A1

A0

控制口

D

+5V

A1

A0

GND

  • 端口C

对外引脚PC0 ~ PC7


8 3

总线

8255A

RESET

PA7

~

PA0

reset

端口A

数据

缓冲器

D7

~

D0

D7

~

D0

PC7

~

PC0

端口C

RD

WR

IOR

IOW

读写

控制

PB7

~

PB0

端口B

CS

片选

译码

A9

~

A2

片内

译码

A1

A0

控制口

D

+5V

A1

A0

GND

当端口 A 在方式 1 或方式 2、端口 B 在方式 1 时,端口 C 的某些位用于传送联络信号,以适应CPU与外设间的各种数据传送方式的要求,如查询传送的应答信号、中断传送的中断申请信号等;C口未被用作联络信号的其它位可工作在方式 0。


8 3

2. 控制端口D (A组和B组控制电路)

8位端口,无对外引脚。控制端口的内容决定A口、B口、C口的工作状态(输入或输出)和工作方式(方式 0、1、2), 起控制作用。


8 3

3. 数据总线缓冲器(引脚D0~D7)

由1个8位双向三态缓冲器构成。8255A内各端口通过数据缓冲器与系统总线相连。CPU与端口A、B、C间传送的数据,以及CPU写入控制端口D中的控制字均通过数据缓冲器传送。


8 3

4. 读写控制电路 (引脚CS、 RD、 WR)

控制数据总线缓冲器的状态。数据总线缓冲器有3种状态:输入、输出、高阻态


8 3

CS

RD

WR

数据总线缓冲器状态

0

0 1

D7~D0

内部数据总线

0

1 0

D7~D0

内部数据总线

1

×

×

,

三态

处于断开状态

1

1

×

0

0

×


8 3

总线

8255A

RESET

PA7

~

PA0

reset

端口A

数据

缓冲器

D7

~

D0

D7

~

D0

PC7

~

PC0

端口C

RD

WR

IOR

IOW

读写

控制

PB7

~

PB0

端口B

CS

片选

译码

A9

~

A2

片内

译码

A1

A0

控制口

D

+5V

A1

A0

GND

5. 片内译码电路 (引脚A1、 A0)

选择被操作的端口


8 3

A1 A0

选中端口

0

0

A

+5V

端口

0

1

B

端口

1

0

C

端口

1 1

D

控制端口

RESET

PA7

PA0

reset

端口A

数据

缓冲器

D7

~

D0

D7

~

D0

PC7

PC0

端口C

RD

WR

IOR

IOW

读写

控制

PB7

PB0

端口B

CS

片选

译码

A9

~

A2

片内

译码

A1

A0

控制口

D

A1

A0

GND


8 3

由CS、A1、A0、RD、WR引脚的不同组合,

实现各种不同的功能。      


8 3

二、8255A的控制字

1.方式控制字

2. C口按位置位/复位控制字


8 3

 8255A控制口D的内容对数据端口A、B、C起控制作用,故称为8255A的控制字。


8 3

通过编程向控制口写入不同的控制字,

可灵活的改变端口A、B、C的工作状态和工作方式。

  • 例 假设8255A 控制端口的地址为Port_Ctrl,

    • 8255A控制口的内容为CtrlData

    • 设置控制字的程序段如下:

    • MOV DX,Port_Ctrl ;置DX为控制口地址

    • MOV AL,CtrlData ;置控制字于AL中

    • OUT DX, AL ;将控制字写入控制口


8 3

 8255A有两种控制字,由写入内容的D7位区分:

  • D7=1, 方式控制字

  • 设定A口、B口、C口的工作状态和工作方式。

    • 工作状态:输入或输出

    • 工作方式:方式 0、方式 1、方式 2

  • D7=0 , C口按位置位/复位控制字

  • 使C口中的某一位为1(置位)或0(复位)。


  • 8 3

    0 输出

    1 输入

    1

    PC3~PC0

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    0输出

    1 输入

    B口

    B口工作方式

    PC7~PC4

    0 方式0

    1 方式1

    0 输出

    1 输入

    A口

    0 输出

    1 输入

    A口工作方式

    00 方式0

    01 方式1

    1x 方式2

    特征位,D7=1表示是方式控制字

    • 1. 方式控制字

      • 设定A口、B口、C口的工作状态和工作方式。

        • 工作状态:输入或输出

        • 工作方式:方式 0、方式 1、方式 2


    8 3

    +5V

    • 例8255A与系统的连线如下, 片选译码地址为F0~F3h

    • 1) 确定各端口地址;

    • 2) 编程设置8255A : A口方式 0 输入,PC7~PC4输出

      • B口方式 0 输出,PC3~PC0输入

    RESET

    PA7

    PA0

    reset

    端口A

    数据

    缓冲器

    D7

    ~

    D0

    D7

    ~

    D0

    PC7

    PC0

    端口C

    RD

    WR

    IOR

    IOW

    读写

    控制

    PB7

    PB0

    端口B

    CS

    片选

    译码

    A9

    ~

    A2

    F0~F3h

    片内

    译码

    A1

    A0

    控制口

    D

    A1

    A0

    GND


    8 3

    1) 确定端口地址

    A1 A0

    选中端口

    0

    0

    A

    端口

    0

    1

    B

    端口

    1

    0

    C

    端口

    1 1

    D

    控制端口

    由8255A编程结构知:

    由8255A的CS与系统总线的连线知,

    地址在F0~F3h可使CS有效,故:

    4个端口的地址在F0~F3h中。

    CS

    A1 A0

    8255A

    结合8255A与系统总线的连线:

    总线

    最后得出结论:

    A口地址为 F0 H

    B口地址为 F1 H

    C口地址为 F2 H

    D口地址为 F3 H

    A7A6A5A4A3A2A1A0

    F0H 1 1 1 1 0 0 0 0 A口

    F1H 1 1 1 1 0 0 0 1 B口

    F2H 1 1 1 1 0 0 1 0 C口

    F3H 1 1 1 1 0 0 1 1 D口


    8 3

    1

    0

    0

    1

    0

    0

    0

    1

    A口

    输入

    B口

    方式 0

    B口

    输出

    PC3~PC0

    输入

    A口

    方式 0

    PC7~PC4

    输出

    特征位

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    2) 确定方式控制字

    • 要求设置: A口方式0输入,PC7~PC4输出

      • B口方式0输出,PC3~PC0输入

    所以,方式控制字为 1001 0001B,即91H


    8 3

    设置方式控制字的程序段为:

    MOV DX, 0F3H ;控制口地址

    MOV AL, 91H ;方式控制字

    OUT DX, AL

    或 MOV AL, 91H ; 方式控制字

    OUT 0F3H, AL


    8 3

    2. C口按位置位/复位控制字

    作用是:

    使C口中的某一位为1(置位)或0(复位);

    或在A口、B口采用中断方式时,

    通过向C口的指定位置位,允许8255A的中断信号发出。


    8 3

    C口按位置位/复位控制字各位含义:

    无意义

    选择设置位

    设置内容

    D3 D2 D1

    设置位

    0 0 0

    PC0

    0

    0 0

    1

    PC1

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    0

    1

    0

    PC2

    特征位,D7=0

    表示是C口按位

    置位/复位控制字

    0

    1

    1

    PC3

    0 0

    1

    PC4

    1

    0

    1

    PC5

    1

    1

    0

    PC6

    1 1

    1

    PC7

    0 复位

    1 置位


    8 3

    例 连线如上例,

    通过控制口置 PC2 为 0,置 PC4 为 1

    MOV DX,0F3H ;置DX为控制口地址

    MOV AL,0000 0100B ;置PC2为0

    OUT DX, AL

    MOV AL,0000 1001B ;置PC4为1

    OUT DX, AL


    8 3

    三、8255A的工作方式

    1. 三种工作方式

    2. 方式0

    3. 方式1

    4. 方式2


    8 3

    1. 三种工作方式

    • 在8255A内部硬件结构中:

      A口和B口之间没有硬件关系,

      即可分别作为独立的输入或输出端口;

      C口和A口,C口和B口之间有硬件联系,

      通过向控制口设置控制字可以改变这种联系。


    8 3

    • 根据A口和C口、B口和C口之间硬件关系的不同,

      可以有三种不同的工作方式,

      分别称为方式 0、方式 1、方式 2。

    方式 0: 与C口之间没有硬件联系。

    方式 1: C口的某3根引脚作为端口与外设的联络信号。

    方式 2: C口的某5根引脚作为端口与外设的联络信号。


    8 3

    1. 方式0(基本输入输出方式)

    A口工作在方式 0 时,A口和C口之间没有硬件联系

    B口工作在方式 0 时,B口和C口之间没有硬件联系


    8 3

    1

    0

    0

    1

    0

    0

    0

    1

    A口

    输入

    B口

    方式 0

    B口

    输出

    PC3~PC0

    输入

    A口

    方式 0

    PC7~PC4

    输出

    特征位

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    工作在方式 0 的端口,为单向传送端口,

    由方式控制字决定是输入还是输出。

    工作在方式 0 的端口:

    • 作为输入口相当于普通的三态门

    • 作为输出口相当于普通的锁存器

      CPU可利用方式 0 下的端口,直接对端口进行读写操作,

      实现CPU与外设间的数据传送。


    8 3

    方式 0 输入

    方式0输入(IN AL,PORT) 框图

    8

    数据

    数据总线

    三态缓冲器

    8

    地址译码器

    地址总线

    来自外设

    &

    IO/

    M

    RD


    8 3

    方式0 输入 ( IN AL,PORT ) 时序

    t

    RR

    RD

    t

    t

    IR

    HR

    输入数据

    t

    t

    AR

    RA

    , A

    , A

    CS

    1

    0

    数据有效

    D

    -- D

    0

    7

    t

    t

    RD

    DF


    8 3

    方式0输入时序基本情况:

     外设的数据已经准备好,数据存入接口数据寄存器,

    CPU执行一条 (IN AL,PORT)指令从8255A读取数据,

    I/O读周期,8088CPU与8255A在时序上不能很好配合,

    需要CPU插入一个等待状态。


    8 3

    方式0输出

    方式0输出(OUT PORT,AL) 框图:

    8

    数据总线

    锁存器

    8

    地址译码器

    地址总线

    到外设

    CE

    &

    IO/

    M

    WR


    8 3

    方式0输出 (OUT PORT, AL)时序

    t

    WW

    WR

    t

    t

    DW

    WD

    D

    -- D

    数据有效

    0

    7

    t

    t

    AW

    WA

    CS

    , A

    , A

    1

    0

    输出数据

    数据有效

    t

    WB

    I/O写周期,8088CPU与8255A在时序上不能很好配合,

    需要CPU插入一个等待状态。


    8 3

    总线

    8255A

    RESET

    PA7

    ~

    PA0

    reset

    端口A

    数据

    缓冲器

    D7

    ~

    D0

    D7

    ~

    D0

    PC7

    ~

    PC0

    端口C

    RD

    WR

    IOR

    IOW

    读写

    控制

    PB7

    ~

    PB0

    端口B

    CS

    片选

    译码

    A9

    ~

    A2

    片内

    译码

    A1

    A0

    控制口

    D

    +5V

    A1

    A0

    GND

    • 2. 方式1(选通输入输出方式)

      B口工作在方式1时, C口的某3根引脚作为B口的联络信号。


    8 3

    1

    0

    1

    1/0

    1/0

    1

    1/0

    1/0

    A口

    I/O

    B口

    工作方式

    B口

    I/O

    PC3~PC0

    I/O

    A口

    工作方式

    PC7~PC4

    I/O

    特征位

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    工作在方式 1 的端口,为单向传送端口。

    由方式控制字决定是输入还是输出。


    8 3

    1

    0

    1

    1/0

    1/0

    1

    1/0

    1/0

    A口

    I/O

    B口

    工作方式

    B口

    I/O

    PC3~PC0

    I/O

    A口

    工作方式

    PC7~PC4

    I/O

    特征位

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    在方式 1 下,C口作为A口、B口联络信号的引脚,

    其动作关系在芯片设计和制造时已固定,

    不由用户自己安排,也不能编程改变。

    即C口作为联络信号的引脚:

    不受方式控制字的控制。该出则出,该入则入。

    不受C口按位置位/复位控制字控制,

    • 即对这些位的置位/复位不影响这些引脚信号。


    8 3

    利用方式 1 下的联络信号,

    可方便地实现查询或中断方式的硬件设计,

    使CPU能够有效、可靠地与外设进行数据传送。

    A口、B口在输入或输出不同的工作状态时,

    C口联络信号的引脚和意义也不同。


    8 3

    A口方式1输入控制字

    B口方式1输入控制字

    1

    0

    1

    1

    D7~D0

    1

    1

    1

    D7~D0

    PA7~PA0

    PB7~PB0

    INTEA

    PC4

    INTEB

    PC2

    PC4

    PC2

    STBA

    STBB

    PC5

    PC1

    IBFA

    IBFB

    与门

    与门

    PC3

    INTRA

    PC0

    RD

    INTRB

    RD

    A口方式1输入时

    B口方式1输入时

    相应的联络信号

    相应的联络信号

    方式1下输入端口的联络信号


    8 3

    对方式1输入的端口,C口提供与外部联络的信号有:

    ① STB 选通信号(低电平有效)

    由外设发出,送给8255A,

    作用是将外设送来的数据锁存到8255A的输入端口。

    ② IBF 输入缓冲器满信号(高电平有效)

    8255A 发出,

    表示外设送来的数据已进入输入端口。

    当外设送来的数据送入输入端口后,

    8255A自动发出IBF。

    ③ INTR 中断申请信号

    (高电平或上升沿有效)

    8255A 发出,用来向CPU发出中断申请。

    STB、IBF、INTE均为1时,8255A自动发出INTR。

    PA7~PA0

    INTEA

    PC4

    PC4

    STB

    PC5

    IBF

    与门

    PC3

    INTR


    8 3

    对方式1输入的端口,8255A内部的控制信号有:

    INTE 中断允许控制信号

    作用是控制是否允许8255A的中断申请信号INTR发出。

    此信号无引出,

    通过控制口对C口相应位的置位/复位设置允许

    或不允许。

    A口,对PC4置位, 使INTEA=1, 允许中断

    对PC4复位, 使INTEA=0, 不允许中断

    B口,对PC2置位, 使INTEB=1, 允许中断

    对PC2复位, 使INTEB=0, 不允许中断

    PA7~PA0

    INTEA

    PC4

    PC4

    STB

    PC5

    IBF

    与门

    PC3

    INTR


    8 3

    外设送来数据

    PA7~PA0

    PB7~PB0

    STB

    当INTE=1时

    IBF

    INTR

    RD

    方式1的输入时序:

    从工作在方式1下的输入端口输入数据时,

    有关信号的变化关系。


    8 3

    外设送来数据

    PA7~PA0

    PA7~PA0

    PB7~PB0

    INTEA

    PC4

    STB

    PC4

    STB

    当INTE=1时

    IBF

    PC5

    IBF

    与门

    INTR

    PC3

    INTR

    RD

    ① 当外设数据准备好,将数据送至端口线PA7~PA0或PB7~PB0

    ② 外设发出选通信号STB:

    (1) 将数据锁存在输入端口内。

    (2) 使IBF变高,表示输入端口满,可用于阻止外设输入新数据

    (3) 如果INTE=1, STB的上升沿使INTR变高,发出中断请求。

    ③ 中断处理程序中CPU 读取数据,发出RD信号:

    (1) RD 的下降沿清除INTR

    (2) RD 的上升沿清除IBF

    (3) 端口内的数据进入CPU


    8 3

    D7~D0

    D7~D0

    PA7~PA0

    PB7~PB0

    INTEA

    PC4

    INTEB

    PC2

    外设送来数据

    小结:方式1输入时,中断申请信号发出的条件是:

    ① STB=1 由外设输入负脉冲信号满足

    ② IBF=1  此信号由8255A自动产生,

    STB信号置1, RD的上升沿置0

    ③ INTE=1 此信号无引出,通过编程实现:

    A口,由控制口对PC4置位

    B口,由控制口对PC2置位

    PA7~PA0

    PC4

    PC2

    STBA

    STBB

    PB7~PB0

    PC5

    PC1

    IBFA

    IBFB

    STB

    与门

    与门

    当INTE=1时

    PC3

    INTRA

    PC0

    RD

    INTRB

    RD

    IBF

    INTR

    RD


    8 3

    注意:

    在方式1下,作为联络信号的外部引脚PC4、PC2,

    不受C口按位置位/复位控制字控制,

    即对这些位的置位/复位不影响这些引脚信号的输入/输出,

    而只在8255A内部对INTE信号起作用。

    A口方式1输入控制字

    B口方式1输入控制字

    1

    0

    1

    1

    D7~D0

    1

    1

    1

    D7~D0

    PA7~PA0

    PB7~PB0

    INTEA

    PC4

    INTEB

    PC2

    PC4

    PC2

    STBA

    STBB

    PC5

    PC1

    IBFA

    IBFB

    与门

    与门

    PC3

    INTRA

    PC0

    RD

    INTRB

    RD

    A口方式1输入时

    B口方式1输入时

    相应的联络信号

    相应的联络信号


    8 3

    1

    0

    1

    0

    1

    1

    0

    ACKB

    ACKA

    OBFA

    INTRA

    INTRB

    WR

    A口方式1输出时

    相应的联络信号

    方式1下输出端口的联络信号

    A口方式1输出控制字

    B口方式1输出控制字

    D7~D0

    D7~D0

    PA7~PA0

    PB7~PB0

    INTEA

    PC6

    INTEB

    PC2

    PC6

    PC2

    PC7

    PC1

    OBFB

    与门

    与门

    PC3

    PC0

    WR

    B口方式1输出时

    相应的联络信号


    8 3

    ACKA

    OBFA

    INTRA

    对方式1输出的端口,C口提供与外部联络的信号有:

    ① OBF 输出缓冲器满信号(低电平有效)

     当数据送至8255A输出缓冲器后,8255A自动发出。

    表示CPU送来的数据已进入8255A输出端口,

    可用来通知外设把数据取走。

    ② ACK 外设响应信号(低电平有效)

      由外设发出,送给8255A。

    作用是通知 8255A

    输出端口的数据已被外设取走,

    可以传送下一个数据。

    ③ INTR 中断申请信号(高电平或上升沿有效)

    8255A 发出, 用来向CPU发出中断申请。

     当OBF 、ACK、INTE均为1时,8255A自动发出INTR。

    PA7~PA0

    INTEA

    PC6

    PC6

    PC7

    与门

    PC3


    8 3

    PA7~PA0

    INTEA

    PC6

    PC6

    ACKA

    PC7

    OBFA

    与门

    PC3

    INTRA

    对方式1输出的端口,8255A内部的控制信号有:

    INTE 中断允许控制信号

    作用是控制是否允许中断申请信号INTR发出。

    此信号无引出,

    通过控制口对C口相应位的置位/复位设置允许或不允许。

    A口,对PC6置位, 使INTEA=1, 允许中断

    对PC6复位, 使INTEA=0, 不允许中断

    B口,对PC2置位, 使INTEB=1, 允许中断

    对PC2复位, 使INTEB=0, 不允许中断


    8 3

    D7~D0

    送往外设数据

    数据写入端口

    WR

    OBF

    当INTE=1时

    INTR

    ACK

    方式1的输出时序:

    向工作在方式1下的输出端口输出数据时,

    有关信号的变化关系。


    8 3

    D7~D0

    PA7~PA0

    INTEA

    PC6

    D7~D0

    送往外设数据

    数据写入端口

    PC6

    WR

    ACKA

    PC7

    OBFA

    OBF

    与门

    当INTE=1时

    PC3

    INTR

    INTRA

    ACK

    WR

    ① CPU输出数据

    ② CPU发出WR:

    (1) 数据写到 8255A的端口

    (2) 使OBF有效,表示输出端口满,

    可作为外设的选通信号,通知外设取数据。

    (3)清除中断请求信号INTR

    ③外设接受到数据后,发出ACK信号:

    (1) ACK的下降沿使OBF变高,

    (2) 当INTE=1, ACK的上升沿使INTR变高,

    发出中断请求,请求CPU输出新的数据。


    8 3

    小结: 方式1输出时,中断申请信号发出的条件是:

    ① OBF=1  此信号由8255A自动产生,

    WR上升沿置0, ACK下降沿置1

    ② ACK=1 由外设输入负脉冲信号满足

    ③ INTE=1 此信号无引出,通过编程实现:

    A口,由控制口对PC6置位

    B口,由控制口对PC2置位

    D7~D0

    D7~D0

    PA7~PA0

    PB7~PB0

    INTEA

    PC6

    INTEB

    PC2

    D7~D0

    送往外设数据

    数据写入端口

    PC6

    PC2

    WR

    ACKB

    ACKA

    PC7

    PC1

    OBFB

    OBFA

    OBF

    与门

    与门

    当INTE=1时

    PC3

    PC0

    WR

    INTR

    INTRA

    INTRB

    ACK

    WR


    8 3

    注意:

    在方式1下,作为联络信号的外部引脚PC6、PC2,

    不受C口按位置位/复位控制字控制,

    即对这些位的置位/复位不影响这些引脚信号的输入/输出,

    而只在8255A内部对INTE信号起作用。

    A口方式1输出控制字

    B口方式1输出控制字

    1

    0

    1

    0

    D7~D0

    D7~D0

    1

    1

    0

    PA7~PA0

    PB7~PB0

    INTEA

    PC6

    INTEB

    PC2

    PC6

    PC2

    ACKA

    ACKB

    PC7

    PC1

    OBFB

    OBFA

    与门

    与门

    PC3

    PC0

    WR

    INTRB

    INTRA

    WR


    8 3

    方式2 (双向传送方式)

    端口工作在方式 2时,C口的某5根引脚作为端口的联络信号

    8255A 只有A口可以工作在方式 2 下。


    8 3

    与方式 0、方式 1的单向传送不同,

    工作在方式 2下的端口,具有双向传送功能。

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    1/0

    1

    1

    X

    X

    1/0

    1/0

    1/0

    A口

    I/O

    B口

    工作方式

    B口

    I/O

    PC3~PC0

    I/O

    A口

    工作方式

    PC7~PC4

    I/O

    特征位

    A口工作在方式 2 下,C口未做联络信号的3条引脚,

    可作为B口在方式1下的联络线,也可和B口一样工作在方式0下。

    由方式控制字决定其输入/输出。


    8 3

    D7~D0

    PA7~PA0

    INTEA1

    PC4

    STBA

    RD

    IBFA

    PC4

    INTEA2

    PC6

    PC5

    ACKA

    OBFA

    PC6

    PC3

    INTRA

    或门

    PC7

    WR

    工作在方式2时,C口有5根引脚作为A口的联络信号,

    是方式1下A口输入、输出联络信号的组合。

    方式2下的时序为方式1输入/输出两者的组合(略)。


    8 3

    工作方式

    A口

    B口

    C口

    0

    基本输入输出端口

    输入不锁存、输出锁存

    同A口

    同A口

    1

    应答式输入输出端口

    输入输出均可锁存

    同A口

    上C口作为应答式A口的应答线;下C口作为应答式B口的应答式

    2

    应答式双向输入输出端口,均可锁存

    不用

    用作A口的应答控制线

    8255A端口功能


    8 3

    A0

    A1

    RD

    WR

    CS

    端口及操作功能

    端口A→数据总线

    端口B→数据总线

    端口C→数据总线

    输入操作(读)

    0

    0

    1

    0

    1

    0

    0

    0

    0

    1

    1

    1

    0

    0

    0

    0

    0

    1

    1

    0

    1

    0

    1

    1

    1

    1

    1

    0

    0

    0

    0

    0

    0

    0

    0

    数据总线→端口A

    数据总线→端口B

    数据总线→端口C

    数据总线→控制寄存器

    输出操作(写)

    ×

    1

    ×

    ×

    1

    ×

    ×

    0

    1

    ×

    1

    1

    1

    0

    0

    未选中8255A 数据总线→三态

    非法状态

    数据总线→三态

    断开功能

    8255A端口选择及操作功能


  • Login