找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 4943|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

用STC12C5A60S2的EEPROM作掉電數(shù)據(jù)存儲

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本帖最后由 haikuotian 于 2020-6-3 09:07 編輯

最近用STC12C5A60S2做了一個電池充放電管理,在運(yùn)作中,充電和放電終止值、充入和放出安時數(shù)據(jù),工作狀態(tài)、都需要掉電記憶。這樣就想起了STC12C5A60S2的EEPROM
STC12C5A60S2有1024字節(jié)的EEPROM分兩個扇區(qū),每扇區(qū)512字節(jié),字節(jié)中,只可以從“1”寫成“0”,不可以從“0”寫成“1”,如果字節(jié)單元是“0”,必須先擦除成“1”,再進(jìn)行寫入操作,當(dāng)然,想把字節(jié)8位都寫成“0”,就不用擦,擦除是按扇區(qū)擦的,每次都是把整個扇區(qū)都擦成“1”(&HFF、0xFF、0FFH)。
STC12C5A60S2有專用的低壓監(jiān)測端口P4.6(44腳的器件的第29腳)
STC12C5A60S2有專用P4.6端口中斷出口在地址0033H。
應(yīng)用中在地址0033H指向中斷處理程序(比如:LJMP P46CHULI)
在程序中加入中斷處理程序。比如:
P46CHULI: 中斷響應(yīng)
          擦除要用的扇區(qū)
          按位寫入要保存的數(shù)據(jù)
          從中斷退出
注意:STC12C5A60S2擦除一個扇區(qū)大約要22毫秒,使用時要考慮時間問題(因?yàn)槭堑綦姳4妫?/font>
我對電路稍微改動一下,為了確保每次掉電數(shù)據(jù)保存都成功,在進(jìn)入中斷之后我先關(guān)閉了能關(guān)閉的所有高耗電的電路,比如LED顯示器等,然后再操作EEPROM 的擦除和寫入
改動如圖:




更加詳細(xì)的資料請參閱 STC12C5A60S2 廠家資料

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:134868 發(fā)表于 2022-8-27 09:45 | 只看該作者
然后呢?C語言怎么實(shí)現(xiàn)?
回復(fù)

使用道具 舉報

板凳
ID:485350 發(fā)表于 2023-4-4 16:51 | 只看該作者
為了更安全,再使用雙備份的方式
回復(fù)

使用道具 舉報

地板
ID:1042619 發(fā)表于 2023-4-5 15:21 | 只看該作者
檢查7805前端就夠了,沒必要加7808

1.png (369.04 KB, 下載次數(shù): 58)

1.png
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表