全部版块 我的主页
论坛 经济学人 二区 教师之家与经管教育
205 0
2025-11-25

8.1 单片机系统总线结构

在单片机系统中,为了实现对外部设备的有效控制与数据交换,通常采用三总线架构。该结构主要包括地址总线、数据总线和控制总线,它们共同构成了系统扩展的基础。

8.1.1 三总线体系

三总线设计将功能分离,使得系统具备良好的可扩展性:

  • 地址总线:用于指定外设或存储单元的地址,决定访问目标。
  • 数据总线:负责在单片机与外部设备之间传输实际的数据信息。
  • 控制总线:提供读写信号(RD、WR)、片选信号等,协调操作时序。

这种结构广泛应用于多种扩展场景,尤其适合需要连接多个外围芯片的系统设计。

8.1.2 地址锁存机制及其实现

在使用如P0口这类复用总线的单片机中,地址与数据共用同一组引脚,因此必须通过地址锁存器将地址信号暂时保存下来,以确保地址稳定。

虽然本节涉及74HC373锁存器的应用原理,但相关内容暂作省略,重点聚焦于后续I/O扩展方法。

8.2 并行I/O端口的扩展技术

当单片机自身I/O资源不足时,可通过外部电路进行并行端口扩展。主要分为两类:简单并行扩展和可编程并行扩展。

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

无论是输入还是输出设备,其扩展端口均可视为一种“外部存储单元”来处理。单片机通过特定地址对其执行读/写操作,从而完成数据交互。

简单并行I/O扩展

此方法依赖通用数字逻辑器件(如锁存器、缓冲器)来增加可用I/O数量。其特点是硬件结构固定,不具备软件配置能力,适用于功能明确且无需频繁变更的场合。

1. 输出端口扩展 —— 使用锁存器

典型芯片:74HC573(8位透明锁存器)

作用:接收来自单片机的数据,并在其控制下保持输出状态不变,为外设提供稳定的驱动信号。

工作过程

  • P0口连接至74HC573的数据输入端(D0-D7),用于传输待输出的数据。
  • 单片机某一I/O引脚(例如P2.0)连接到LE(锁存使能)引脚。
  • 当LE为高电平时,输出Q跟随输入D变化;当数据稳定后,将LE置低,即可锁定当前值。

连接示意图

单片机P0口 <---> 74HC573 D0-D7  
单片机P2.0 ---> 74HC573 LE  
74HC573 Q0-Q7 ---> 外设(如LED、继电器)

主要特点

  • 电路简洁、成本低廉、响应速度快。
  • 仅支持输出功能,不可编程。
  • 需占用数据总线及额外控制线,多路扩展时建议配合地址译码使用。

2. 输入端口扩展 —— 使用缓冲器(三态门)

典型芯片:74HC244(八路三态缓冲器)

作用:将外部输入信号安全地传送到数据总线上,同时在非工作状态下呈现高阻态,避免总线冲突。

工作原理

  • 外部设备(如按键阵列)连接至74HC244的A1-A8端口。
  • Y1-Y8端接至单片机P0口,构成数据通路。
  • OE(输出使能)由单片机控制(如P2.1),低电平有效。
  • 当OE为低时,允许信号通过;为高时,输出断开,释放总线资源。

连接方式

外设(按键/开关) ---> 74HC244 A1-A8  
单片机P0口 <---> 74HC244 Y1-Y8  
单片机P2.1 ---> 74HC244 OE(低电平有效)

核心优势

  • 实现总线分时复用,多个输入设备可共享同一数据通道。
  • 仅用于输入,功能单一但可靠性高。

简单并行扩展小结(考试重点)

核心思想:利用74HC573、74HC244等标准逻辑芯片实现I/O扩展。

优点:成本低、电路简单、响应迅速。

缺点:功能固定、无法编程、多端口扩展需较多控制线,常需搭配地址译码器使用。

可编程并行I/O扩展

相较于简单扩展,此方案采用专用接口芯片,可通过软件指令灵活设定工作模式,极大提升了系统的适应性和控制能力。

典型代表芯片:Intel 8255A(可编程外设接口,PPI)

该芯片是考试中的高频考点,需熟练掌握其内部结构、端口寻址与控制字设置。

1. 内部组成结构

8255A主要由以下四部分构成:

  • 数据总线缓冲器:连接单片机数据总线(D0-D7),承担数据与命令的双向传输任务。
  • 读/写控制逻辑模块:接收地址线A0、A1以及控制信号RD、WR、RESET,解析操作类型。
  • A组与B组控制电路:根据写入的控制字,配置各端口的工作方式。
  • 三个8位I/O端口
    • PA口:具有较强功能,包含8位输出锁存和输入锁存能力。
    • PB口:支持输入/输出锁存,另配输入缓冲。
    • PC口:可整体使用,也可拆分为两个4位口;还可作为PA/PB口的控制或状态信号线。

2. 端口寻址与基本操作

通过A1和A0两条地址线选择不同的寄存器或端口:

A1 A0 选中对象
0 0 PA口
0 1 PB口
1 0 PC口
1 1 控制寄存器

操作说明

  • 对PA、PB、PC执行“写”操作 → 向外部输出数据。
  • 对PA、PB、PC执行“读”操作 → 从外部读取输入数据。
  • 向控制寄存器“写”操作 → 写入控制字,设定芯片工作模式。

3. 工作方式与控制字设置

这是8255A的核心功能,也是考核的重点内容。

主要工作方式

方式0 —— 基本输入/输出模式

  • PA、PB、PC均可独立配置为输入或输出。
  • 输出端带有锁存功能,输入端在方式0下不锁存(PC口例外)。
  • 适用于无条件传送或查询方式通信。

方式1 —— 选通输入/输出模式

  • PA和PB作为数据端口使用。
  • PC的部分引脚被强制定义为PA和PB的握手信号线(如STB、IBF、ACK等)。
  • 支持中断请求,提高数据传输效率。

两种方式通过写入“方式选择控制字”来设定,具体格式需结合实际应用掌握。

适用于中断传输或查询方式传输,能够便捷地连接打印机等需采用握手协议的外部设备。

方式选择控制字格式(必须掌握):

该控制字为一个8位命令字,其结构如下:

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位为输入

则控制字各位取值如下:

  • D7 = 1(特征位)
  • A组工作在方式0 → D6D5 = 00
  • PA输出 → D4 = 0
  • PC高4位输出 → D3 = 0
  • B组方式0 → D2 = 0
  • PB输入 → D1 = 1
  • PC低4位输入 → D0 = 1

因此,得到的二进制控制字为:1000 0011B,对应十六进制为83H

可编程并行扩展总结(考试重点)

核心思想:利用如8255A之类的可编程接口芯片,通过软件写入控制字来动态配置各端口的功能,实现灵活的I/O扩展。

优点

  • 功能强大且灵活,支持输入、输出及中断等多种模式
  • 单芯片可完成多路端口扩展
  • 节省单片机本身的I/O资源,借助系统总线进行连接

缺点

  • 硬件成本较高
  • 电路设计相对复杂
  • 需要编写初始化程序,软件开发难度较大

两种扩展方式对比(考试简答/论述必背)

对比项 简单并行扩展 可编程并行扩展(以8255A为例)
核心芯片 74HC573、74HC244等通用逻辑器件 8255A等专用可编程接口芯片
编程性 不可编程,功能由硬件决定 可编程,功能由软件配置
灵活性 较差,电路确定后I/O方向即固定 强,可通过程序随时更改端口工作模式
功能 仅支持基本的数据锁存或缓冲 支持基本I/O、选通I/O、中断等功能
成本与复杂度 低成本、电路简单 高成本、电路较复杂
连接方式 通常直接连接至单片机I/O口 连接至单片机的系统总线(数据、地址、控制线)
适用场景 适用于功能简单、固定的少量扩展需求 适用于功能复杂、需灵活配置的多功能扩展应用

记忆技巧

  • 简单扩展 类似“固定开关”,安装后状态无法更改,开就是开,关就是关。
  • 可编程扩展 类似“智能插座”,可通过软件(如手机App)随时设定为开关、定时器或传感器模式,具备高度灵活性。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群