怎么实现断电后,保存数据,下次通电继续执行
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保存一次的话,一天下来存储器刷写次数太多,很快就归天了,这样不符合实际的,你可以这样试试,单片机和用电器用二极管分开供电,在单片机供电加个大电容或法拉电容,用单片机去检测供电,供电没了就保存当前数据。因为单片机有大电容或法拉电容,有足够的时间保存数据了。
看你这意思,是要在断电前把程序寄存器和其他核心寄存器数据保存起来,上电后根据上次保存的数据再恢复这些寄存器,有点难度
利用一个数组存放数据,也就是定义一个数组,这个数组会被更新,每次开启之前都读取这个数组,这样子行么?