winnie 发表于 2009-5-20 15:32:26

唤醒与复位

PIC系列中,12系列WDT唤醒SLEEP后,回到复位地址,可以通过标志位判断是上电复位还是WDT溢出复位;
其他如16、17系列的,WDT唤醒SLEEP后,是从SLEEP后面一句接着运行的——在这里,WDT仅仅是唤醒,没有复位。
其他的参考LHJ斑竹的旧帖:PIC的SLEEP、GIE及中断响应
如果单片机已经进入SLEEP,即已经执行SLEEP语句,无论GIE=0或GIE=1,这时候能够唤醒CPU的中断后,CPU从SLEEP状态中唤醒,程序都从这一条SLEEP语句之后开始执行:GIE=0,程序继续向下运行;GIE=1,程序在执行完SLEEP语句之后的下一条指令后,跳向中断向量入口处(0004H)去执行中断服务程序,响应中断服务程序之后,返回到SLEEP语句之后的第二条指令执行。
如果单片机未进入SLEEP,GIE=0,CPU不响应中断;GIE=1,CPU响应中断并跳向中断向量入口处(0004H)去执行中断服务程序。
页: [1]
查看完整版本: 唤醒与复位