MSP430学习笔记-低功耗模式

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

低功耗应用原则

n 最大化 LMP3 的时间,用 32.768KHZ 晶振作为 ACLK 时钟,DCO 用于 CPU 激活后突发短暂运行。
n 用接口模块代替软件驱动功能
n 用中断控制程序运行。
n 用可计算的分支代替标志位测试产生的分支。
n 用快速查表代替冗长的软件计算。
n 避免频繁的子程序和函数调用。
n 在必要时才开启外围模

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值