- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机入门培训专题(十八) #160;- I2CEEPROM 编程技
连载提要:上期专题中,我们讲述了
连载提要:上期专题中
,我们讲述了 I2C 总线通信的相
关内容,专题结尾有一段 I2C-EEPROM 通信的代码,为了 更好的了解 EEPROM 的相关知识,我们今天就和大家说说
EEPROM 编程的那些事。
18.1EEPROM 的学习 在实际的应用中,保存在单片机
RAM 中的数据,掉电后数据就丢失了,保存在单片机的
FLASH 中的数据,又不能随意改变,也就是不能用它来记 录变化的数值。但是在某些场合,我们又确实需要记录下某 些数据,而它们还时常需要改变或更新,掉电之后数据还不 能丢失,比如我们的家用电表度数,我们的电视机里边的频 道记忆,一般都是使用 EEPROM 来保存数据,特点就是掉 电后不丢失。我们经常使用的是 24C02 ,是一个容量大小是
2Kbit 位,也就是 256 个字节的 EEPROM 。一般情况下,
EEPROM 拥有 30 万到 100 万次的寿命, 也就是它可以反复 写入 30-100 万次,而读取次数是无限的。
24C02 是一个基于 I2C 通信协议的器件, 因此从现在开
始,我们的 I2C 和我们的 EEPROM 就要合体了。但是大家 要分清楚, I2C 是一个通信协议,它拥有严密的通信时序逻 辑要求,而 EEPROM 是一个器件, 只是这个器件采样了 I2C协议的接口与单片机相连而已,二者并没有必然的联系,
EEPROM 可以用其他接口, I2C 也可以用在其它很多器件上。
18.2EEPROM 单字节读写操作时序
18.2.1EEPROM 写数据流程 第一步,首先是 I2C 的起始
信号,接着跟上首字节,也就是我们前边讲的 I2C 的器件地 址(EERPOM),并且在读写方向上选择“写”操作。
信号,
步,发送数据的存储地址。我们 24C02 一共 256 个字节的
存储空间,地址从 0x00 到 0xFF ,我们想把数据存储在哪个
位置,此刻写的就是哪个地址。第三步,发送要存储的
位置,此刻写的就是哪个地址。
第三步,发送要存储的
注意在写数据的过程中,
EEPROM 每个字节都会回应一个“应答位 0”,来告诉我们写
EEPROM 数据成功, 如果没有回应答位, 说明写入不成功。
在写数据的过程中,每成功写入一个字节, EEPROM 存储 空间的地址就会自动加 1,当加到 0xFF 后,再写一个字节, 地址会溢出又变成了 0x00 。
18.2.2EEPROM 读数据流程 第一步,首先是 I2C 的起始
信号,接着跟上首字节,也就是我们前边讲的 I2C 的器件地
信号,
址(EERPOM),并且在读写方向上选择“写”操作。这个地方
可能有同学会诧异,我们明明是读数据为何方向也要选“写” 择写操作,是为了把所要读的数据的存储地址先写进去,告 诉 EEPROM 我们要读取哪个地址的数据。这就如同我们打 电话, 先拨总机号码 (EEPROM 器件地址 ),而后还要继续拨
呢?刚才说过了,我们 24C02
呢?刚才说过了,我们 24C02
共有 256 个地址,我们选
分机号码 (数据地址 ),而拨分机号码这个动作,主机仍然是
发送方,方向依然是“写”。 第二步,发送要读取的数据
的地址,注意是地址而非存在 EEPROM
EEPROM 我要哪个分机的信息。
EEPROM 我要哪个分机的信息。
第三步, 重新发送 I2C
起始信号和器件地址,并且在方向位选择“读”操作。
三步当中,每一个字节实际上都是在“写”,所以每一个字节
EEPROM 都会回应一个“应答位 0”。 第四步,读取从器 件发回的数据,读一个字节,如果还想继续读下一个字节, 就发送一个“应答位 ACK(0) ”,如果不想读了,告诉 EEPROM ,
我不想要数据了,别再发数据了,那就发送一个“非应答位
NACK(1)”。
NACK(1)”。
和写操作规则一样, 我们每读一个字节, 地
址会自动加 1 ,那如果我们想继续往下读,给 EEPROM
个 ACK(0) 低电平, 那再继续给 SCL 完整的时序, EEPROM
会继续往外送数据。如果我们不想读了,要告诉 EEPROM
不要数据了,那我们直接给一个 NAK(1) 高电平即可。这个 地方大家要从逻辑上理解透彻,不能简单的靠死记硬背了,
定要理解明白。梳理一下几个要点: A、在本例中单片机
是主机,24C02是从机;B、无论是读是写,SCL始终都是 由主机控制的;C、写的时候应答信号由从机给出,表示从
机是否正确接收了数据; D、读的时候应答信号则由主机给
出,表示是否继续读下去。那我们下面写一个程序,读
出,表示是否继续读下去。
那我们下面写一个程序,读
取 EEP
您可能关注的文档
- 医院社会实践报告书.docx
- 医院简短辞职报告.docx
- 十招绝技降服变力做功.docx
- 半地下式水池抗浮稳定性分析与研究.docx
- 半年时间,走访8成茶企六堡茶市场调研之厂茶篇.docx
- 华南师范大学增城学院创新学分认定办法(试行).docx
- 华商施组word版-第4章组织机构及职责.docx
- 华科1993-2016年病理学考博真题详解.docx
- 协达C8协同商务管理应用解决方案.docx
- 单丝不成线,孤木不成林细数郭德纲相声里常说的“至理名言”.docx
- 秀屿区疾病预防控制中心建设项目环境影响报告书.pdf
- 六氟磷酸锂及高纯五氟化磷项目环境影响报告书.pdf
- 年产调味品3000t、食用猪油2000t、食用鸡油2000t改扩建项目(含地表水专项评价)环评环境影响报告表(新版环评).pdf
- 年产2000吨电子级氟化铵溶液和4000吨含氟阻燃剂扩建项目环境影响报告书.pdf
- 非食用植物油加工项目(含地表水专项评价)环评环境影响报告表(新版环评).pdf
- 石英石板材加工石粉及边角料综合利用项目环境影响报告书.pdf
- 外研版(2019)必修 第一册Unit 1 A new start 单元读后续写练习(含答案).pdf
- XXX《医古文Z》平时作业1答案.pdf
- 2024年中考历史总复习《中国历史》八年级下册知识要点汇编(全册).doc
- 2024年中考历史总复习《中国历史》八年级下册全册知识要点网络汇编(精品).doc
文档评论(0)