- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 器件的页面首地址 (表4-5) 器件的寻址字节 (表4-6) * 引脚接线与页面编址举例(图4-21) * 接多个同类器件,结合Pi值软件编址,只要页 面首地址之间有256B间隔,页面地址就不重叠. * (2) 串行E2PROM的读/写方式(器件作从设备) 1) 字节写入: (图4-22) * 主设备启动总线(S),发器件寻址的“写控制字 节”,器件返回应答ACK(低),主设备每检测到便 送第9个时钟脉冲,接着发器件“片内地址”,器件 返回应答ACK(低),主设备发“数据”字节,器件返 回应答ACK(低),主设备便停止总线(P). 经片内 自定时写周期(约10ms)后可作新一轮字节写入. * * 页区写入(与之对应),以某个地址单元开始, 可一次连续写入n 个字节数据,写入地址会自 动加1, 每写入一个数据从设备需返回一个应 答ACK,写完最后数据便停止总线,不必执行n 次启动/停止总线过程. 页区写入长度n 随器件型号而异,若写入超过 n,数据会上卷(复盖), 器件n 值诸如: AT24C01A/02 n≤8B AT24C04/08/16 n≤16B * 2) 字节读出: (图4-23) * 主设备启动总线(S),发器件寻址的“写控制 字节”和“片内地址”,且器件分别返回应答ACK (低)后,不接续执行写“数据”(地址不会自动 加1),而是再启动总线(S),发 “读控制字节”, 器件返回应答ACK(低)后, 便把片内数据送入 SDA,主设备送出非应答信号ACK(高),并终止总 线(P).此方式属于随机读出. * * 序列读出(与之对应), 继字节读出格式的 “读控制字节” 和ACK(从设备应答)之后,可一 次连续读出n个字节数据,主设备只需启动/停 止总线一次,但每读出一个数据主设备需返回 应答ACK(低),从设备收到后会自动把数据地址 加1,并再输出数据字节,最后数据读完主设备 才送出ACK(高)并终止总线. 当连续读出超过最大256字节器件页面地址时, 计数器会重置为零,并继续读出,但数据会上卷 (被复盖). * (3)串行E2PROM读/写的程序模块流程图 (归纳为9个模块,最末两块属综合调用) (51单片机与E2PROM器件的应用示例见第8.7节) * “启动总线” 模块 (图4-24) STA: SETB SDA SETB SCL ;初始化为高 NOP ┇ CLR SDA ;先降 NOP ┇ CLR SCL ;后降 RET * “停止总线” 模块 (图4-25) STP: CLR SDA SETB SCL ;初始化为高 NOP ┇ SETB SDA ;先升 NOP ┇ CLR SDA ;再降 CLR SCL ;后降 RET * “从设备写入8位” 模块 (图4-26) W8BIT: MOV R5,#08H WLP: RLC A MOV SDA,C SETB SCL ;启动脉冲 NOP ┇ CLR SCL ;停止脉冲 CLR SDA DJNZ R5,WLP RET * “从设备读出8位” 模块 (图4-27) R8BIT: MOV R5,#08H RLP: SETB SDA SETB SCL ;启动脉冲 MOV C,SDA RLC A CLR SCL ;停止脉冲 DJNZ R5, RLP MOV @R0, A RET 注:用间接寻址R0存8位数据 * “查从设备应答位” 模块 (图4-28) CACK: SETB SDA SETB SCL ;启动脉冲 CLR F0 MOV C,SDA JNC CEND SETB F0 CEND: CLR SCL ;停止脉冲 RET 注: 标志位F0=0, 表示有ACK回应. * “主设备发应答位” 模块 (图4-29) MACK:SETB SDA SETB SCL ;启动脉冲 NOP ┇ NOP CLR SCL ;停止脉冲 SETB SDA RET * “主设备发非应答位” 模块 (图4-30) NOACK:SETB SDA SETB SCL;启动脉冲 NOP ┇ NOP CLR SCL ;停止脉冲 CLR SDA RET * “从设备随机写入N字节” 模块 (图4-31) * “从设备随机读出N字节” 模块 (图4-32) * 4.3.1.
文档评论(0)