找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2043|回复: 14
打印 上一主题 下一主题
收起左侧

stc12c5a60s2单片机内部eeprom该怎么用?

[复制链接]
跳转到指定楼层
楼主
ID:881715 发表于 2021-10-8 15:07 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
      我用stc12c5a60s2,想用外部复位电路来检测电路电压情况,一旦停电,在一瞬间把变量数据用低压检测中断存入eeprom中,在次上电时程序里的变量读取eeprom中存的值,这个程序的思路步骤是怎样的呀?有什么需要注意的吗?求各位指教一下!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:624769 发表于 2021-10-8 15:34 | 只看该作者
首先,外部复位电路,是无法监测电路电压情况的。

想要断电瞬间,存储数据到Eeprom需要用到 LVD中断。
在LVD中断中, 把数据写到Eeprom中。
有一个重点, STC的内部eeprom 其实是FLASH  他只有写和扇区擦除,没有改写。所以,你必须要注意一点。发现外部掉电了,写几十个数据去Eeprom 是没啥问题的,但是,如果你要擦除扇区,那是绝对来不及的。因此,在触发掉电中断LVD之前, 你必须要先确保,Eeprom 处于可以写入状态,如果需要擦除扇区,就提前擦除好。
回复

使用道具 举报

板凳
ID:881715 发表于 2021-10-8 17:49 | 只看该作者
188610329 发表于 2021-10-8 15:34
首先,外部复位电路,是无法监测电路电压情况的。

想要断电瞬间,存储数据到Eeprom需要用到 LVD中断。

老师,我用专用复位芯片MAX813L芯片来检测电路低电压
回复

使用道具 举报

地板
ID:881715 发表于 2021-10-8 17:53 | 只看该作者
188610329 发表于 2021-10-8 15:34
首先,外部复位电路,是无法监测电路电压情况的。

想要断电瞬间,存储数据到Eeprom需要用到 LVD中断。

多谢您的指教,我程序设计的快写满扇区了就提前擦除能给提供一下MAX813芯片与单片机中断连接的电路图吗
回复

使用道具 举报

5#
ID:624769 发表于 2021-10-8 18:16 | 只看该作者
创造生活 发表于 2021-10-8 17:53
多谢您的指教,我程序设计的快写满扇区了就提前擦除能给提供一下MAX813芯片与单片机中断连接的电路图吗

MAXl813没用过, 你自己参考手册连接电路吧,反正基本上,也是连接外部中断INT0~INT4中的一个,然后写中断程序。

不过说实在的,STC12系列,自带的MAX810,没觉得比MAX813差呀, 你还特意外接MAX813,实在是…… 万分费解……,感觉有点像是为了提高产品价值,恶意堆料。
回复

使用道具 举报

6#
ID:881715 发表于 2021-10-8 18:59 | 只看该作者
188610329 发表于 2021-10-8 18:16
MAXl813没用过, 你自己参考手册连接电路吧,反正基本上,也是连接外部中断INT0~INT4中的一个,然后写中 ...

关键是我不知道用自带的复位电路,我那电路图和程序该怎么弄,MAX913L我倒有点资料,我这是纯粹为了玩不卖钱,也就不存在堆料的问题了
回复

使用道具 举报

7#
ID:624769 发表于 2021-10-8 19:07 | 只看该作者
创造生活 发表于 2021-10-8 18:59
关键是我不知道用自带的复位电路,我那电路图和程序该怎么弄,MAX913L我倒有点资料,我这是纯粹为了玩不 ...

那就别给自己找麻烦, 直接用STC12自带的 MAX810, 省心省时省力。

直接: VCC 接 100 K 电阻,到P4.6, 再GND 接30~33K 电阻到P4.6
然后, 程序里开 ELVD 中断 就好了。 多简单的事?
回复

使用道具 举报

8#
ID:624769 发表于 2021-10-8 19:25 | 只看该作者
创造生活 发表于 2021-10-8 18:59
关键是我不知道用自带的复位电路,我那电路图和程序该怎么弄,MAX913L我倒有点资料,我这是纯粹为了玩不 ...

STC12系列的手册你看过么?

没看过的话,点击这里下载。
2楼下载611页的:http://www.51hei.com/bbs/dpj-96160-1.html


手册第56~67页,关于复位部分,就是讲的自带MAX810的功能,不管是看门狗也好,低压检测也好。
反正我觉得是够用了,完全没必要在外接MAX813.
当然,STC12毕竟型号太老了,还要P4.6外接两个分压电阻,STC15, STC8 系列连外接电阻都不用了,直接写程序就行了。
回复

使用道具 举报

9#
ID:881715 发表于 2021-10-8 20:48 来自手机 | 只看该作者
多谢各位老师指教
回复

使用道具 举报

10#
ID:382454 发表于 2021-10-8 21:37 来自手机 | 只看该作者
分两路走,mcu要有电池,断电触发写eeprom另一个电路
回复

使用道具 举报

11#
ID:881715 发表于 2021-10-8 22:18 来自手机 | 只看该作者
univers 发表于 2021-10-8 21:37
分两路走,mcu要有电池,断电触发写eeprom另一个电路

不想用电池,那玩意怕用不久,总得换电池吧!一块电池才多少亳安时的电量呀?我两个电源全用开关电源。
回复

使用道具 举报

12#
ID:624769 发表于 2021-10-8 22:23 | 只看该作者
创造生活 发表于 2021-10-8 22:18
不想用电池,那玩意怕用不久,总得换电池吧!一块电池才多少亳安时的电量呀?我两个电源全用开关电源。

不需要用电池,STC单片机的掉电中断,压根不需要电池。

你可以参考我这个帖子,用掉电中断尝试一下,实际测试的经验,写60+字节是毫无压力的。

http://www.51hei.com/bbs/dpj-213012-1.html
回复

使用道具 举报

13#
ID:123289 发表于 2021-10-9 14:22 | 只看该作者
想法不错,实际做到需要解决:
1、系统复位时,要恢复上次的状态,需要哪些数据。
2、保存这些数据需要多少时间。
3、从感知到掉电,至CPU不能运行,如何保证安全写入数据,不会因欠压数据写入不完整。
慢慢来吧,会成功的。看你思维蛮好的,估计难不到你。
回复

使用道具 举报

14#
ID:881715 发表于 2021-10-9 15:33 来自手机 | 只看该作者
yzwzfyz 发表于 2021-10-9 14:22
想法不错,实际做到需要解决:
1、系统复位时,要恢复上次的状态,需要哪些数据。
2、保存这些数据需要多 ...

多谢您鼓励
回复

使用道具 举报

15#
ID:339654 发表于 2021-11-1 08:31 | 只看该作者
STC的ISP烧录软件上有例程,要注意单次擦除的是一个扇区,不能单独擦除一个字节
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表