微控制器从低功耗模式退出:中断、WDT与复位机制

需积分: 25 18 下载量 66 浏览量 更新于2024-08-09 收藏 9.82MB PDF 举报
"退出空闲和休眠模式-computational ocean acoustics" 本文档主要讲述了在微控制器中如何从空闲和休眠模式退出,并详细介绍了三种主要的退出机制:中断、看门狗定时器超时和复位。这些机制在微控制器的低功耗管理中扮演着关键角色,确保设备在节能状态下仍能及时响应外部事件。 在3.5.1部分,通过中断退出,任何可用的中断源都可以触发设备从空闲或休眠模式返回运行模式。首先,中断源必须被允许,这通常是通过设置INTCON或PIE寄存器的相关位来实现。一旦中断标志被置位,中断退出过程开始,紧随SLEEP指令后的代码会被执行。如果INTCON寄存器的GIE/GIEH位为1,程序会跳转到中断服务例程;否则,代码将继续执行,不执行跳转。 3.5.2部分涉及通过看门狗定时器(WDT)超时退出。当器件处于空闲或休眠模式时,WDT超时会导致退出功耗管理模式。而在执行代码的运行模式中,WDT超时会导致设备复位。WDT定时器和后分频器可以在执行SLEEP指令、CLRWDT指令、当前选定的时钟源失效(如果有故障保护时钟监视器)或修改OSCON寄存器中的IRCF位(如果内部振荡器是时钟源)时被清零。 3.5.3部分,复位是另一种退出方式。无论是空闲还是休眠模式,复位都会使代码从地址0开始重新执行。复位后的延迟时间取决于唤醒前后使用的时钟源和振荡器类型。 最后,在3.5.4部分,提到了在没有振荡器起振延时的情况下退出的情况。在某些模式如PRI_IDLE(主时钟源不停止)或主时钟源不依赖于LP、XT、HS或HSPLL时,不需要振荡器起振延时。尽管如此,唤醒事件后仍然需要固定TCSD间隔的延时,以便CPU准备好执行代码。 这些知识对于理解和使用PIC18F25K22、PIC18F45K22、PIC18LF25K22或PIC18LF45K22等微控制器至关重要,尤其是在设计低功耗系统时。了解如何有效地控制和退出功耗管理模式,可以优化电池寿命和系统性能。