已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章MCS 51系统I O口的扩展技术 9 1总线I O口扩展技术9 2并行I O口扩展技术9 3串行I 0口扩展技术 9 1总线I O口扩展技术 采用TTL电路或CMOS电路锁存器 三态门电路作为I O口扩展芯片 是单片机应用系统中经常采用的方法 这种I 0口一般都是通过PO口扩展 具有电路简单 成本低 配置灵活的优点 一般在扩展单个8位输出或输入口时 十分方便 可以作为I 0扩展芯片使用的TTL芯片有 373 377 244 245 273 367等 在实际应用中可根据系统对输入 输出的要求 选择合适的扩展芯片 图9 1为采用74L5244作扩展输入 74LS273作扩展输出的简单I 0扩展电路 下一页 返回 9 1总线I O口扩展技术 图9 1中 PO口为双向数据线 既能从74L5244输入数据 又能将数据传送给74LS273输出 输出控制信号由P2 0和WR合成 当二者同时为0电平时 或 门输出0 将PO口的数据锁存到74LS273 其输出控制着发光二极管LED 当某线输出0电平时 该线上的LED发光 输入控制信号由P2 0和RD合成 当二者同时为电平时 或 门输出0 选通74L5244 将外部信息输入到总线 当与244相连的按键开关无键按下时 输入全为1 若按下某键 则所在线输入为0可见 输入和输出都是在P2 0为0时有效 因此 它们的口地址为FEFFH 实际只要保证P2 0 0 其他地址位无关 即占有相同的地址空间 但由于分别用RD和WR信号控制 因而在逻辑上不会发生冲突 上一页 下一页 返回 9 1总线I O口扩展技术 系统中若有其他扩展RAM或其他输入 输出接口 则可用线选法或译码法将地址空间区分开 对于图9 1 如需实现的功能是按下一任意键 对应的LED发亮 则程序如下 LOOP MOVDPTR OFEFFH 数据指针指向扩展I O口地址MOVXA DPTR 读244读入数据 检测按钮MOVX DPTR A 向373输出数据 马伙动LEDS JMPLOOP循环 上一页 下一页 返回 9 1总线I O口扩展技术 9 1 2可编程接口电路的扩展可编程序接口是指其功能可由微处理机的指令来加以改变的接口芯片 可编程接口利用编程序的方法 可使一个接口芯片执行多种不同的接口功能 因此使用十分灵活 用它来连接微处理机和外设时 不需要或只需要很少的外加硬件 目前 各微机生产厂家已生产厂很多系列的可编程接口芯片 篇幅所限不能一一加以介绍 在此仅介绍在MCS 51单片机中常用的两种接口芯片 8255可编程通用并行接口和8155带256字节RAM和14位定时 计数器的可编程并行接口 1 8255可编程并行I O扩展接口 上一页 下一页 返回 9 1总线I O口扩展技术 1 8255的结构 8255具有3个可编程并行I O端口 A口 B口和C口 这3个8位1 O端口的功能完全由编程决定 但每个口都有自己的特点 其组成框图及引脚见图9 2 8255可编程接口由以下4个逻辑结构组成 数据总线驭动器 这是双向三态的8位驭动口 用于和单片机的数据总术线相连 以实现单片机与8255芯片间的数据传送 3个并行I 0端口 A口 具有一个8位数据输出锁存 缓冲器和一个8位数据输入锁存器 是最灵活的输入输出寄存器 它可编程为8位输入输出或双向寄存器 B口 具有一个8位数据输入 输出锁存 缓冲器和一个8位数据输入缓冲器 不锁存 可编程作为8位输入或输出寄存器 但不能双向输入 输出 上一页 下一页 返回 9 1总线I O口扩展技术 C口 具有一个8位数据锁存 缓冲器和一个8位数据输入缓冲器 不锁存 这个口可分为两个4位口使用 C口除作输入输出口使用外 还可以作为A口 B口选通方式操作时的状态控制信号 读 写控制逻辑 它用于管理所有的数据 控制字或状态字的传送 它接收单片机的地址线和控制信号来控制各个口的工作状态 A组和B组控制电路 这是两组根据CPU的命令字控制8255工作方式的电路 每组控制电路从读 写控制逻辑接受各种命令 从内部数据总线接收控制字 即指令 并发出适当的命令到相应的端口 上一页 下一页 返回 9 1总线I O口扩展技术 A组控制电路控制A口及C口的高4位 B组控制电路控制B口及C口的低4位 2 8255的引脚介绍 8255的引脚如图9 2 a 所示 8255共有40个引脚 下面根据功能分类说明 数据总线 DO一D7 PAO一PA7 PBO一PB7 PCO一PC7 此32条数据线均为双向三态 DO D7用于传送CPU与8255之I司的命令与数据 PAO PA7 PBO PB7 PCO PC7 分别与A B C3个口相对应 用于8255与外设之间传送数据 上一页 下一页 返回 9 1总线I O口扩展技术 控制线 RD WR RESET 读信号 输入 低电平有效 当这个引脚输入低时 据或状态信息到CPU 即CPU对8255A进行读操作 写信号 输入 低电平有效 当这个引脚输入低时 控制8255送出数控制把CPU输出 的数据或命令写到8255 即CPU对8255进行写操作 RESET 复位信号 输入 高电平有效 当此引脚为高电平时 所有8255内部寄存器都清 所有通道都设置为输入方式 24条I O引脚 为高阻状态 寻址线 A0 Al 上一页 下一页 返回 9 1总线I O口扩展技术 为芯片选择 输入 低电平有效 当此引脚为低电平时 本芯片被CPU选中 AO和A1 这是两个输入信号 通常一一对应接到地址总线最低两位AO和A1上 当CS有效时 这两位的4种组合00 O1 10 11分另11用来选择A B C口和控制寄存器 所以一片8255共有4个地址单元 3 8255的工作方式 8255有3种工作方式 即方式0 方式1 方式20方式0 基本输入 输出方式 这种方式不需要任何选通信号 A口 B口及C口的高4位和低4位都可以被设定为输入或输出 作为输出口时 输出的数据被锁存 作为输入口时 其输入的数据不锁存 上一页 下一页 返回 9 1总线I O口扩展技术 方式1 选通输入 输出方式 在这种工作方式下 A B C3个口将分为两组 A组包括A口和C口的高4位 A口可由编程设定为输入口或输出口 C口的高4位则用来作为输入 输出操作的控制和同步信号 B组包括B口和C口的低4位 B口可由编程设定为输入口或输出口 C口的低4位则用来作为输入 输出操作的控制和同步信号 A口和B口的输入数据或输出数据都被锁存 方式2 双向总线方式 在这种方式下 A口为8位双向总线口 C口的PC3 PC7用来作为输入 输出的控制同步信号 应注意的是 只有A口允许作为双向总线口使用 这时B口和PCO PC3则可编程为方式0或方式1工作 在不同工作方式选择下 各个口的输入 输出功能见表9 1所示 上一页 下一页 返回 9 1总线I O口扩展技术 4 8255的控制字 8255的工作方式选择是通过对控制口输入控制字 或称命令字 的方式实现的 控制字有方式选择控制字和C口置 复位控制字 方式选择控制字 方式选择控制字的格式与定义如图9 3 a 所示 例如 当将83H 10000011H 写入控制寄存器后 8255被编程为A口为方式0输出 B口为方式0输入 PC7 PC4为输出 PC3 PC0为输入 C口置 复位控制字 上一页 下一页 返回 9 1总线I O口扩展技术 C口置 复位控制字的格式及定义如图9 3 b 所示 C口具有位操作功能 把一个置 复位控制字送入8255的控制寄存器 控制口 就能把C口的某一位置1或清零而不影响其他位的状态 例如 将07写入控制寄存器后 8255的PC3置1 写入OEH时 PC7复位为0 5 8031和8255的接口方法 8031单片机与8255的接口逻辑简单 其接口电路如图9 4所示 8255的片选信号CS及口地址选择线A0 A1 分别由8031的P0 7 和P0 0 P0 1经地址锁存后提供 故本片8255的A B C口及控制口地址分别为即FF7CH FF7DH FF7EH FF7FHo8255的D0一D7分别与8031的P0 0一P0 7相连 8255的复位端与8031的复位端相连 都接到8031的复位电路上 另外8031的 与R255的 对应相接 上一页 下一页 返回 9 1总线I O口扩展技术 2 8155可编程I 扩展接口 1 8155结构及引脚 8155具有3个可编程I 端口 A口 B口 C口 其中 A口和B口是8位 C口是6位 1个14位可编程的定时 计数器和256字节的静态RAM 能方便地进行I 0扩展和RAM扩展 其组成框图及引脚见图9 58155共有40个引脚 按其功能特点分类说明如下 地址数据线 AD0 一AD7 ADO AD7是低8位地址线和数据线共用输入口 当ALE 1时 输入的是地址信息 否则是数据信息 所以ADO一AD7应与MCS 51的PO口相连 上一页 下一页 返回 9 1总线I O口扩展技术 端口线 PAO一PA7 PBO一PB7 用于8155与外设之间传送数据 PCO PC7 既可用于8155与外设之间传送数据 也可作为A口 B口的控制信号线 地址锁存线 ALE在ALE的下降沿将单片机PO口输出的低8位地址信息及 的状态都锁存到8155内部寄存器 因此 单片机PO口输出的低8位地址信号不需外接锁存器 上一页 下一页 返回 9 1总线I O口扩展技术 RAM或I 0口选择线 当 0时 选中8155的片内RAM AD0 AD7为RAM的地址 00H FFH 当 1时 选中8155片内3个I O端口以及命令 状态寄存器和定时 计数器 AD0 AD7为I 0口地址 其分配如表9 2所示 片选线 为低电平 选中本芯片 读 写线 控制对8155的读 写操作 定时 计数器的脉冲输入 输出线 TIMERIN 上一页 下一页 返回 9 1总线I O口扩展技术 TIMERIN是外界向8155输入计数脉冲信号的输入端 是8155向外界输出脉冲或方波的输出端 2 8155的工作方式与基本操作 8155可作为通用I O口 也可作为片外256字节RAM及定时 计数器使用 在各种不同类型下使用时的基本操作分法如下 作片外256字节RAM在这种工作状态使用时 将引脚置低电平 这时8155只能作片外RAM使用 其寻址范围由片选线 高位地址译码 和ADS AD 决定 应与应用系统中其他数据存储器统一编址 使用片外RAM的读 写操作指今 MOVX 作扩展I O口使用 8155作扩展I O时 引脚必须为高电平 这时PA PB PC口的口地址低8位分别为1 2 3 设地址无关位为0时 上一页 下一页 返回 9 1总线I O口扩展技术 8155的I O口工作方式选择是通过对8155内部命令寄存器送命令字来实现的 命令寄存器由8位锁存器组成 只能写入不能读出 命令字每位定义如图9 6所示8155的工作状态由状态寄存器指示 与命令寄存器属同一地址 只能读出不能写入 状态字格式如图9 7所示 端口操作 A口寄存器和B口寄存器有完全相同的功能 可工作于基本I O方式或选通I 0方式 C口可工作于基本I O方式 也可作为A口 B口选通方式工作时的状态控制信号线 上一页 下一页 返回 9 1总线I O口扩展技术 当8155设定为方式1和方式2时 A口 B口 C口均工作于基本输入 输出方式 由 MOVX 类指令进行输入 输出操作 设定为方式3时 A口定义为选通输入 输出 由C口低3位作A口联络线 C口其余位作I O线 设定为方式4时 A口 B口均定义为选通输入 输出方式 由C口作为A口 B口的联络线 其逻辑组态如图9 8所示 C口工作方式及每位的关系见表9 3INTR为中断请求输出线 作为CPU的中断源 高电平有效 当8155的A口或B口缓冲器接收到设备打入的数据或设备从缓冲器中取走数据时 中断请求线INTR升高 仅当命令寄存器相应中断允许位为1 向CPU请求中断 CPU对8155的相应I O口进行一次读 写操作后 INTR自动变为低电平 上一页 下一页 返回 9 1总线I O口扩展技术 BF为I O口缓冲器标志输出线 缓冲器存有数据时 BF为高电平 否则为低电平 为设备选通信号输入线 低电平有效 在I 0口设定为输出口时 仍可用对应的口地址执行读操作 读取输出口的内容 设定为输入口时 输出锁存器被清除 无法将数据写入输出锁存器 所以每次通道由输入方式转为输出方式时 输出端总是低电平 8155复位时 清除所有输出寄存器 3个端口都为输入方式 上一页 返回 9 2并行I O口扩展技术 简单I O口的扩展在实际应用中经常会遇到开关量 数字量的输入输出 如开关 键盘 数码显示器等外设 主机可以随时与这些外设进行信息交换 在这种情况下 只要按照 输入三态 输出锁存 与总线相连的原则 选择74LS系列的TTL或MOS电路即能组成简单的I O扩展口 例如 采用8位三态缓冲器74LS244组成输入口 采用8D锁存器74LS273 74LS373 74LS377等组成输入口 图9 10所示为一种简单的I O口连接方法 图中P2 0和P2 1分别与 信号相或组合后分别作为输入口和输出口的片选控制及锁存信号 I O口相应的地址号为 下一页 返回 9 2并行I O口扩展技术 输出口 1111110111111111B FDFFH 对应74LS273芯片 输入口 1111111011111111B FEFFH 对应74LS244芯片 此时CPU与外设交换信息所采用的指令为输入操作 MOVDPTR OFFFFH 输入端口地址一DPTRMOVXA DPTR 输入数据在A寄存器中输出操作 MOVA DATA输出数据MOVDPTR OFDFFH输出端口地址一DPTRMOVX DPTR A输出数据 上一页 返回 9 3串行I 0口扩展技术 如果在应用系统中 串行口未被用于串行通信 可将片内串行口用于扩展并行I 0口 此时 串行口工作在方式0 在这种应用方式时 串行口作同步移位寄存器 其波特率是固定的 为fosc 12 数据由RXD端 P3 0 输入 输出 同步移位时钟由TXD端 P3 1 输出 发送 接收的是8位数据 低位在前 这样既不占用片外的RAM地址 又节省硬件 是一种经济实用的方法 下一页 返回 9 3串行I 0口扩展技术 9 3 1用74LS165扩展并行输入口74LS165是8位并入 串出移位寄存器 当移位 置入由高到低跳变时 并行输入端的数据被置入寄存器 当 1 且时钟禁止端 第15脚 低电平时 允许时钟输入 这时在时钟脉冲的作用下 数据将由SIN到 H方移位 利用该器件可方便的扩展输入口 图9 11所示是采用两片74LS165扩两个8位并行输入口的接口电路 上一页 下一页 返回 9 3串行I 0口扩展技术 图9 11中 TXD P3 1 作为移位脉冲输出端 该端连接两片74LS165的移位脉冲输入端CP RXD P3 0 作为串行输入端 该端与74LS165的串行输出端QH相连 P1 0用来控制74LS165的移位 与相连 74LS165的时钟禁止端 巧脚 接地 表示允许时钟输入 当扩展多个8位输入口时 可将两芯片的首尾 QH与SIN 相连 从16位扩展口读入10组数据 每组两个字节 的子程序如下 运行结果可把它们转存到内部RAM50H开始的单元中 上一页 下一页 返回 9 3串行I 0口扩展技术 MOVR7 10 设置读入组数MOVRO 50H 设置内部RAM数据区首址STAPT CLRP1 0 并行置入数据 S L 0SETSPl 0 允许串行移位 S L 1MOVR1 02H设置每组字节数 即外扩74LS165的个数RXDATA MOVSCON 10H 设串行口方式0 允许接收 启动接收过程WAIT JNBRI WAIT 未接收完一帧 循环等待CLRRI 清RI标志 准备下次接收MOVA SBUF 读入数据 上一页 下一页 返回 9 3串行I 0口扩展技术 MOV RO A 送至RAM缓冲区TNCRO 指向下一个地址DJNZR1 RXDATA 未读完一组数据 继续DJNZR7 START 10组数据未读完重新并行置入RET按上图的方法扩展的输入口几乎是无限的 但扩展的越多 口的操作速度也就越慢 这一点使用时必须要注意 上一页 下一页 返回 9 3串行I 0口扩展技术 9 3 2用74LS164扩展并行输出口74LS164是8位串入并出移位寄存器 图9 12所示是利用74LS164扩展两个8位并行输出端口电路 当MCS 51单片机片内串行口工作在方式0发送状态时 串行数据由P3 0 RXD 送出 移位时钟由P3 1 TXD 送出 在移位时钟的作用下 串行口发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公路工程监理实务(成本控制与审计)考核试卷
- 9.2025年新能源行业海上风电施工自升式平台起重能力优化技术创新能力考核试卷
- 2025年零售科技行业智能零售店与无人购物体验研究报告及未来发展趋势预测
- 2025合肥东部新中心建设投资有限公司第二批招聘4人笔试考试参考题库及答案解析
- 2026年福建农信校园招聘131人岗位表考试笔试模拟试题及答案解析
- 2025四川宜宾市航务事务中心第2次招聘编外人员8人考试笔试备考题库及答案解析
- 2025下半年四川内江市人力资源和社会保障局内江市卫生健康委员会医疗卫生事业单位招才引智考核招聘103人(泸州场)考试笔试模拟试题及答案解析
- 2025四川乐山市马边星农现代农业开发有限公司招聘企业员工1人考试笔试参考题库附答案解析
- 2026黑旋风锯业股份有限公司高校毕业生招聘1人笔试考试备考题库及答案解析
- 无机盐制造的年终总结报告-生物医疗化学敏感性
- 挖机转让按揭合同范本
- 2026年中国煤炭行业分析及发展前景预测报告
- 茶叶冲泡指南与技法精要
- 灵巧手的历史、技术路线、典型代表和设计
- 雅安市雨城区佰诺劳务服务有限公司雅安市雨城区总医院2025年公开招聘编制外工作人员(19人)考试笔试参考题库附答案解析
- 《基础会计》-任务一、二 财务报告的概述和资产负债表(上)
- 中远海运招聘笔试题库2025
- ktv生产安全管理制度
- CJJ2-2008 城市桥梁工程施工与质量验收规范
- SWITCH塞尔达传说旷野之息-1.6金手指127项修改使用说明教程
- 高等学校大学物业管理服务方案
评论
0/150
提交评论