当体系时钟产生器根本功能树立之后,CPU内状况寄存器SR的SCG1,SCG0,CPUOFF,OSCOFF位是重要的低功耗操控位。只需恣意中止被呼应,上述操控位就被压入仓库保存,中止处理之后,又可康复从前的作业方法。在中止处理子程序履行期间,经过直接拜访仓库数据,能够操作这些操控位;这样答应程序在中止回来(RETI) 后,以另一种功耗方法持续运转。
各操控位的效果如下:
SCG1: 复位,使能SMCLK;置位,制止SMCLK。
SCG0:复位,激活直流产生器,只要SCG0置位,而且DCOCLK没有被用作MCLK或SMCLK时,直流产生器才干被制止。
OSCOFF:复位,激活LFXT1,只要当OSCOFF被置位而且LFXT1CLK不用于MCLK或SMCLK时,FLXT1才干被制止;当运用晶体振荡器封闭选项OSCOFF时,需求考虑晶体振荡器的发动设置时刻
CPUOFF:复位,激活MCLK;置位,封闭MCLK。
低功耗的规划技巧问题
1.LPM4:在振荡器封闭形式期间,处理机的一切部件作业中止,此刻的电流耗费最小。此刻只要在体系上电电路检测到低点电平或任一恳求异步呼应中止的外部中止事情时才会重新作业。因此在规划应含有或许需求用到的外部中止才选用这种形式,不然产生不行意料的成果。
2.LPM3:在DC产生封闭期间,只要晶振是活动的。但此刻设置根本时序条件的DC产生器的DC电流被封闭。由于此电路的高阻规划,使功耗被按捺。当从DC封闭到发动DC需求一段时刻(ns~us)
3.LPM2:在此期间晶振和DC产生器是作业的,所以能够完成快速发动
4.LPM1:在此期间振荡器现已作业,所以不存在发动延时问题
_BIS_SR(LPM3_bits)
LPM3
体系呼应中止过程:
1.硬件主动中止服务
a.PC入栈
b.SR入栈
c.中止向量赋给PC
d.GIE、SCG1、CPOOFF和OSCOFF清楚
e.IFG标志位铲除(单源中止标志比方WDTIFG)
2.履行中止处理子程序
3.履行RETI指令
4.SR出栈
5.PC出栈
低功耗使用
void main(void)
{
}
interrupt[WDT_VECTOR]
{
}