tianxiongweitxw 发表于 2023-6-6 09:13:52

单片机出现丢程序,复位脚输入也不能复位,这是什么情况?重新下载程序又正常,外部复位也正常了。

请教一下:   单片机出现丢程序,复位脚输入也不能复位,这是什么情况?重新下载程序又正常,外部复位也正常了。

神农鼎 发表于 2023-6-6 09:34:19

详细实际原理图的PDF发上来

梁工 发表于 2023-6-6 09:55:28

什么型号的?发原理图PDF版本。

国学芯用 发表于 2023-6-6 10:17:48

楼主用的STC12LE5A60S2   外接晶振5M 左右请上传线路图

梁工 发表于 2023-6-6 12:08:30

刚才跟楼主电话沟通过,使用的是IAP12C5A62S2(或IAP12LE5A62S2),这个是可以IAP的,即程序可以擦除、写入程序区的,因为有EEPROM操作,如果没有严格限制擦除、写入地址,则有可能擦除、写入到程序区了,程序被破坏,重新上电、按复位均不会正常,只能重新下载程序。
还有一种可能就是电源电压或IO的电压有过压冲击IC,冲掉了FLASH,IC可能有损伤但还能工作,只是工作电流会变大,特别是睡眠电流通常会变大。
软件处理:进行EEPROM擦除、写入操作时,增加一些条件,比如增加操作口令、判断地址范围,如下提示:
擦除、写入函数,用到全局变量的口令 u32 PassWrd;
if(addr < EEPROM_ADDR)   return;   //地址不对,马上退出
if(PassWrd != 0x55aa649b)return;//口令不对,退出
准备好地址、数据;
if(PassWrd != 0x55aa649b)    //口令正确
EA = 0;   //发触发命令前关一下总中断
触发擦除、写入;
EA = 1;//发触发命令后开总中断

操作完成后:
PassWrd = 0;    //清除口令
}    //函数结束
所以每次调用擦除、写入函数都要给口令PassWrd=0x55aa649b; (当然也可以是其余值)。口令不对,不执行操作。

对于电源、IO的处理,则可以参考下面的:







神农鼎 发表于 2023-6-6 12:47:19

没详细原理图的PDF, 无法帮助分析的

tianxiongweitxw 发表于 2023-6-6 16:33:35

原理图,大家帮忙分析下


















tianxiongweitxw 发表于 2023-6-6 16:55:40

我可能找到问题了,3V的MCU,复位电压加的4.6V,估计是这个问题损坏了芯片。

神农鼎 发表于 2023-6-6 17:00:55

确定不下电源电压时,就用如下 5.5V ~ 1.9V 的宽电压芯片来设计


页: [1]
查看完整版本: 单片机出现丢程序,复位脚输入也不能复位,这是什么情况?重新下载程序又正常,外部复位也正常了。