如何区分“上电复位”跟“系统复位”

[复制链接]
3963|4
 楼主| megawin 发表于 2009-9-18 15:57 | 显示全部楼层 |阅读模式
本帖最后由 megawin 于 2009-9-19 09:53 编辑

Megawin MCU凭借超强抗干扰能力,在工业级MCU领域取得非常好的成绩。(ESD可过6000V,EFT 可过1.5KV )。
    抗干扰问题,不仅仅是硬件设计时考虑的问题,另外还可以在软件上做处理来提高MCU抗干扰能力。
    工作原理:如果外界有很强干扰信号,超出了MCU承受范围,就会引起MCU系统复位(非上电复位),我们利用MCU系统复位后寄存器数据不发生改变特点,在软件增加特殊处理,让MCU恢复到之前运行状态,从而消除干扰的影响。
    Megawin 89系列 PCON寄存器POF位是上电标志位,可以通过这个位来判断是“上电复位”还是“系统复位”,软件再做对应处理。具体方法如下:

void main(void)
{
    if(POF)
    {
       // 上电复位,初如化变量
        ...
        ...
    }
    else
    {
        // 系统复位,只初如化部分变量
        ...
        ...      
    }
    POF = 0;  //POF位上电复位是1,可以软件清零,可以判断是“上电复位”,还是“系统复位”。
    while(1)
   {
       //主循环处理
       ...
   }
}

提示:
     1.单片机ISP CODE(引导程序)不能破坏寄存器数据。
     2.建立项目时,最好不要加Startup.a51。
     3.82系列还有WRF标志位,判断是否是看门狗引起复位。
suoma 发表于 2009-9-18 19:42 | 显示全部楼层
这个还是比较容易理解,谢了
laslison 发表于 2009-9-23 13:59 | 显示全部楼层
抗干扰问题和软件也有关系啊?
SpaceBird 发表于 2009-9-23 15:30 | 显示全部楼层
有些干扰是不会损伤IC本身,但是RAM的数据可能会被修改,软件也是可以做些保护措施来达到抗干扰的目的.
huamunv 发表于 2009-9-24 14:05 | 显示全部楼层
哦,学习学习!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

74

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部