第9讲 AT89S51单片机接口的扩展.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 AT89S51单片机接口的扩展 9.1 I/O接口的扩展概述 9.2 扩展I/O接口芯片81C55的设计 9.3 利用74LSTTL电路扩展并行I/O口 9.4 用AT89S51单片机的串行口扩展并行口 控制寄存器中的D3~D0位用来设置PA口、PB口和PC口的工作方式。 D4、D5位用来确定A口、B口以选通输入/输出方式工作时是否允许中断请求。 D6、D7位用来设置计数器的操作。 (3)81C55的状态字 有一个状态标志寄存器,用来存入PA口和PB口的状态标志。它的地址与控制寄存器地址相同,只能对其读出,不能写入。格式如图9-4所示。 注意,81C55的计数器初值不是从0开始,从2开始。这是因为,如果选择计数器的输出为方波形式(无论是单方波还是连续方波),则规定是从启动计数开始,前一半计数输出为高电平,后一半计数输出为低电平。显然,如果计数初值是0或1,就无法产生这种方波。因此81C55计数器的写入初值范围是3FFFH~2H。 如果硬要将0或1作为初值写入,其效果将与送入初值2的情况一样。81C55复位后使计数器停止计数。 * 9.2.3 AT89S51单片机与81C55的接口设计及软件编程 1.硬件接口电路 接口如图9-9所示。直接连接不需外加器件。 * 图9-9 AT89S51单片机与81C55的接口电路 在图9-9中,单片机P0口输出的低8位地址不需要另外加锁存器(81C55片内集成有地址锁存器),而直接与81C55的AD0~AD7相连,既可作为低8位地址总线,又可作为数据总线,地址锁存控制直接用AT89S51发出的ALE信号。 81C55的 端接P2.7,IO/ 端与P2.0相连。当P2.7=0时,若P2.0=0,则访问81C55的RAM单元。由此可得到图9-19中81C55的各端口以及RAM单元的地址编码,见表9-4。 * * 2.81C55的编程 根据图9-9接口,介绍对81C55的具体操作。 初始化程序设计 【例9-6】若PA口定义为基本输入方式,PB口定义为基本输出方式,对输入脉冲进行24分频(81C55计数器的最高计数频率为4MHz),则81C55的初始化程序如下START: MOV DPTR,#7F04H;DPTR指针指向计数器低8位 MOV A,#18H ;计数初值24送A MOVX @ DPTR,A ;计数初值低8位装入计数器 INC DPTR ;指向计数器高8位 * MOV A,#40H ;计数器为连续方波输出 MOVX @ DPTR,A ;计数初值高6位装入计数器 MOV DPTR,#7F00H ;指向命令/状态口 MOV A,#0C2H ;设定命令控制字 MOVX @ DPTR,A;A口基本输入,B口基本输出,开启计数 【例9-7】读81C55的7EF1H单元。程序如下: MOV DPTR,#7EF1H;DPTR指针指向81C55的7EF1H单元 MOVX A,@DPTR ;7EF1H单元内容→A * 【例9-8】将立即数41H写入81C55 RAM的7E20H单元。程序如下: MOV A,#41H ;立即数→A MOV DPTR,#7E20H;DPTR指针指向81C55的7E20H单元 MOVX @DPTR,A;立即数41H送81C55 RAM的7E20H单元 81C55既有RAM又有I/O口,此外,还有计数器。在同时需要扩展RAM 、I/O和计数器的系统中,选用81C55特别经济,是单片机系统中常用的外围接口芯片之一。 * 9.3 利用74LSTTL电路扩展并行I/O口 在单片机应用中,有些场合需要降低成本、缩小体积,这时采用TTL电路、CMOS电路锁存器或三态门电路也可构成各种类型的简单输入/输出口。 如图9-10所示为一个利用74LS244和74LS273芯片,将P0口扩展成简单的输入/输出口的电路。 74LS244作为扩展输入口,8个输入端分别接8个按钮开关。74LS273是8D锁存器扩展输出口,接8个LED发光二极管,以显示8个按钮开关状态。 * 图9-10 74LSTTL I/O扩展举例 当某条输入口线的按钮开关按下时,该输入口线为低电平,读入单片机后,其相应位为“0”,然后再将口线的状态经74LS273输出,某位低电平时二极管发光,从而显示出按下的按钮开关的位置。 该电路的工作原理如下。 当P2.0=0, =0( =1)时,选中74LS244芯片,此时若无按钮开关按下,输入全为高电平。当某开关按下时则对应位输入为“0”,74LS244的输入端不全为“1”,其输入状态通过P0口数据线被读入AT89S51片内。 * 当P2.0?=?0,

文档评论(0)

xiaofei2001129 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档