51单片机常用的三个外部扩展介绍:基于8255扩展IO口,外部RAM、ROM扩展方式

[TOC]

80C51单片机扩展

一、扩展RAM/ROM

  • 扩展方式:
  1. 并行扩展:

    三组总线:AB、DB、CB

    快、开销大

  2. 串行扩展:

    IIC、SPI、CAN等

    慢、开销小

  • 总线详解:
  1. AB:地址总线,16位,P0(低8),P2(高8)

  2. DB:数据总线:P0(8位)

  3. CB:

    ALE:锁存器控制端,加锁存器为了使P0数据和地址分开操作,先发地址,锁存,再发数据。低电平锁存,高电平输出

    !PSEN:扩展外部ROM时的读写控制端;低电平,进行读

    !EA:使用片内或片外ROM控制位

    !WR:对片外RAM进行写操作时拉低

    !RD:对片外RAM进行读操作时拉低

    注意:

    扩展RAM和ROM地址相同,但通过不同方式区分,ROM通过PSEN,RAM通过WR、RD;EA电平依靠外部电路产生,PSEN、ALE单片机控制;
    
    WR、RD控制通过单片机指令MOVX控制,通过@DPTR或者@RI间接寻址,进行RAM操作(**RI的R0和R1分别为低8和高8位**)

二、扩展IO口

  1. 8255扩展芯片结构:
    数据端口A、B、C。其中,C口分成C口上半部(C高)和C口下半部分(C低)

  2. 8255分组:
    A组:管理A口和C口高,通过PA7PA0以及PC7PC4引脚与外部联络。
    B组:管理B口和C口低,通过PB7PB0以及PC3PC0引脚与外部联络。
    内部有控制寄存器,能接收CPU送来的命令字,决定A组和B组的工作方式,或对C口的每1位执行置位/复位操作。

  3. 8255控制模式配置:

    RESET,系统复位。高电平时使控制字寄存器清0,各 端口工作于输 入方式。
    CS , 片选。译码电路产生, 低电平时芯片才选中。
    RD , 读。有效时, 可读取8255A的数据或状态信息。
    WR, 写。有效时, 可向8255A写入数据或控制字。
    A1A0:端口选择。

    A1A0=00,A口;     A1A0=01,B口;
    A1A0=10,C口;     A1A0=11,控制口。

    逻辑图:

在这里插入图片描述

4.