单片机原理及应用第八章--河海大学--考试自用

8.1  单片机的系统总线

8.1.1  三总线结构

8.1.2  地址锁存原理及实现

锁存器——74HC373 先略过

8.2  简单/可编程并行I/O口扩展

8.2.1 访问扩展端口的软件方法

简单并行I/O口扩展

这种方法的核心是使用通用的数字逻辑芯片(如锁存器、缓冲器)来增加I/O口的数量。它本身不具备“可编程”能力,功能是固定的。

1. 输出口扩展(使用锁存器)
  • 典型芯片74HC573(8D透明锁存器)

  • 功能:将单片机送出的数据暂时“锁存”住,并保持稳定的输出给外部设备。

  • 工作原理

    1. 单片机的数据总线(如P0口)连接到74HC573的8个数据输入端(D0-D7)。

    2. 单片机的一个I/O引脚(如P2.0)连接到74HC573的“锁存使能”引脚(LE,或叫G)。

    3. 当LE为高电平时,输出端(Q0-Q7)会跟随输入端(D0-D7)的变化。

    4. 当数据稳定后,单片机将LE拉为低电平,此时输出端的数据就会被锁存住,保持不变,即使输入端的数据后续改变了也不受影响。

  • 电路连接示意图

    text

    单片机P0口 <---> 74HC573 D0-D7
    单片机P2.0 ---> 74HC573 LE (锁存使能)
    74HC573 Q0-Q7 ---> 外设(如LED、继电器等)
  • 关键特点

    • 简单、便宜、速度快

    • 功能固定,只能做输出。

    • 需要占用数据总线和额外的控制线。

2. 输入口扩展(使用缓冲器/三态门)
  • 典型芯片74HC244(八路缓冲器/线驱动器)

  • 功能:将外部设备的信号“传递”给单片机,并防止外部信号干扰单片机的数据总线。

  • 工作原理

    1. 外部设备的8位数据连接到74HC244的输入端(A1-A8)。

    2. 74HC244的输出端(Y1-Y8)连接到单片机的数据总线(如P0口)。

    3. 单片机的一个I/O引脚连接到74HC244的“输出使能”引脚(OE)。

    4. 当OE为低电平时,输入端的数据被传递到输出端,单片机可以读取。

    5. 当OE为高电平时,输出端呈高阻态,相当于与数据总线断开,这样其他设备就可以使用总线了。

  • 电路连接示意图

    text

    外设(如按键、开关) ---> 74HC244 A1-A8
    单片机P0口 <---> 74HC244 Y1-Y8
    单片机P2.1 ---> 74HC244 OE (输出使能,低电平有效)
  • 关键特点

    • 实现了总线的分时复用,多个输入设备可以共享同一组数据总线。

    • 功能固定,只能做输入。

**简单并行扩展总结(考试要点):

  • 核心思想:使用74HC573、74HC244等通用芯片。

  • 优点:成本低、电路简单、速度最快。

  • 缺点:功能单一、不可编程、扩展多路时需较多控制线(需配合地址译码器)。


可编程并行I/O口扩展

这种方法的核心是使用专用的、可编程的接口芯片。单片机可以通过软件命令来配置芯片的工作方式,功能非常灵活。

典型芯片:Intel 8255A(PPI)

这是考试中最常考到的芯片,必须重点掌握。

1. 基本结构

8255A内部有4个主要部分:

  1. 数据总线缓冲器:负责与单片机的数据总线(D0-D7)连接,传输数据、命令。

  2. 读/写控制逻辑:接收单片机的地址线(A0, A1)和控制线(RD, WR, RESET),决定芯片的操作类型。

  3. A组和B组控制电路:接收来自单片机的“控制字”,并据此配置各个端口的工作方式。

  4. 三个8位I/O端口

    • PA口(Port A):一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器。功能较强。

    • PB口(Port B):一个8位数据输入/输出锁存器/缓冲器和一个8位数据输入缓冲器。

    • PC口(Port C):一个8位数据输出锁存器/缓冲器和一个8位数据输入缓冲器。PC口可以拆分为两个4位端口,或者作为PA口和PB口的“状态/控制”信号线。

2. 端口寻址与操作

8255A有A0和A1两根地址线,用来选择内部不同的端口。

A1A0选择的端口
00PA口
01PB口
10PC口
11控制寄存器
  • 对PA、PB、PC口进行“写”操作 -> 输出数据到外部。

  • 对PA、PB、PC口进行“读”操作 -> 从外部读入数据。

  • 对“控制寄存器”进行“写”操作 -> 写入控制字,配置8255A的工作方式。

3. 工作方式与控制字

这是8255A的核心,也是考试的重点。

8255A主要有两种基本工作方式(方式0和方式1),由方式选择控制字来设定。

  • 方式0:基本输入/输出方式

    • 三个端口(PA, PB, PC)都可以独立设置为输入或输出。

    • 输出是锁存的,输入是不锁存的(方式0下,PC口输入不锁存)。

    • 适用于无条件传送或查询式传送。

  • 方式1:选通输入/输出方式

    • PA口和PB口可以作为数据口,PC口的部分引脚被固定定义为PA和PB的“握手信号”线(如STB-选通信号,IBF-输入缓冲器满,ACK-应答信号,OBF-输出缓冲器满等)。

    • 适用于中断传送或查询式传送,可以方便地连接打印机等需要握手协议的设备。

方式选择控制字格式(必须掌握):
这是一个8位的命令字。

text

D7 D6 D5 D4 D3 D2 D1 D0
  • D7特征位,固定为 1。表示这是一个设置工作方式的控制字。

  • D6, D5:设置A组(PA口和PC口高4位)的工作方式。

    • 00 - 方式0

    • 01 - 方式1

    • 1x - 方式2(双向总线方式,不常用)

  • D4:设置PA口(A组)的方向。1=输入,0=输出。

  • D3:设置PC口高4位(PC7-PC4)的方向。1=输入,0=输出。

  • D2:设置B组(PB口和PC口低4位)的工作方式。0=方式0,1=方式1。

  • D1:设置PB口(B组)的方向。1=输入,0=输出。

  • D0:设置PC口低4位(PC3-PC0)的方向。1=输入,0=输出。

举例(考试常考)
要求8255A工作在方式0,PA口输出,PB口输入,PC口高4位输出,PC口低4位输入。求控制字。

  1. D7 = 1(特征位)

  2. A组方式0:D6D5 = 0 0

  3. PA口输出:D4 = 0

  4. PC高4位输出:D3 = 0

  5. B组方式0:D2 = 0

  6. PB口输入:D1 = 1

  7. PC低4位输入:D0 = 1
    最终控制字二进制为:1000 0011B,即 83H

**可编程并行扩展总结(考试要点):

  • 核心思想:使用8255A等可编程芯片,通过软件写入控制字来灵活配置端口功能。

  • 优点:功能强大灵活(可配输入/输出/中断)、一个芯片解决多路扩展、节省单片机I/O资源(使用系统总线)。

  • 缺点:成本高、电路复杂、软件编程复杂(需初始化)。


两者对比(考试简答题/论述题必备)

对比项简单并行扩展可编程并行扩展(以8255A为例)
核心芯片74HC573, 74HC244等通用逻辑芯片8255A等专用接口芯片
编程性不可编程,功能硬件固定可编程,功能由软件决定
灵活性差,一旦电路做好,输入/输出功能就固定,可随时通过软件改变端口工作方式
功能简单数据锁存/缓冲支持基本I/O、选通I/O、中断等
成本与复杂度低、简单高、复杂
连接方式通常直接与I/O口相连与单片机的系统总线(数据、地址、控制)相连
适用场景简单、固定功能的少量扩展复杂、需要灵活配置的多功能扩展

记忆技巧

  • 简单扩展像“固定开关”,装上去是开就是开,是关就是关。

  • 可编程扩展像“智能插座”,你可以用手机App随时把它设置成开关、定时器或者传感器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值