×
单片机 > 单片机程序设计 > 详情

PIC系列单片机低功耗模式(SLEEP)

发布时间:2020-08-25 发布时间:
|
一、进入SLEEP

    执行一条"SLEEP"指令即可进入低功耗模式。当进入SLEEP后,WDT被清零,然后重新开始计数。状态寄存器F3K中的PD位被置成"0",TO位置成"1",同时振荡停止(指OSC1 端的振荡电路)。所有的I/O口保持原来的状态。这种工作模式功耗最低。

    为使耗电流最小,进入SLEEP前,应使所有的I/O口处于高电平VDD或低电平VSS,而不应使其处于高阻态,以免产生开关电流损耗。你可以在I/O口加上拉或下拉电阻,或者把I/O口都置成输出态来避免其处于高阻态(浮态)。

    RTCC端亦应置为VDD或VSS(通过上拉或下拉)。
    MCLR必须处于高电平状态。

 

二、唤醒SLEEP

 

    SLEEP可被WDT溢出唤醒;或在MCLR端加低电平唤醒SLEEP。后一种唤醒方法经常用在以下应用场合:在系统主电源掉电,并由后备电源(电池)供电后,执行"SLEEP"指令进入低功耗模式,这样电池就可长时间保持系统数据。当主电源恢复供电时,让其在MCLR产生一低电平唤醒SLEEP,并重新复位。这样需在MCLR端加一外部复位电路,请参考§1.10.5。

    系统上电时,F3的PD被置为"1",而执行"SLEEP"指令后,PD位被置成"0"。所以通过 PD位可以判断系统是从SLEEP模式唤醒而复位,还是上电后的复位。F3中的TO位则可判断当处于SLEEP状态的系统是由WDT溢时唤醒或是由外界给MCLR端一个低电平而唤醒。这些区别有时是很重要的,特别是对系统的一些初始化



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32中断向量表的位置.重定向