标题: stc89c52单片机可以在代码中重启吗? [打印本页]

作者: censv    时间: 2022-11-23 23:03
标题: stc89c52单片机可以在代码中重启吗?
stc89c52可以在代码中重启吗?多谢回复
作者: 人中狼    时间: 2022-11-23 23:29
重启代表从头开始咯哦
作者: Hephaestus    时间: 2022-11-23 23:51
必须利用看门狗等硬件实现重启,简单的跳转到复位向量是无意义的。
作者: 188610329    时间: 2022-11-24 00:09
ISP_CONTR = 0x20;
作者: Longan.Wang    时间: 2022-11-24 09:23
你可以启用看门狗,假设设置WDT 100ms溢出,正常程序保证喂狗间隔在100ms以内。
如果你想用代码复位,那么复位代码可以这样写:
void soft_rest(void) {
    while (1){}
}
只要一调用这个函数,那么再也不能喂狗了,WDT溢出后,马上就复位了。
作者: man1234567    时间: 2022-11-24 09:25
ISP_CONTR=0x60; //软复位,从ISP监控区启动
ISP_CONTR=0x20; //软复位,从用户程序区启动
自己勾一下 Reset 脚......


作者: censv    时间: 2022-11-24 10:43
188610329 发表于 2022-11-24 00:09
ISP_CONTR = 0x20;

多谢回复,解决了我的问题,
作者: wjhhhhh    时间: 2022-11-24 14:27
man1234567 发表于 2022-11-24 09:25
ISP_CONTR=0x60; //软复位,从ISP监控区启动
ISP_CONTR=0x20; //软复位,从用户程序区启动
自己勾一下 Rese ...

请教: 勾一下 Reset 脚  是在下载程序的时候,勾选那个特定IO口为复位脚吗? 或者其他操作? 谢谢
作者: zh_junwei    时间: 2022-11-25 15:00
可以,就是让程序跳到开始的地方




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1