微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 怎么实现断电后,保存数据,下次通电继续执行

怎么实现断电后,保存数据,下次通电继续执行

时间:10-02 整理:3721RD 点击:
打个比方,要个LED亮20秒,他亮了500毫秒,就断电了,怎样保存,下次通电时继续亮19.5秒
STC内部的EEPROM好像不怎么好用,怎么用硬件电路实现?比如24C16,可是断电后,都没有供电方案了

内部的EEPROM应该好用,外部的也可以,掉电后都会保留的

要实时的保存数据,比如点灯的那个,可以每个100毫秒就保存一下数据,下次从最后一次保存的数据开始继续点亮,不知道这样可行否

同上,小编

我就看看,我不知道。

我上面说的点灯,只是一个比方哦
假如保存过程中断电呢?有没有就是断电后,还能供电10秒左右的方案呢,而且单片机能知道已经断电了

很不错的东西啊!值得收藏!

以前记得单片机有个掉电中断来的,就是在电源电压下降时来个中断,在完全没电前还能干点什么,现在不知道有没有这个功能了

顶。。

外接atmel的E2PROM

可以用定时器控制等的亮暗时间,同时每50ms就将数据保存一次,在主程序的开始再将数据读取出来就可以了,51单片机内部没有EEPROM,所以不能够实现该功能,你可以用52,我试过了是可以的。或者是用外部芯片,我当时用的是24c02,也实现了这个功能的

可以用定时器控制等的亮暗时间,同时每50ms就将数据保存一次,在主程序的开始再将数据读取出来就可以了,51单片机内部没有EEPROM,所以不能够实现该功能,你可以用52,我试过了是可以的。或者是用外部芯片,我当时用的是24c02,也实现了这个功能的

我的意思是,在你正准备保存的时候,就是正在写入数据的时候,外面断电了,咋办?

EEPROM恐怕坏的很快吧

我就看看,我不知道。

我就来看看 。

参考一下http://www.docin.com/p-1512979913.html
其实上面说对了一半,断电中断,还得加上大的法拉电容,可以在断电瞬间提供ms级供电(可能还得关闭其它的外部供电),这个时间就够单片机写EEPROM操作了

如果50ms或100ms保存一次的话,一天下来存储器刷写次数太多,很快就归天了,这样不符合实际的,你可以这样试试,单片机和用电器用二极管分开供电,在单片机供电加个大电容或法拉电容,用单片机去检测供电,供电没了就保存当前数据。因为单片机有大电容或法拉电容,有足够的时间保存数据了。

看你这意思,是要在断电前把程序寄存器和其他核心寄存器数据保存起来,上电后根据上次保存的数据再恢复这些寄存器,有点难度

利用一个数组存放数据,也就是定义一个数组,这个数组会被更新,每次开启之前都读取这个数组,这样子行么?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top