1、7 单片机单片机 I/0扩展及应用扩展及应用7.1 单片机为什么需要 I/O扩展7.1.1 I/O口的 直接使用1. 数据的无条件传送2. 中断方式的条件传送7.1.2 为什么要扩展 I/O口1.单片机本身接口功能有限1)口电路只有数据所存和缓冲 无控制功能 。2)口电路 数量少 。 P0、 P2数据地址线, P3控制信号。2.单片机控制应用中的复杂接口要求1)速度差异大。2)设备种类繁多。3)数据信号形式多种多样。7 单片机单片机 I/0扩展及应用扩展及应用7.1 单片机为什么需要 I/O扩展7.1.1 I/O口的直接使用7.1.2 为什么要扩展 I/O口1.单片机本身接口功能有限2.单片机
2、控制应用中的复杂接口要求3.扩展 I/O接口电路的功能1)速度协调(异步)。2)输出数据所存。3)输入数据三态缓冲。4)数据转换。7.1.3 I/O扩展的相关技术1. 接口与端口(一个接口包含多个端口)。2. 数据总线隔离技术。3. 单片机 I/O编址计数(独立编址、 统一编址 )。7 单片机单片机 I/0扩展及应用扩展及应用7.1 单片机为什么需要 I/O扩展7.1.1 I/O口的直接使用7.1.2 为什么要扩展 I/O口7.1.3 I/O扩展的相关技术7.1.4 单片机 I/O控制方式1. 无条件传送方式2. 查询方式3. 中断方式7.2 单片机简单 I/O扩展7.2.1 简单输入口扩展使
3、用 74LS244(三态缓冲器)7.2.2 简单输出口扩展使用 74LS377( 8D锁存器)7 单片机单片机 I/0扩展及应用扩展及应用7.1 单片机为什么需要 I/O扩展7.2 单片机简单 I/O扩展7.3 8255A可编程通用并行接口芯片7.3.1 可编程 I/O接口扩展概述中小规模集成电路: 74LS244、 74LS377可编程接口芯片: 8255A(可编程通用并行接口)8155 (带 RAM和定时器的可编程并行接口)8259 (可编程中断控制器)8279 (可编程键盘 /显示器接口)6253 (可编程通用定时器)1. 口电路1) 3个 8位并行 I/O接口 A口(数据口)、 B口(
4、数据口)和 C口(数据口、控制口)。2) 2组控制 A组: PA和 PC0 3、 B组: PB和 PC4 7 。7.3.2 8255A的逻辑结构和信号引脚1. 口电路2. 总线接 口电路1)数据总线缓冲器: 8位、三态2)读、写控制逻辑:片选信号(低电平有效):读信号 (低电平有效):写信号 (低电平有效)A1 、 A0:端口选择信号A1 、 A0 端 口0 0 A 口0 1 B 口1 0 C 口1 1 控制寄存器3)控制逻辑电路7.3.2 8255A的逻辑结构和信号引脚7.3 8255A可编程通用并行接口芯片7.3.1 可编程 I/O接口扩展概述7.3.2 8255A的逻辑结构和信号引脚7.
5、3.3 8255A的工作方式及数据 I/O操作1. 8255A的工作方式1)方式 0:基本输入 /输出方式输出锁存,输入三态,不用联络信号。2)方式 1:选通输入 /输出方式输入 /输出均锁存, C口用于传送联络信号,读 C口可了解外设当前状态。INTRBIBFBSTBBINTRASTBAIBFAC口位线:选通信号,输入,低电平有效。IBF :输入缓冲器信号,输出,高电平有效。INTR :中断请求信号,输出,高电平有效。输入:7.3.3 8255A的工作方式及数据 I/O操作1. 8255A的工作方式1)方式 0:基本输入 /输出方式2)方式 1:选通输入 /输出方式输入:输出:INTRBIB
6、FBSTBBINTRASTBAIBFAC口位线:C口位线: INTRBOBFBACKBINTRAACKAOBFA:输出缓冲器满信号,输出,低电平有效。INTR :中断请求信号,输出,高电平有效。:应答信号,输出,低电平有效。7.3.3 8255A的工作方式及数据 I/O操作1. 8255A的工作方式1)方式 0:基本输入 /输出方式2)方式 1:选通输入 /输出方式3)方式 2:双向数据传送方式输入:仅 A口、 C口控制线C口位线: INTRASTBAIBFAACKA输出:C口位线: INTRAOBFA7.3 8255A可编程通用并行接口芯片7.3.1 可编程 I/O接口扩展概述7.3.2 8
7、255A的逻辑结构和信号引脚7.3.3 8255A的工作方式及数据 I/O操作7.3.4 8255A控制字及初始化编程1. 8255A的控制字1)工作方式控制字:基本输入 /输出方式D7: 工作方式标志。D6、 D5: A组方式选择。 00(方式 0)、 01(方式 1)、 1X(方式 2)D4: 口 A方向。 1(输入)、 0(输出)D3: 口 C高四位方向。 1(输入)、 0(输出)D2: B组方式选择。 1(方式 1)、 0(方式 0)D1: 口 B方向。 1(输入)、 0(输出)D0: 口 C低四位方向。 1(输入)、 0(输出)7.3.4 8255A控制字及初始化编程1. 8255A的控制字1)工作方式控制字:基本输入 /输出方式2) C口位置位 /复位控制字:基本输入 /输出方式D3、 D2 、 D1 : 口 C位方式选择。D7: 工作方式标志。D0: 口 C所选位值。