
1 第9章 AT89S52单片机的 I/O扩展

2 第9章 AT89S52单片机的I/O扩展 9.1 I/O接口扩展概述 9.1.1 扩展的I/O接口功能 9.1.2 I/O端口的编址 9.1.3 I/O数据的传送方式 9.1.4 I/O接口电路 9.2 AT89S52扩展I/O接口芯片82C55的设计 9.2.1 82C55芯片简介 9.2.2 工作方式选择控制字及端口PC置位/复位控制字 9.2.3 82C55的3种工作方式 9.2.4 单片机扩展82C55的接口设计 9.2.5 AT89S52扩展82C55的应用举例 9.3 利用74LSTTL电路扩展并行I/O口

3 9.4 用AT89S52单片机的串行口扩展并行口 9.4.1 用74LS165扩展并行输入口 9.4.2 用74LS164扩展并行输出口 9.5 用I/O口控制的声音报警接口 9.5.1 蜂鸣音报警接口 9.5.2 音乐报警接口

4 【内容概要】 AT89S52本身有4个I/O口P0~P3,但是真正用作I/O口线 的只有P1口的8位I/O口线和P3口的某些位线。因此,在部分 应用系统设计中,AT89S52单片机都需要进行外部I/O接口的 扩展。 本章介绍AT89S52单片机与常用的可编程I/O接口芯片 82C55的扩展接口设计。此外还介绍了使用廉价的74LSTTL 芯片以及使用AT89S52串行口进行扩展并行I/O接口的设计。 本章最后介绍使用I/O口控制的声音报警接口设计

5 9.1 I/O接口扩展概述 扩展I/O接口与扩展存储器一样,都属于系统扩展的内容。 扩展的I/O接口应该具有哪些功能? 9.1.1 扩展的I/O接口功能 扩展的I/O接口电路主要应满足以下功能要求。 1.实现和不同外设的速度匹配 大多数外设的速度很慢,无法和µs量级的单片机速度相比。 单片机在与外设间进行数据传送时,只有在确认外设已为数据 传送做好准备的前提下才能进行数据传送。外设是否准备好, 就需要I/O接口电路与外设之间传送状态信息,以实现单片机与 外设之间的速度匹配

6 2.输出数据锁存 与外设比,单片机的工作速度快,数据在数据总线上保留 的时间十分短暂,无法满足慢速外设的数据接收。所以在扩 展的I/O接口电路中应有输出数据锁存器,以保证输出数据 能为慢速的接收设备所接收。 3.输入数据三态缓冲 数据总线上可能“挂”有多个数据源,为使传送数据时 不发生冲突,只允许当前时刻正在接收数据的I/O接口使用 数据总线,其余的I/O接口应处于隔离状态,为此要求I/O接 口电路能为数据输入提供三态缓冲功能

7 9.1.2 I/O端口的编址 介绍I/O端口编址之前,首先要弄清楚I/O接口和I/O端口的 概念。 I/O接口是单片机与外设间的连接电路的总称。 I/O端口(简称I/O口)是指I/O接口电路中具有单元地址 的寄存器或缓冲器。一个I/O接口芯片可以有多个I/O端口, 如数据口,命令口,状态口。当然,并不是所有的外设都一 定需要3种端口齐全的I/O接口。 每个I/O接口中的端口都要有地址,以便AT89S52通过读 写端口来和外设交换信息。常用的I/O端口编址有两种方式, 独立编址方式与统一编址方式

8 1.独立编址 I/O端口地址空间和存储器地址空间分开编址。优点是I/O 地址空间和存储器地址空间相互独立,界限分明。但需要设 置一套专门的读写I/O端口的指令和控制信号。 2.统一编址 把I/O端口与数据存储器单元同等对待。I/O端口和外部数 据存储器RAM统一编址。因此外部数据存储器空间也包括 I/O端口在内。 优点是不需专门的I/O指令。缺点是需要把数据存储器单 元地址与I/O端口的地址划分清楚,避免数据冲突

9 9.1.3 I/O数据的传送方式 为了实现和不同外设的速度匹配,必须根据不同外设选择恰 当的I/O数据传送方式。I/O数据传送方式有:同步传送、异步 传送和中断传送。 1.同步传送 同步传送又称无条件传送。当外设速度和单片机的速度相比 拟时,常采用同步传送方式,典型的同步传送是单片机和外部 数据存储器之间的数据传送。 2.查询传送 又称有条件传送(也称异步式传送)。通过查询外设“准备 好”后,再进行数据传送。优点是通用性好,硬件连线和查询 程序简单,但工作效率不高

10 3.中断传送 为了提高单片机对外设的工作效率,通常采用中断传送方式, 即利用AT89S51单片机本身的中断功能和I/O接口的中断功能来 实现I/O数据的传送。单片机只有在外设准备好后,才中断主程 序的执行,从而进入与外设数据传送的中断服务子程序,进行 数据传送。中断服务完成后又返回主程序断点处继续执行。因 此,采用中断方式可以大大提高单片机的工作效率。 9.1.4 I/O接口电路 目前常用的外围I/O接口芯片有: 10