• 微机原理笔记(2)------8255A芯片


    引脚

    双列直插,40根引脚
    引脚功能

    引脚功能

    数据端口

    8位数据端口:A口、B口、C口
    A口:PA7~PA0
    B口:PB7~PB0
    C口:PC7~PC0
    连接外部设备
    A口与B口为一个8位的输入口或输出口
    C口单独作为一个8位的输入口或输出口
    配合A口和B口使用,作为控制信号和状态信号

    A组和B组控制逻辑

    A组:A口和C口的高4位;
    B组:B口和C口的低4位。
    控制寄存器:保存CPU送来的命令字。
    决定A组和B组的工作方式
    对C口的每一位执行置位/复位操作
    根据命令字,向相关端口送出控制信号

    数据总线缓冲器

    D7~D0:8位三态双向缓冲器
    连接系统数据总线
    用于传输三类信息
    CPU送来的数据和控制信息(命令字)
    外设送来的数据和状态信息U
    高阻态:隔离芯片与系统总线

    读/写控制逻辑

    CS:片选信号输入引脚,低电平有效
    ~RD:读信号输入引脚,低电平有效
    ~WR:写信号输入引脚,低电平有效
    ~RESET:复位信号输入引脚,高电平有效。用于将8255A控制字寄存器清“0”,并将A、B、C口置成输入状态
    A1、A0:端口选择信号输入引脚

    8255A的端口操作
    8255A的端口操作

    其余引脚

    VCC接电源,GND接地

    8255A与微机系统的连接

    8位数据总线的系统中,A1与A0与地址总线的A1与A0相连。
    16位数据总线的系统中,A1与A0与地址总线的A2,A1相连,当数据线D7~D0连接到cpu数据总线的低8位,以偶地址来寻址,连接到cpu数据总线的高8位,以奇地址来寻址。

    工作方式

    方式0(基本输入/输出方式)

    A口、B口和C口:三个独立的8位输入或输出数据口。
    C口:可分为两个独立的4位输入或输出数据口。
    输出时有锁存能力,输入时无锁存能力。

    基本输入方式

    基本输入方式
    外设将数据送到8255A输入缓冲器
    CPU给出有效的8255A地址及控制信号
    CPU发读命令,将输入缓冲器中的数据读入AL寄存器中

    基本输出方式

    基本输出方式
    CPU给出有效的8255A地址及控制信号。
    CPU发写命令,将AL寄存器中的数据写入输出锁存器。
    适合于无条件输入输出方式。

    方式1(选通输入/输出方式)

    CPU发写命令,将AL寄存器中的数据写入输出锁存器。
    C口分成两部分:其中6位用作A口和B口的选通控制信号(联络信号),剩余2位可工作于方式0。
    当A口用于方式1时,C口的PC3,PC4,PC5用于A口的状态和控制线,B口用于方式1时,C口的PC0,PC1,PC2用于B口的状态和控制线。
    C口剩余的PC6与PC7由方式选择控制字中的D3位来定义其传送方向,D3=1时,其用于输入,D3=0时,其用于输出。
    输入和输出口都有锁存能力。
    适合于中断控制方式下的输入和输出。

    选通输入方式

    选通输入方式
    选通信号~STB:由外设输入,低电平有效,将外设的数据送入输入缓冲器,对应A口时为PC4,对应B口时为PC2。

    输入缓冲器满信号IBF:输出到外设,高电平有效,通知外设暂时不要送新的数据,由~STB的前沿产生,CPU取走数据后被清除,对应A口为PC5,对应B口为PC1。

    中断允许信号INTE:无外部引脚,通过软件设置,控制8255A能否向CPU发中断请求信号。1:允许;0:禁止;给8255A控制字寄存器送C口PC4(或PC2)位的置位/复位字实现,对应A口时为PC3,对应B口时为PC0。

    选通输出方式

    选通输出方式
    输出缓冲器满信号~OBF:输出到外设,低电平有效,通知外设取走数据。

    外设应答信号~ACK:由外设输入,低电平有效,表示外设已从数据端口取走数据。

    中断允许信号INTE:无外部引脚,通过软件设置,控制8255A能否向CPU发中断请求信号。1:允许;0:禁止;给8255A控制字寄存器送C口PC6(或PC2)位的置位/复位字实现。

    中断请求信号INTR:输出到CPU,高电平有效,~OBF ~ACK和INTE有效时产生,表明外设已收到数据。

    方式2(双向选通传送方式)

    双向方式:既能用作输入口,同时又能用作输出口。只有A口可工作在方式2下。占用C口的5位作为选通控制信号(联络信号)
    适用场合:中断控制方式下的输入和输出,查询方式与CPU联系。
    双向选通传送方式
    选通信号~STB:由外设输入,低电平有效,将外设的数据送入输入缓冲器

    输入缓冲器满信号IBF:输出到外设,高电平有效,通知外设暂时不要送新的数据,由~STB的前沿产生。CPU取走数据后被清除。

    输出缓冲器满信号OBF:输出到外设,低电平有效,通知外设取走数据。

    外设应答信号ACK:由外设输入,低电平有效,表示外设已从端口取走数据。

    中断允许信号INTE:无外部引脚,由软件设置,控制8255A能否向CPU发中断请求信号。1:允许;0:禁止;给8255A控制字寄存器送C口PC4位的置位/复位字实现。

    中断请求信号INTR:输出到CPU,高电平有效,输入时由~STB的后沿产生,输出时由 ~ACK上升沿产生

    三个数据端口,三种工作方式

    A口可工作于方式0、方式1和方式2中的任一种
    B口可工作于方式0和方式1,但不能工作于方式2
    C口只能工作于方式0

    C口状态字

    通过IN指令读取C口的状态字,查询A口和B口在方式1和方式2时的状态
    C口状态字 ≠ C口作为联络信号时输入的状态

    A口和B口均工作在方式1的输入

    A口和B口均工作在方式1的输入

    A口和B口均工作在方式1的输出

     A口和B口均工作在方式1的输出

    A口工作在方式2

    A口工作在方式2

    控制字

    方式选择控制字

    定义三个数据端口的工作方式
    方式选择控制字

    C口的某些位作为A口和B口选通(联络)信号时,不受方式选择控制字的D0和D3控制

    C口置位/复位控制字

    对C端口任意一位进行置位或复位操作
    C口置位/复位控制字

    使用时与方式选择控制字写入同一控制端口。

  • 相关阅读:
    go基础第六篇:依赖管理
    go基础第五篇:并发
    go基础第四篇:error、panic、recover
    go基础第三篇:结构体、函数、方法、接口
    docker第二篇:docker compose
    docker第一篇:docker概念及基础命令
    编辑距离
    常见安全漏洞
    go基础第二篇:类型
    go基础第一篇:基本语法
  • 原文地址:https://www.cnblogs.com/yanzs/p/13788296.html
Copyright © 2020-2023  润新知