ATS单片机的IO扩展.pptVIP

  1. 1、本文档共91页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(1)具有两个8位端口(PA、PB)和两个4位端口(PC的上半部分和下半部分)。 (2)任何端口都可以设定为输入或输出,各端口的输入、输出共有16种组合。 PA口、PB口和PC口均可设定为方式0,并可根据需要,向控制寄存器写入工作方式控制字,规定各端口为输入或输出方式。 控制寄存器中的D3~D0位用来设置PA口、PB口和PC口的工作方式。 D4、D5位用来确定A口、B口以选通输入/输出方式工作时是否允许中断请求。 D6、D7位用来设置计数器的操作。 (3)81C55的状态字 有一个状态标志寄存器,用来存入PA口和PB口的状态标志。它的地址与控制寄存器地址相同,只能对其读出,不能写入。格式如图9-14所示。 3.内部计数器/计数器及使用 14位的计数器/计数器,CPU可通过软件来选择计数长度和计数方式。计数长度和计数方式由写入计数器的控制字来确定。计数器的格式如图9-16所示。 图9-16 81C55计数器的格式 其中,T13~T0为计数器的计数位;M2、M1用来设置计数器的输出方式。81C55计数器的4种工作方式及对应的 引脚输出波形如图9-17所示。 * * 图9-17 81C55计数器工作方式及 引脚输出波形 任何时候都可设置计数器长度和工作方式,将控制字写入控制寄存器。如果计数器正在计数,只有在写入启动命令后,计数器才接收新计数长度并按新的工作方式计数。 若写入计数器的初值为奇数, 引脚的方波输出是不对称的。例如,初值为9时,计数器的输出,在5个计数脉冲周期内为高电平,4个计数脉冲周期内为低电平,如图9-18所示。 图9-18 计数长度为奇数时的不对称方波输出(长度为9) * 注意,81C55的计数器初值不是从0开始,从2开始。这是因为,如果选择计数器的输出为方波形式(无论是单方波还是连续方波),则规定是从启动计数开始,前一半计数输出为高电平,后一半计数输出为低电平。显然,如果计数初值是0或1,就无法产生这种方波。因此81C55计数器的写入初值范围是3FFFH~2H。 如果硬要将0或1作为初值写入,其效果将与送入初值2的情况一样。81C55复位后使计数器停止计数。 9.3.3 AT89S51单片机与81C55的接口设计及软件编程 1.硬件接口电路 接口如图9-19所示。直接连接不需外加器件。 * * 图9-19 AT89S51单片机与81C55的接口电路 在图9-19中,单片机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-19接口,介绍对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.4 利用74LSTTL电路扩展

文档评论(0)

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

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

1亿VIP精品文档

相关文档