英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流
标题:
如何可以延长EEPROM的使用寿命
[打印本页]
作者:
winnie
时间:
2009-4-20 12:59
标题:
如何可以延长EEPROM的使用寿命
如何可以延长EEPROM
的使用寿命?
【背景】
PIC16F877
作脉冲计数器,掉电后累计脉冲不丢失,再上电候,在原累计数的基础上累加。
因为
HTPICC
有
eeprom_write(unsigned char addr, unsigned char value)
函数,
所以,我想存某数
xxxxxxxx
时,将该数的每一位以
char
形存储,一秒存一次
8
位数。
这样,时间长了,
EEPROM
就写坏了。故此,每存一次,就换到下个
8
位区域存储。这样,
256
字节
EEPROM
循环使用。
可是,掉电后再上电时,怎么找到存储
8
位数的地址?思考了几种方案:
1、
找最大数据法――查找
EEPROM
中的最大数据,就是掉电前最后一秒存储的数据
2、
过河拆桥法―――循环将当前
8
位数写入
EEPROM
后,将前面的所有
EEPROM
都清
0
再上电时,查找非
0EEPROM
空间即可
3、
地址-数据映射法―――为每一组
8
位数据相应在
EEPROM
中设一个地址标志
ADR
,这样只要找到
ADR
即可找到相应数据,对地址标志
ADR
的处理方法同过河拆桥法。
请大家分析以下其利弊及细节问题
!
【另】如何解决
RAM
内存不足问题?
作者:
winnie
时间:
2009-4-20 12:59
具体说,一开始,所有的都是FF, 第一次写入地址0上,第二次在地址1上,将前一位地址0为FE,所有的依次类推,在写完后再用FF开始循环这一过程。这样下次检测时检测到非FF就可以了,具体可用二分法减少检测的次数。
其实为什么要用PIC16F877来解决这一问题,用atmel24C01来存储这个数据,将PIC16F877换成PIC16F76,这样不是更加节约成本和效益?!
欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://enroobbs.com/)
Powered by Discuz! X3.2