欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9775|回復: 28
打印 上一主題 下一主題
收起左側

電子設備怎么在掉電瞬間把數據保存在eeprom

  [復制鏈接]
跳轉到指定樓層
樓主
有沒有大佬知道怎么在掉電瞬間把數據保存在eeprom里啊,求代碼思路
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:328014 發表于 2021-8-6 17:15 | 只看該作者
可以用一個超級電容或者小電池來在斷電的時候保存數據,當然需要一個斷電檢測的電路
回復

使用道具 舉報

板凳
ID:934353 發表于 2021-8-6 17:31 | 只看該作者
51hei團團 發表于 2021-8-6 17:15
可以用一個超級電容或者小電池來在斷電的時候保存數據,當然需要一個斷電檢測的電路

是的,我查過,但是不知道怎么樣去檢測比較合理,大佬有什么比較好的方法嗎?感謝回答
回復

使用道具 舉報

地板
ID:88256 發表于 2021-8-6 17:45 | 只看該作者
開心就好hhhh 發表于 2021-8-6 17:31
是的,我查過,但是不知道怎么樣去檢測比較合理,大佬有什么比較好的方法嗎?感謝回答

取前面的電源用合適的電阻分壓,用單片機的一個I/O檢測,當電壓低于一定程度時就不屬于高電平范圍了,可以判斷斷電了,執行保存數據的操作
回復

使用道具 舉報

5#
ID:161164 發表于 2021-8-6 17:55 | 只看該作者
一定要掉電瞬間才寫入嗎?
換個思路,當檢測到數據數值有變化就寫入
就不用理它掉不掉電了
回復

使用道具 舉報

6#
ID:401564 發表于 2021-8-6 18:15 | 只看該作者
瞬間寫入是不可能的
肯定是要有一個掉電檢測和電容來保持單片機完成寫入的時間
如果單片機對電源要求不高,又沒有ADC或者是ADC有穩定的參考電壓的話,串聯一個二極管給單片機供電,然后在輸入端用兩個電阻來取樣就可以
實際的參數是要的實際電路中調節的
回復

使用道具 舉報

7#
ID:584195 發表于 2021-8-6 19:13 | 只看該作者
好象有個掉電中斷什么的,在這個中斷函數里寫就可以了吧.
回復

使用道具 舉報

8#
ID:959221 發表于 2021-8-6 19:27 | 只看該作者
不要用電容,不可靠.
知道UPS吧,就是在你的電路板上做個UPS,存完數據后,斷掉UPS.有電的時候就給UPS充電
還是鎳氫電池抗造,不鼓包,備電首選.
回復

使用道具 舉報

9#
ID:883242 發表于 2021-8-6 22:16 | 只看該作者
做個電壓檢測電路,放在穩壓器之前,電壓掉到一定程度提醒單片機保存數據。
回復

使用道具 舉報

10#
ID:213173 發表于 2021-8-7 06:07 | 只看該作者
樓主的問題不是純軟件可以解決的,需要配置少量硬件。單片機完成任何工作都需要有電源支持和足夠的時間。一般把數據保存在eeprom需要幾十ms時間。也就是說外部電源掉電后,直接為單片機供電的電源還得要保持供電幾十ms時間,以維持單片機把數據保存在eeprom中。電路基本原理示意圖:

回復

使用道具 舉報

11#
ID:584195 發表于 2021-8-7 07:55 | 只看該作者
單片機有bat接口的,用大電容給這個接口供電,加上10#的電路,應該可以完美解決你的問題.
回復

使用道具 舉報

12#
ID:420836 發表于 2021-8-7 10:01 | 只看該作者
第一種選擇是寫入新數據,以一定的間隔覆蓋掉eeprom中的舊數據,或者在電源輸出端使用一個大的電解電容,為掉電提供延遲,以便將數據寫入EEPROM。
回復

使用道具 舉報

13#
ID:934353 發表于 2021-8-9 09:36 | 只看該作者
wulin 發表于 2021-8-7 06:07
樓主的問題不是純軟件可以解決的,需要配置少量硬件。單片機完成任何工作都需要有電源支持和足夠的時間。一 ...

好的,謝謝
回復

使用道具 舉報

14#
ID:934353 發表于 2021-8-9 09:38 | 只看該作者
lkc8210 發表于 2021-8-6 17:55
一定要掉電瞬間才寫入嗎?
換個思路,當檢測到數據數值有變化就寫入
就不用理它掉不掉電了

這樣有可能還未掉電就已經頻繁的寫入了,eeprom使用壽命就很短了,感謝回答
回復

使用道具 舉報

15#
ID:934353 發表于 2021-8-9 09:38 | 只看該作者
Y_G_G 發表于 2021-8-6 18:15
瞬間寫入是不可能的
肯定是要有一個掉電檢測和電容來保持單片機完成寫入的時間
如果單片機對電源要求不高 ...

好的,感謝回答
回復

使用道具 舉報

16#
ID:934353 發表于 2021-8-9 09:39 | 只看該作者
TTQ001 發表于 2021-8-7 10:01
第一種選擇是寫入新數據,以一定的間隔覆蓋掉eeprom中的舊數據,或者在電源輸出端使用一個大的電解電容,為 ...

好的,感謝回答
回復

使用道具 舉報

17#
ID:451718 發表于 2021-8-9 13:43 | 只看該作者
掉電保存有三種辦法實現:
1,及時存儲(當數值發生重大變化時)或者檢測時間間隔存儲(比如5分鐘保存一次)。
2,掉電檢測存儲,就是你提問的方式,需要去檢測供電電壓,然后比較,然后第一時間通過最高優先級中斷來處理。但是這種方法不是太可靠,因為eeprom存儲的時候,都需要一定的延遲,你的余電夠不夠存儲很難說,對硬件電路要求比較高。
3,通過電池供電來存儲,通過紐扣電池來完成存儲后,單片機進入休眠狀態(低功耗狀態)。主供電恢復后,退出休眠狀態。

評分

參與人數 2黑幣 +30 收起 理由
開心就好hhhh + 10
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

18#
ID:934353 發表于 2021-8-11 13:17 | 只看該作者
robinsonlin 發表于 2021-8-9 13:43
掉電保存有三種辦法實現:
1,及時存儲(當數值發生重大變化時)或者檢測時間間隔存儲(比如5分鐘保存一次 ...

好的,非常感謝
回復

使用道具 舉報

19#
ID:958976 發表于 2021-9-23 16:20 | 只看該作者
lkc8210 發表于 2021-8-6 17:55
一定要掉電瞬間才寫入嗎?
換個思路,當檢測到數據數值有變化就寫入
就不用理它掉不掉電了

如果這樣的話,用在開關類 傳感器類的產品上會不會就不太好?頻繁的擦寫,會不會導致產品使用壽命降低
回復

使用道具 舉報

20#
ID:161164 發表于 2021-9-23 16:37 | 只看該作者
gw422342988 發表于 2021-9-23 16:20
如果這樣的話,用在開關類 傳感器類的產品上會不會就不太好?頻繁的擦寫,會不會導致產品使用壽命降低

開關類傳感器類的產品有什么數據需要掉電記錄的?
如果該數據會不斷變化
那么在掉電那段時間也會繼續變化
記不記錄也沒所謂了吧

我的方法當然是用在不用頻繁的擦寫的數據上

回復

使用道具 舉報

21#
ID:624769 發表于 2021-9-23 18:44 | 只看該作者
看到有人挖墳, 我就順便說兩句,

如果,使單片機內部的EEPROM 的話, 不需要添加任何硬件,就可以通過“掉電中斷”,把數據存入 EEPROM。
由于從發現掉電,到徹底沒電,只有15ms , 左右的時間,所以,外部Eeprom的話比較難實現(時間不夠)。
內部Eeprom的話,只要不需要初始化(格式化)的話,大約能存入200個字節的數據,我想基本應該夠用。
回復

使用道具 舉報

22#
ID:592807 發表于 2021-9-23 19:49 | 只看該作者
wulin 發表于 2021-8-7 06:07
樓主的問題不是純軟件可以解決的,需要配置少量硬件。單片機完成任何工作都需要有電源支持和足夠的時間。一 ...

最好不要,電量不足情況下,IO口電平不穩定,可能會誤操作。一般會用到備份電源。
回復

使用道具 舉報

23#
ID:514901 發表于 2021-9-24 10:01 | 只看該作者
可以一個ADC一直讀取電源電壓值,當電源電壓底到某一閾值就啟動馬上調用eeprom寫入,當然,外圍電路加個電容,讓電壓降低延長個幾十ms,對單片機來說幾十ms夠做很多事情了。可以參考一下STC的掉電保存的方案
回復

使用道具 舉報

24#
ID:382454 發表于 2021-9-29 15:08 | 只看該作者
1要有一個ADC端口掃描VCC供電
2用一個法拉電容做為斷電的延續電源,電容肯定比電池經久啊。從體積和壽命來說都有優勢。
3執行機智是數據發生改變,或斷電事件發生了,馬上寫入EERPOM。現在的EEPROM寫入次幾十萬次以上了,你根本不用考慮壽命的問題。
回復

使用道具 舉報

25#
ID:712493 發表于 2021-9-30 08:19 | 只看該作者
lkc8210 發表于 2021-8-6 17:55
一定要掉電瞬間才寫入嗎?
換個思路,當檢測到數據數值有變化就寫入
就不用理它掉不掉電了

掉電寫入是為了減小寫入次數,提高eeprom的壽命
回復

使用道具 舉報

26#
ID:883242 發表于 2021-9-30 12:00 | 只看該作者
用比較器做個電源電壓檢測電路,把輸出接入單片機外中斷,單片機發現電壓不夠就開始寫eeprom。
回復

使用道具 舉報

27#
ID:883242 發表于 2021-9-30 12:01 | 只看該作者
fj51hei 發表于 2021-9-30 08:19
掉電寫入是為了減小寫入次數,提高eeprom的壽命

可以用鐵電,現在不貴,理論上可以無數次寫入。
回復

使用道具 舉報

28#
ID:57657 發表于 2021-9-30 12:24 | 只看該作者
如果EEPROM容量較大,你可以參考下鋰電池數碼產品充放電控制電路。
回復

使用道具 舉報

29#
ID:420836 發表于 2021-10-1 07:46 | 只看該作者
使用容量非常大的電容器來儲存電力作為備用。 當發生斷電時,電容器放電。 可以將時間設計為足以存儲一些關鍵數據。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表