430的低功耗确实很强啊,虽然和VR单片机比起来速度慢了好多。在CPU进行工作时,如果没有什么事情干,就得进入低功耗模式啦,LMPX(0~4)这几种模式的具体事项就是如下的,得记住了。
一,运行模式
MSP430具有一种活动模式和五种软件可选的低功耗运行模式。一个中断事件可以将芯片从五种低功耗模式中的任何一种唤醒,为请求服务并在从中断程序返回时恢复低功耗模式。下面6种运算模式由软件配置。
● 活动模式AM:
-所有时钟活动
● 低功耗模式0(LPM0)
-CPU关闭
ACLK和SMCLK保持活动,MCLK关闭
● 低功耗模式1(LPM1)
-CPU关闭
ACLK和SMCLK保持活动,MCLK关闭
如果DCO在活动模式中没有使用,DCO的直流发生器将关闭
● 低功耗模式2(LPM2)
-CPU关闭
MCLK、FLL+,DCOCLK关闭
DCO的直流发生器保持活动
ACLK保持活动
● 低功耗模式3(LPM3)
-CPU关闭
MCLK、FLL+,DCOCLK关闭
ACLK保持活动
● 低功耗模式4(LPM4)
-CPU关闭
ACLK关闭
MCLK、FLL+,DCOCLK关闭
DCO的直流发生器关闭
晶体振荡器停止
/* Low Power Modes coded with Bits 4-7 in SR */
#ifndef __IAR_SYSTEMS_ICC__ /* Begin #defines for assembler */
#define LPM0 (CPUOFF)
#define LPM1 (SCG0+CPUOFF)
#define LPM2 (SCG1+CPUOFF)
#define LPM3 (SCG1+SCG0+CPUOFF)
#define LPM4 (SCG1+SCG0+OSCOFF+CPUOFF)
/* End #defines for assembler */
#else /* Begin #defines for C */
#define LPM0_bits (CPUOFF)
#define LPM1_bits (SCG0+CPUOFF)
#define LPM2_bits (SCG1+CPUOFF)
#define LPM3_bits (SCG1+SCG0+CPUOFF)
#define LPM4_bits (SCG1+SCG0+OSCOFF+CPUOFF)
#include "in430.h"
#define LPM0 _BIS_SR(LPM0_bits) /* Enter Low Power Mode 0 */
#define LPM0_EXIT _BIC_SR_IRQ(LPM0_bits) /* Exit Low Power Mode 0 */
#define LPM1 _BIS_SR(LPM1_bits) /* Enter Low Power Mode 1 */
#define LPM1_EXIT _BIC_SR_IRQ(LPM1_bits) /* Exit Low Power Mode 1 */
#define LPM2 _BIS_SR(LPM2_bits) /* Enter Low Power Mode 2 */
#define LPM2_EXIT _BIC_SR_IRQ(LPM2_bits) /* Exit Low Power Mode 2 */
#define LPM3 _BIS_SR(LPM3_bits) /* Enter Low Power Mode 3 */
#define LPM3_EXIT _BIC_SR_IRQ(LPM3_bits) /* Exit Low Power Mode 3 */
#define LPM4 _BIS_SR(LPM4_bits) /* Enter Low Power Mode 4 */
#define LPM4_EXIT _BIC_SR_IRQ(LPM4_bits) /* Exit Low Power Mode 4 */
#endif /* End #defines for C */