- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9- 9.1 I/O接口扩展概述 9.1.2 I/O端口的编址 2.统一编址方式 I/O寄存器与数据存储器单元同等对待,统一进行编址。优点是不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O操作,简单、方便且功能强。缺点是需要把数据存储器单元地址与I/O端口的地址划分清楚,避免数据冲突。 AT89S51使用的是统一编址的方式,可把外部64K字节的RAM空间的一部分作为I/O接口的地址空间,每一接口芯片中的一个功能寄存器(端口)的地址就相当于一个RAM单元,CPU可以象访问外部RAM那样访问I/O接口芯片。 9.1.4 I/O接口电路 常用的外围I/O接口芯片有: (1)82C55:可编程的通用并行接口电路(3个8位I/O口)。 (2)81C55:可编程的IO/RAM扩展接口电路(2个8位I/O口,1个6位I/O口, 256个RAM字节单元,1个14位的减法定时器/计数器)。 它们都可以和AT89S51单片机直接连接,且接口逻辑十分简单。 9.2 AT89S51与可编程并行I/O芯片82C55的接口 2.内部结构 82C55内部结构见下图,其中包括三个并行数据输入/输出端口,两种工作方式的控制电路,一个读/写控制逻辑电路和8位数据总线缓冲器。 表9-1 82C55端口工作状态选择表 9.2.2 工作方式选择控制字及C口置位/复位控制字 9.2.3 82C55的三种工作方式 基本功能为: (1)具有两个8位端口(A、B)和两个4位端口(C的上半部分和下半部分)。 (2)任一个端口都可以设定为输入或输出,各端口的输入、输出可构成16种组合。 (3)数据输出锁存,输入不锁存。 9.2.4 AT89S51单片机和82C55的接口 2. 81C55的引脚功能 (双列直插式封装 40PIN) 3. CPU对81C55 I/O端口的控制 (2)81C55的命令字 (3)81C55的状态字 9.3.2 81C55的工作方式 81C55定时器4种工作方式及相应的脚输出波形如图9-17所示。 9.3.3 AT89S51与81C55接口及软件编程 9.4 用74LSTTL电路扩展并行I/O口(自学) 输出程序段: MOV A,#data ;数据→A MOV DPTR,#0FEFFH ;I/O地址→DPTR MOVX @DPTR,A ;WR*为低电平,数据经 ;74LS273口输出 输入程序段: MOV DPTR,#0FEFFH ;I/O地址→DPTR MOVX A,@DPTR ;RD*为低电平,74LS244 ;接口数据读入内部RAM 例9-9 编写程序把按钮开关状态通过图9-20中的发光二极管显示出来。 程序如下: DDIS: MOV DPTR,#0FEFFH ;输入口地址→DPTR LP: MOVX A,@DPTR ;按钮开关状态读入A中 MOVX @DPTR,A ;A中数据送输出口 SJMP LP ;反复连续执行 74LS165是8位“并入串出”的寄存器,S/L*由高到低时,并行输入端的数据被置入寄存器;当S/L*=1,且时钟禁止端(15脚)=0时,在TXD输出的时钟脉冲作用下,数据将依次通过RXD移入单片机。输入数据大于8位时,可以扩展使用。 9.5 用AT89S51的串行口扩展并行口(自学) 9.5.1 用74LS165扩展并行输入口 9.5.2 用74LS164扩展并行输出口 主要内容 介绍AT89S51与两种常用的可编程I/O接口芯片82C55和81C55的扩展接口设计。此外还介绍使用廉价的74LSTTL芯片扩展并行I/O接口以及用AT89S51串行口来扩展并行I/O接口的设计。 (2)方式1输出 方式1输出时的控制联络信号如左图所示。OBF*与ACK*构成了一对应答联络信号,各控制联络信号的功能如下: PC4、PC5作为普通I/O口使用。 图9-7 方式1输出联络信号 OBF*:输出缓冲器满信号,是82C55给外设的联络信号,表示CPU已经把数据输出给指定的端口,外设可以将数据取走。它由WR*信号的上升沿置 “0”(有效),由ACK*信号的下降沿置“1”(无效)。 ACK*:外设的响应信号,低电平有效。指示CPU输出给82C55的数据已经由外设取走。 INTR*:中断请求信号。表示该数据已被外设取走,请求CPU继续输出下一个数据。 INTE A:中
文档评论(0)