网站大量收购闲置独家精品文档,联系QQ:2885784924

《单片机应用实训教程》课件第2章.ppt

  1. 1、本文档共230页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

一旦读/写选择位置于1,器件地址就随时钟输入,并收到EEPROM的确认应答,现行地址的数据码也随时钟被EEPROM串行输出。此时数据传送设备(微控制器)可在SDA线上随时钟串行读入数据,读取数据结束后,微控制器不是通过确认(低电平ACK)来应答,而是使总线处于高电平(NOACK),随后产生一个停止状态,如图2.4.12所示。图2.4.12立即地址读时序图基于MCS-51单片机的接口设备,可利用如下现行地址读子程序READ_CURRENT来实现现行地址读操作。READ_CURRENT:;AT24Cxx现行地址读功能。调用时器件地址的可编程地址置于A中,返回数据置于A中。返回时;CY位为1表明总线无效或器件无应答 ACALL START JC BACK4 ;若总线无效,则中断 RL A ORL A,#FADDR ;生成器件地址 SETB ACC.0 ;设置读操作 ACALL SHOUT ;发送器件地址 JC ERROR4 ;若无应答,则中断 ACALL SHIN ;接收数据字节 ACALL NAK ;发送高电平NAK应答 CLR C ;清零错误标志ERROR4:ACALL STOPBACK4:RETNAK:;随时钟输出一个高电平的负应答位。调用前SCL为低,返回时SCL为低,SDA为高 SETB SDA ;NAKbit,NAK位 NOP ;保持SCL位低使数据稳定 NOP SETB SCL ;升高时钟 ACALL DELAY-4μs ;保持SCL为高 CLR SCL ;降低时钟 RET②随机地址读(RadamAddressRead):随机读取需要一个“空”字节写序列来载入数据地址,一旦器件地址(读/写选择位置低)和数据地址随时钟输入,并被EEPROM确认,传送设备必须产生另一个开始状态。在此时送出的器件地址中,读/写选择位处于高电平,将启动一个现行地址读,EEPROM收到器件地址后回送确认应答,并随时钟串行输出数据码。微控制器读取数据后不通过确认应答,而是使SDA总线处于高电平,随后产生一个停止状态,如图2.4.13所示。图2.4.13随机地址读时序图图2.4.14随机地址读子程序流程图READ_RANDOM:;AT24Cxx随机地址读功能。调用时将器件地址的可编程地址置于A中,字节地址置于寄存器对;ADDR_HI和ADDR_LO中,返回数据置于A中。返回时CY位为1表明总线无效或器件无应答 PUSH B MOV B,A ;可编程器件地址暂存B中;******发送空写命令来设置内部地址****** ACALL START JC BACK5 ;若总线无效,则中断 RL A ORL A,#FADDR ;生成器件地址 CLR ACC.0 ;设置写操作 ACALL SHOUT ;发送器件地址 JC ERROR5 ;若无应答,则中断 MOV A,ADDR_HI ;发送字节地址高8位 ACALL SHOUT ; JC ERROR5 ;若无应答,则中断 MOV A,ADDR_L0 ;发送字节地址低8位 ACALL SHOUT JC ERROR5 ;若无应答,则中断;****************调用现行地址读功能**************** MOV A,B ;取可编程器件地址 ACALL READ_CURRENT AJMP BACK4 ;退出ERROR5:ACALLstopBACK5:POP B RET③顺序读(SequentialRead):顺序读取由现行读或随机地址读启动。微控制器收到一个数据码之后回送“确认”应答,只要EEPROM收到“确认”之后,便会继续增加数据地址并随时钟串行输出后面的数据。当达到存储地址极限时,数据地址将重复滚动,顺序读取将继续;当终止顺序读操作时,微控制器不产生低电平确认信号,而是使SDA总线处于高电平应答,随后产生一个停止状态。如图2.4.15所示。图2.4.15顺序读时序图图2.4.16读块子程序流程图READ_BLOCK:;从AT24Cxx读一页数据。当读出超过一个字节时执行由随机地址读扩展而来的顺序读。调用时器;件地址的可编程地址置于A中,第一个字节地址置于寄存器对ADDR_HI和ADDR_LO中,字节;计数器置于寄存器

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档