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

MSP430学习笔记-低功耗模式

发布时间:2020-12-28 发布时间:
|

在中断处理子程序中可以间接访问堆栈数据从而修改这些控制位;在中断返回后单片机会以另一种功 耗方式继续运行。各控制位的功能如下: 

SCG1:当 SCG1 复位时,使能 SMCLK; 
当 SCG1 置位时则禁止 SMCLK。 
SCG0:当 SCG0 复位时,直流发生器被激活; 
只有当 SCG0 置位且 DCOCLK 信号未用于 MCLK 或 SMCLK,直流发生器才被禁止。 
(编者按:直流发生器为 BCS 中的 DC Generator,也有翻译成数控发生器) 
注意:当电流关闭时(SCG=0),DCO 的下次启动会有一些微秒级的延迟。 
OscOff:当 OscOff 复位时,LFXT 晶体振荡器被激活; 
当 OscOff 被置位且不用于 MCLK 或 SMCLK,LFXT 晶体振荡器才被禁止。 
CPUOff:当 CPUOff 复位时,用于 CPU 的时钟信号 MCLK 被激活; 
当 CPUOff 置为,MCLK 停止。

工作模式控制位CPU 状态、振荡器及时钟
活动模式(AM)SCG1=0, SCG0=0, OscOff=0, CPUOff=0CPU 处于活动状态,MCLK 活动,SMCLK 活动,ACLK 活动
低功耗模式 0 (LPM0)SCG1=0 ,SCG0=0 ,OscOff=0 ,CPUOff=1CPU 处于禁止状态,MCLK 禁止,SMCLK 活动,ACLK 活动
低功耗模式 1 (LPM1)SCG1=0 ,SCG0=1 ,OscOff=0 ,CPUOff=1CPU 处于禁止状态,若 DCO 未用作 SMCLK 或 MCLK,则自流,发生器禁止,否则任保持活动。MCLK 禁止;SMCLK 活动;ACLK 活动
低功耗模式 2 (LPM2)SCG1=1 ,SCG0=0 ,OscOff=0 ,CPUOff=1 ,CPU 处于禁止状态若 DCO 未用作 SMCLK 或 MCLK,则 DCO自动被禁止。MCLK 禁止;SMCLK 禁止;ACLK 活动
低功耗模式 3 (LPM3)SCG1=1 ,SCG0=1 ,OscOff=0 ,CPUOff=1CPU 处于禁止状态,DCO 被禁止;自流发生器被禁止。,MCLK 禁止;SMCLK 禁止,ACLK 活动
低功耗模式 4 (LPM4)SCG1=ⅹ,SCG0=ⅹ,OscOff=1 ,CPUOff=1CPU 处于禁止状态,DCO 被禁止;自流发生器被禁止。所有振荡器停止工作。MCLK 禁止;SMCLK 禁止;ACLK 活动

低功耗模块函数

进入 LPM0 模式,可以通过调用__low_power_mode_0();函数来完成。 
进入 LPM1 模式,可以通过调用__low_power_mode_1();函数来完成。 
进入 LPM2 模式,可以通过调用__low_power_mode_2();函数来完成。 
进入 LPM3 模式,可以通过调用__low_power_mode_3();函数来完成。 
进入 LPM4 模式,可以通过调用__low_power_mode_4();函数来完成。 
退出 LPM 模式,则调用__low_power_mode_off_on_exit();来实现。

低功耗应用原则

最大化 LMP3 的时间,用 32.768KHZ 晶振作为 ACLK 时钟,DCO 用于 CPU 激活后突发短暂运行。 

用接口模块代替软件驱动功能 

用中断控制程序运行。 

用可计算的分支代替标志位测试产生的分支。 

用快速查表代替冗长的软件计算。 

避免频繁的子程序和函数调用。 

在必要时才开启外围模




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

热门文章 更多
C8051F020的UART