找回密码
 立即注册
查看: 9860|回复: 62

EEPROM的使用 请 配合比较器做掉电检测

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15609
发表于 2023-3-9 16:21:31 | 显示全部楼层 |阅读模式
EEPROM的使用 请 配合比较器掉电检测
EEPROM中的本次上电后可能要改的数据,上电后读到 SRAM中
电源正常时操作SRAM, 掉电时及时写回 EEPROM



截图202410191650179745.jpg

截图202410191650386494.jpg

保证时间足够,就是调整外部电压偏低检测中断的提前量,如
1, 交流220V, 7805稳压电路前端输入是 11V;

2, 交流210V, 7805稳压电路前输入是 10.5V;
3, 交流200V, 7805稳压电路前
输入是 10V;
4, 交流190V, 7805稳压电路前输入是 9.5V;
5, 交流180V, 7805稳压电路前输入是 9V;
6, 交流170V, 7805稳压电路前输入是 8.5V;
7, 交流160V, 7805稳压电路前输入是 8V;
===你这个要提前的量放在

        11V/10.5V/10V/9.5V/9V/8.5V ?
===哪个电压点产生外部电压偏低检测中断,

        确保时间充分要通过实践测试来选择







回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15609
发表于 2023-12-10 12:06:39 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-01-18 18:18:52

8

主题

24

回帖

220

积分

中级会员

积分
220
发表于 2023-3-17 12:02:28 | 显示全部楼层
问一下,操作EEPROM(FLASH模拟)时,关总中断EA是不是必须的?
===必须

点评

最好关一下总中断EA=0;因为触发命令要连续执行: ISP_TRIG = 0x5A; ISP_TRIG = 0xA5; 这两条触发命令要连续执行,不能被中断,也就说说,这两条命令之间不能有其余命令。如果不关中断,则有可能执行第一条送0x5A后  详情 回复 发表于 2023-6-26 15:13
不是必须的。有些例程里面关了中断,是为了防止在中断跟主循环里同时调用EEPROM操作函数,产生自己嵌套自己的现象。  详情 回复 发表于 2023-3-17 13:23
  • 打卡等级:常住居民III
  • 打卡总天数:142
  • 最近打卡:2025-04-27 09:42:20

11

主题

157

回帖

1780

积分

版主

积分
1780
发表于 2023-3-17 13:23:28 | 显示全部楼层
LF*** 发表于 2023-3-17 12:02
问一下,操作EEPROM(FLASH模拟)时,关总中断EA是不是必须的?

不是必须的。有些例程里面关了中断,是为了防止在中断跟主循环里同时调用EEPROM操作函数,产生自己嵌套自己的现象。
  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2023-6-26 15:13:47 | 显示全部楼层
LF*** 发表于 2023-3-17 12:02
问一下,操作EEPROM(FLASH模拟)时,关总中断EA是不是必须的?

最好关一下总中断EA=0;因为触发命令要连续执行:
ISP_TRIG = 0x5A;
ISP_TRIG = 0xA5;
这两条触发命令要连续执行,不能被中断,也就说说,这两条命令之间不能有其余命令。如果不关中断,则有可能执行第一条送0x5A后,进入中断,再回来发0xA5,则本次操作无效。
除非保证不会被中断,比如在最高优先级的中断中操作EEPROM,则可以不关总中断。
回复 支持 反对

使用道具 举报 送花

14

主题

70

回帖

341

积分

中级会员

积分
341
发表于 2023-7-18 11:15:03 | 显示全部楼层
梁*** 发表于 2023-6-26 15:13
最好关一下总中断EA=0;因为触发命令要连续执行:
ISP_TRIG = 0x5A;
ISP_TRIG = 0xA5;

操作 EE时关中断,怎么没看见说明书里提过呢,我这里操作 EE的时候也是没有关中断的

点评

基于上述原因,不关中断,则可能会在两条触发命令之间响应中断,此次操作就会无效。  详情 回复 发表于 2023-7-18 11:33
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2023-7-18 11:33:42 | 显示全部楼层
13668840876 发表于 2023-7-18 11:15
操作 EE时关中断,怎么没看见说明书里提过呢,我这里操作 EE的时候也是没有关中断的 ...

基于上述原因,不关中断,则可能会在两条触发命令之间响应中断,此次操作就会无效。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:439
  • 最近打卡:2025-05-01 10:39:15
已绑定手机

40

主题

371

回帖

839

积分

高级会员

积分
839
发表于 2023-8-24 16:28:43 | 显示全部楼层
梁*** 发表于 2023-6-26 15:13
最好关一下总中断EA=0;因为触发命令要连续执行:
ISP_TRIG = 0x5A;
ISP_TRIG = 0xA5;

工程有用到很多中断 ,如PCA ,时间定时器,通讯等,如果程序在运行过程,操作工人想更改数据,为了不影响设备的运行,又能把数据完好保存存下来。想问一下,STC单片机,EEPROM 保存数据  保存1KB的数据,22。1184的内部晶振,需要多少时间完成?

点评

写入一个字节大约30~40us,写入1K字节大约40ms。EEPROM是不能频繁、经常写的,有寿命。  详情 回复 发表于 2023-8-24 17:47
纸上得到终觉浅,绝知此事要躬行。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:439
  • 最近打卡:2025-05-01 10:39:15
已绑定手机

40

主题

371

回帖

839

积分

高级会员

积分
839
发表于 2023-8-24 16:30:12 | 显示全部楼层
梁*** 发表于 2023-7-18 11:33
基于上述原因,不关中断,则可能会在两条触发命令之间响应中断,此次操作就会无效。 ...

可否在两条触发命令之后再启动中断,一边中断,一边处理EEPROM,这样可以吗?

点评

可以,只是发触发命令时关一下全局中断。  详情 回复 发表于 2023-8-24 17:58
纸上得到终觉浅,绝知此事要躬行。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:439
  • 最近打卡:2025-05-01 10:39:15
已绑定手机

40

主题

371

回帖

839

积分

高级会员

积分
839
发表于 2023-8-24 17:28:00 | 显示全部楼层
梁*** 发表于 2023-7-18 11:33
基于上述原因,不关中断,则可能会在两条触发命令之间响应中断,此次操作就会无效。 ...

EA=0;
ISP_TRIG = 0x5A;
ISP_TRIG = 0xA5;
EA=1;

点评

EA=0; _nop_(); _nop_(); ISP_TRIG = 0x5A; ISP_TRIG = 0xA5; EA=1;  详情 回复 发表于 2023-8-24 17:43
纸上得到终觉浅,绝知此事要躬行。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2023-8-24 17:43:47 | 显示全部楼层
飞*** 发表于 2023-8-24 17:28
EA=0;
ISP_TRIG = 0x5A;
ISP_TRIG = 0xA5;

EA=0;
_nop_();
_nop_();
ISP_TRIG = 0x5A;
ISP_TRIG = 0xA5;
EA=1;
回复 支持 1 反对 0

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-1 19:38 , Processed in 0.208226 second(s), 132 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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