第9章单片机原理及应用(张毅刚主编).ppt_第1页
第9章单片机原理及应用(张毅刚主编).ppt_第2页
第9章单片机原理及应用(张毅刚主编).ppt_第3页
第9章单片机原理及应用(张毅刚主编).ppt_第4页
第9章单片机原理及应用(张毅刚主编).ppt_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章MCS 51扩展I O接口的设计 9 1I O接口扩展概述 I O 输入 输出 接口是MCS 51与外设交换数字信息的桥梁 I O扩展也属于系统扩展的一部分 真正用作I O口线的只有P1口的8位I O线和P3口的某些位线 在多数应用系统中 MCS 51单片机都需要外扩I O接口电路 9 1 1I O接口的功能 I O接口电路应满足以下要求 1 实现和不同外设的速度匹配 大多数的外设的速度很慢 无法和 s量级的单片机速度相比 单片机只有在确认外设已为数据传送做好准备的前提下才能进行I O操作 想知道外设是否准备好 需I O接口电路与外设之间传送状态信息 2 输出数据锁存 由于单片机工作速度快 数据在数据总线上保留的时间十分短暂 无法满足慢速外设的数据接收 I O电路应具有数据锁存器 以保证接收设备接收 3 输入数据三态缓冲 输入设备向单片机输入数据时 但数据总线上面可能 挂 有多个数据源 为不发生冲突 只允许当前正在进行数据传送的数据源使用数据总线 其余的应处于隔离状态 9 1 2I O端口的编址 首先清楚I O接口 Interface 和I O端口 Port 的概念 I O端口 简称I O口 指具有端口地址的寄存器或缓冲器 I O接口 是指单片机与外设间的I O接口芯片 一个I O接口芯片可以有多个I O端口 1 数据口 2 命令口 3 状态口 I O端口编址是给所有I O接口中的寄存器编址 I O端口编址两种方式 独立编址与统一编址 1 独立编址方式 I O寄存器地址空间和存储器地址空间分开编址 但需专门读写I O的指令和控制信号 2 统一编址方式 I O寄存器与数据存储器单元同等对待 统一编址 不需要专门的I O指令 直接使用访问数据存储器的指令进行I O操作 简单 方便且功能强 MCS 51使用统一编址的方式 每一接口芯片中的一个功能寄存器 端口 的地址就相当于一个RAM单元 9 1 3I O数据的几种传送方式 为实现和不同的外设的速度匹配 I O接口必须根据不同外设选择恰当的I O数据传送方式 I O数据传送的几种传送方式是 1 同步传送 2 异步传送 3 中断传送 1 同步传送方式 无条件传送 当外设速度和单片机的速度相比拟时 常采用同步传送方式 最典型的同步传送就是单片机和外部数据存储器之间的数据传送 2 查询传送方式 条件传送 异步式传送 查询外设 准备好 后 再进行数据传送 优点 通用性好 硬件连线和查询程序十分简单 缺点 效率不高 为提高效率 通常采用中断传送方式 3 中断传送方式 外设准备好后 发中断请求 单片机进入与外设数据传送的中断服务程序 进行数据的传送 中断服务完成后又返回主程序继续执行 工作效率高 9 1 4I O接口电路 如何实现I O接口的扩展 Intel公司的配套可编程I O接口芯片的种类齐全 为扩展I O接口提供了很大的方便 常用的外围I O接口芯片有 1 8255A 可编程的通用并行接口电路 3个8位I O口 2 8155H 可编程的IO RAM扩展接口电路 2个8位I O口 1个6位I O口 256个RAM字节单元 1个14位的减法定时器 计数器 可与MCS 51单片机直接连接 接口逻辑十分简单 此外 74LS系列的TTL电路也可以作为MCS 51的扩展I O口 如74LS244 74LS273等 最后介绍利用串行口来扩展并行I O口 9 2MCS 51与可编程并行I O芯片8255A的接口 9 2 18255A芯片介绍 8255A是Intel公司生产的可编程并行I O接口芯片 具有3个8位的并行I O口 3种工作方式 可通过编程改变其功能 因而使用灵活方便 通用性强 1 引脚说明 40只引脚 双列直插式封装 引脚功能如下 D7 D0 三态双向数据线 与单片机数据总线连接 CS 片选信号线 低电平有效 表示本芯片被选中 RD 读出信号线 控制8255A中数据的读出高 WR 写入信号线 控制向8255A数据的写入 Vcc 5V电源 PA7 PA0 A口输入 输出线 PB7 PB0 B口输入 输出线 PC7 PC0 C口输入 输出线 A1 A0 地址线 用来选择8255A内部的4个端口 2 内部结构 1 端口A B C 功能和结构上有些差异 PA口 输出锁存和缓冲 输入锁存 PB口 输出锁存和缓冲 输入缓冲 PC口 输出锁存 数据输入缓冲 PC口可在软件的控制下 分为两个4位端口 作为PA口 PB口选通方式操作时的状态控制信号 2 A组和B组控制电路 A组 PA口和PC口的上半部 PC7 PC4 B组 PB口和PC口的下半部 PC3 PC0 可根据 命令字 对PC口按位 置1 或 清0 3 数据总线缓冲器线线 三态双向 作为8255A与单片机数据线之间接口 传送数据 指令 控制命令及外部状态信息 4 读 写控制逻辑电路线 该电路接收CPU发来的控制信号 RESET 地址信号A1 A0等 对端口进行读写 各端口的工作状态与控制信号的关系如表9 1所示 表9 18255A端口工作状态选择 9 2 2工作方式选择控制字及C口置位 复位控制字 8255A有三种工作方式 1 方式0 基本输入输出 2 方式1 选通输入输出 3 方式2 双向传送 仅A口有 1 工作方式选择控制字 三种工作方式由方式控制字来决定 控制字格式如下 C口上半部分 PC7 PC4 随A口称为A组 C口下半部分 PC3 PC0 随B口称为B组 其中A口可工作于方式0 1 和2 而B口只能工作在方式0和1 例如 写入工作方式控制字95H 可将8255A编程为 A口方式0输入 B口方式1输出 C口的上半部分 PC7 PC4 输出 C口的下半部分 PC3 PC0 输入 2 C口按位置位 复位控制字 可对C口8位中的任一位置 1 或清 0 用于位控 例如 控制字07H写入控制口 置 1 PC3 08H写入控制口 清 0 PC4 9 2 38255A的三种工作方式 1 方式0 基本的输入 输出方式 外设的I O数据可在8255A的各端口得到锁存和缓冲 MCS 51可对8255A进行数据的无条件传送 例如 从口线读入一组开关状态 向端口输出数字量 控制一组指示灯的亮 灭 不需要联络信号 基本功能为 1 具有两个8位端口 A B 和两个4位端口 C的上半部分和下半部分 2 任一个端口都可以设定为输入或输出 各端口的输入 输出可构成16种组合 3 数据输出锁存 输入不锁存 例假设8255A的控制字寄存器地址为FF7FH 则令A口和C口的高4位工作在方式0输出 B口和C口的低4位工作于方式0输入 初始化程序 MOVDPTR 0FF7FH 控制字寄存器地址送DPTRMOVA 83H 方式控制字83H送AMOVX DPTR A 83H送控制字寄存器 2 方式1 选通输入 输出工作方式 A口和B口通常用于I O数据传送 C口用作A口和B口的联络线 以中断方式传送数据 1 方式1输入 控制联络信号如图9 5所示 STB 与IBF构成了一对应答联络信号 联络信号的功能如下图 STB 选通输入 是由输入外设送来的输入信号 IBF 输入缓冲器满 高电平有效 表示数据已送入8255A的输入锁存器 它由STB 信号的下降沿置位 由信号的上升沿使其复位 INTR 中断请求信号 高电平有效 由8255A输出 向单片机发中断请求 INTEA A口中断允许 由PC4控制 INTEB B口中断允许 由PC2控制 A口的方式1输入工作方式见图9 6 2 方式1输出 如图9 7所示 OBF 与ACK 构成了一对应答联络信号 各信号的功能如下 OBF 输出缓冲器满信号 8255A给外设的联络信号 外设可以将数据取走 ACK 外设的响应信号 外设已将数据取走 INTR 中断请求信号 表示该数据已被外设取走 请求单片机继续输出下一个数据 INTEA 中断允许 由PC6控制 INTEB 中断允许 由PC2控制 B口的方式1输出如图9 8所示 3 方式2 只有A口才能设定为方式2 图9 9为方式2工作示意图 在方式2下 PA7 PA0为双向I O总线 当输入时 PA7 PA0受STBA 和IBFA控制 其工作过程和方式1输入时相同 当输出时 PA7 PA0受OBFA ACKA 控制 其工作过程和方式1输出时相同 9 2 4MCS 51单片机和8255A的接口 1 硬件接口电路 如图9 10是8031扩展1片8255A的电路图 74LS373是地址锁存器 P0 1 P0 0经74LS373与8255A的地址线A1 A0连接 P0 7经74LS373与片选端相连 其他地址线悬空 2 端口地址确定 图9 10中8255A各端口寄存器的地址为 A口 FF7CHB口 FF7DHC口 FF7EH控制寄存器 FF7FH 3 软件编程 例9 1要求8255A工作在方式0 且A口作为输入 B口 C口作为输出 程序如下 MOVA 90H A口方式0输入 B口 C口输出的控制字送AMOVDPTR 0FF7FH 控制寄存器地址 DPTRMOVX DPTR A 方式控制字 控制寄存器 MOVDPTR 0FF7CH A口地址 DPTRMOVXA DPTR 从A口读数据MOVDPTR 0FF7DH B口地址 DPTR MOVA DATA1 要输出的数据DATA1 AMOVX DPTR A 将DATA1送B口输出MOVDPTR 0FF7EH C口地址 DPTR MOVA DATA2 DATA2 AMOVX DPTR A 将数据DATA2送C口输出 例9 2对端口C的置位 复位 把PC5置位 控制字为0BH MOVR1 7FH 控制口地址 R1MOVA 0BH 控制字 AMOVX R1 A 控制字 控制口 PC5 1 把PC5复位 控制字为0AH MOVR1 7FH 控制口地址 R1MOVA 0AH 控制字 AMOVX R1 A 控制字 控制口 PC5 0 9 3MCS 51单片机与8155H的接口 9 3 18155H芯片介绍 1 8155H的逻辑结构 如图9 11所示 2 8155H的引脚功能8155H的引脚功能 1 AD7 AD0 8条 2 I O总线 22条 3 控制总线 8条 RESET 复位输入线CE 和IO M RD 和WR ALE 地址锁存允许TIMERIN和TIMEROUT 4 电源线 2条 Vcc 5V电源Vss 地 3 CPU对8155HI O端口的控制 1 8155H各端口地址分配 2 8155H的命令字 3 8155H的状态字 9 3 28155H的工作方式 1 存储器方式 对片内RAM单元进行读写 若IO M 0和CE 0 则通过AD7 AD0上的地址对RAM存储器任一单元读写 2 I O方式 8155H的I O方式分为基本I O和选通I O两种工作方式 如表9 3所示 可对片内任一寄存器读写 端口地址由A2 A1 A0三位决定 见表9 2 表9 3C口在两种I O工作方式下各位定义 1 基本I O方式 2 选通I O方式 见右图 a 选通I O输入b 选通I O输出 3 内部定时器 计数器及使用 14位的减1定时器 计数器 计数长度和计数方式由写入计数寄存器的控制字来确定 计数器的两个寄存器的格式如图9 16 T13 T0 计数器长度 M2 M1 设置定时器的4种工作方式 4种工作方式及相应输出波形如图9 17 9 3 3MCS 51与8155H接口及软件编程 1 MCS 51与8155H的硬件接口电路 2 8155H的编程举例8155H 1 初始化程序设计 例9 3若A口定义为基本输入方式 B口定义为基本输出方式 对输入脉冲进行24分频 初始化程序如下 START MOVDPTR 7F04H 指针指向定时器低8位MOVA 18H 计数初值24送A MOVX DPTR A 计数初值低8位装入定时器 INCDPTR 指针指向定时器高8位MOVA 40H 设定时器连续方波输出MOVX DPTR A 计数初值高6位装入定时器 MOVDPTR 7F00H 指向命令 状态口MOVA 0C2H 设定命令控制字MOVX DPTR A A口输入 B口输出 开定时器 9 4用74LSTTL电路扩展并行I O口 利用74LS273和74LS244 将P0口扩展成简单的输入 输出口的电路 74LS273输出端接8个LED发光二极管 以显示8个按钮开关状态 某位低电平时二极管发光 74LS244是缓冲驱动器 扩展输入口 接8个按钮开关 74LS273和74LS244的工作受8031的P2 0 RD WR 三条控制线控制 电路的工作原理如下 当P2 0 0 WR 0 RD 选中写74LS273 8031通过P0口输出数据到74LS273 当P2 0 0 RD 0 WR 1 时选中读74LS244 某开关按下时则对应位输入为 0 输出程序段 MOVA data 数据 AMOVDPTR 0FEFFH I O地址 DPTRMOVX DPTR A WR 为低 数据经74LS273口输出 输入程序段 MOVDPTR 0FEFFH I O地址 DPTRMOVXA DPTR RD 为低 74LS244口 数据读入内部RAM 例9 6编写程序把按钮开关状态通过图9 20中的发光二极管显示出来 程序如下 DDIS MOVDPTR 0FEFFH 输入口地址 DPTRLP MOVXA DPTR 按钮开关状态读入A中 MOVX DPTR A A中数据送输出口SJMPLP 反复连续执行 9 5用MCS 51的串行口扩展并行口 9 5 1用74LS165扩展并行输入口 例9 7从1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论