codecamp

14.3 单片机 EEPROM 简介

14.3 单片机 EEPROM 简介

在实际的应用中,保存在单片机 RAM 中的数据,掉电后就丢失了,保存在单片机的 FLASH 中的数据,又不能随意改变,也就是不能用它来记录变化的数值。但是在某些场合,我们又确实需要记录下某些数据,而它们还时常需要改变或更新,掉电之后数据还不能丢失,比如我们的家用电表度数,电视机里边的频道记忆,一般都是使用 EEPROM 来保存数据,特点就是掉电后不丢失。我们板子上使用的这个器件是 24C02,是一个容量大小是 2Kbits,也就是256个字节的 EEPROM。一般情况下,EEPROM 拥有30万到100万次的寿命,也就是它可以反复写入30-100万次,而读取次数是无限的。

24C02 是一个基于 I2C 通信协议的器件,因此从现在开始,我们的 I2C 和我们的 EEPROM 就要合体了。但是大家要分清楚,I2C 是一个通信协议,它拥有严密的通信时序逻辑要求,而 EEPROM 是一个器件,只是这个器件采样了 I2C 协议的接口与单片机相连而已,二者并没有必然的联系,EEPROM 可以用其它接口,I2C 也可以用在其它很多器件上。

14.2 I2C 寻址模式
14.4 EEPROM 单字节读写操作时序
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }