单片机第9章89C51扩展IO接口的设计.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-1 82C55端口工作状态选择 2.8155H的引脚功能8155H的引脚功能 任何时候都可以设置计数器的长度和工作方式,但是必须将命令字写入命令寄存器。 如果计数器正在计数,只有在写入启动命令之后,计数器才接收新的计数长度并按新的工作方式计数。 若写入计数器的初值为奇数,TIMEOUTR*引脚的方波输出是不对称的。例如,初值为9时,计数器输出的5个脉冲周期内为高电平,4个脉冲周期内为低电平,如图9-18所示。 注意:81C55的计数器初值不是从0开始,而从2开始。这是因为,如果选择计数器的输出为方波形式(无论是单方波还是连续方波),则规定是从启动计数开始,前一半计数输出为高电平,后一半计数输出为低电平。 如果计数初值是0或1,就无法产生这种方波。因此81C55计数器的初值范围是3FFFH~2H。 如果硬要将0或1作为初值写入,其效果将与送入初值2的情况一样。 81C55复位后并不预置计数器的工作方式和长度,计数器停止计数。 例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单元 图9-10 3.软件编程 例9-4 要求82C55工作在方式0,且A口作为输入,B口、 C口作为输出,程序如下: MOV A,#90H ;A口方式0输入,B口、 ;C口输出的控制字送A MOV DPTR,#0FF7FH ;控制寄存器地址→DPTR MOVX @DPTR,A ;方式控制字→控制寄存器 MOV DPTR,#0FF7CH ;A口地址→DPTR MOVX A,@DPTR ;从A口读数据 MOV DPTR,#0FF7DH ;B口地址→DPTR MOV A,#DATA1 ;要输出的数据DATA1→A MOVX @DPTR,A ;将DATA1送B口输出 MOV DPTR,#0FF7EH ;C口地址→DPTR MOV A,#DATA2 ;DATA2→A MOVX @DPTR,A ;将数据DATA2送C口输出 例9-5 对端口C的置位/复位。 把PC5置位,控制字为0BH MOV R1,#7FH ;控制口地址→R1 MOV A,#0BH ;控制字→A MOVX @R1,A ;控制字→控制口,PC5=1 把PC5复位,控制字为0AH MOV R1,#7FH ;控制口地址→R1 MOV A,#0AH ;控制字→A MOVX @R1,A ;控制字→控制口,PC5=0 9.3 89C51与可编程RAM/IO芯片81C55的接口 9.3.1 81C55芯片介绍 1.8155H的逻辑结构 如图9-11所示。 图9-11 (1)AD7~AD0(8条) (2)I/O总线(22条) (3)控制总线(8条) RESET:复位输入线 CE*和IO/M* RD*和WR* ALE:地址锁存允许 TIMERIN和TIMEROUT*: (4)电源线(2条) Vcc:+5V电源 Vss:地 图9-12 RAM单元 × × × × × × × × 0 0 计数器高6位 1 0 1 × × × × × 1 0 计数器低8位 0 0 1 × × × × × 1 0 C口 1 1 0 × × × × × 1 0 B口 0 1 0 × × × × × 1 0 A口 1 0 0 × × × × × 1 0 命令/状态寄存器 0 0 0 × × × × × 1 0 所选的端口 A0 A1 A2 A3 A4 A5 A6 A7 IO/M* CE* 3.CPU对81C55 I/O端口的控制 81C55各端口地址分配,见表9-2 表9-2 (2)81C55的命令字 图9-13 (3)81C55的状态字 图9-14 9.3.2 81C55的工作方式 1.存储器方式 对片内RAM单元进行读写,若IO/M*=0和CE*=0,则通过AD7~AD0上的地址对RA

文档评论(0)

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

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

1亿VIP精品文档

相关文档