第三章 MSP430基本外设-低功耗模式
MSP430系统时钟与低功耗讲义

低频振荡器VLO
内部集成了一个低频振荡器VLO,值是12kHz,频率受温度和 供电电压影响(范围4kHz~20kHz)。 一般用于对频率精度要求不高的场合。
MSP430系统时钟与低功耗
MSP430G2553引脚图
MSP430系统时钟与低功耗
举例
例1:将MSP430G2553的时钟设置为MCLK和SMCLK,且均为8MHz ,ACLK设为32.768kHz。(芯片外接32.768kHz手表晶振) DCOCTL=CALDCO_8MHZ; BCSCTL1=CALBC1_8MHZ;
void main(void) {
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗定时器
GPIO_Init();
//初始化GPIO
_enable_interrupts();
//等同_EINT,使能总中断
while(1)
{
__delay_cycles(1000000); //与CPU时钟相关的长延时
例4:将MSP430G2553的时钟设置:MCLK为4MHZ,SMCLK为2MHZ, ACLK设为32.768kHz.(芯片外接32.768kHz手表晶振) DCOCTL=CALDCO_8MHZ; BCSCTL1=CALBC1_8MHZ; BCSCTL2|=DIVM_1+DIVS_2;
MSP430系统时钟与低功耗
MSP430系统时钟与低功耗
P1OUT ^= BIT0;
//LED亮灭状态改变
P1OUT ^= BIT6;
//LED亮灭状态改变
}
}
MSP430系统时钟与低功耗
void GPIO_Init()
MSP430低功耗

对于嵌入式处理器系统来说,低功耗设计有3个基本原则:工作频率和功耗成反比关系。
工作电压和功耗成正比关系。
工作模块数量和功耗成正比关系。
MSP430系列MCU具有强大的低功耗模式设计。
在不同的低功耗模式下,配置不同的时钟信号来降低CPU及工作模块的工作频率;选择性的关闭暂时不使用模块和相关的时钟信号来降低工作模块的数量以达到降低整机功耗的目的。
MSP430的5xx系列和6xx还支持用户设置内核电压,通过降低内核工作电压来降低功耗。
低功耗模式是MSP430的特色功能,一般情况下,MSP430分为6种工作状态,分别是活动状态(AM)、低功耗模式0(LPM0)、低功耗模式1(LPM1)、低功耗模式2(LPM2)、低功耗模式3(LPM3)和低功耗模式4(LPM4)。
对于5xx系列的产品带实时时钟RTC的信号还具备低功耗模式3.5(LPM3.5)和低功耗模式4.5(LPM4.5)。
根据不同的应用合理地选用低功耗模式可以有效地降低MSP430功耗。
图3-8是MSP430F21x1工作在1MHz对应于AM模式和低功耗模式下的电流消耗。
从图中可以看到低功耗模式下,电流消耗要远小于AM 模式。
下面对各种工作模式做详细的介绍。
MSP430的低功耗模式是通过状态寄存器SR各位的配置来完成的,SR寄存器如表3-6所示。
与低功耗模式相关的是系统时钟控制位(SCG0)和(SCG1)、振荡器关闭/开启位(OSCOFF)和CPU关闭/开启位(CPUOFF)。
SCG0位用于关闭DCO的直流发生器,也就是关闭DCOCLK;SCG1位用于关闭SMCLK;OSCOFF位用于关闭MSP430的振荡器,包括LFXT1和XT2;CPUOFF 位用于关闭CPU。
表3-6 SR寄存器Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit9 Bit8Reserved VBit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0SCG1 SCG0 OSCOFF CPUOFF GIE N Z C5种低功耗模式可以使用表3-7区分,表中显示了5种低功耗模式下,MSP430的时钟信号MCLK(CPU)、SMCLK、ACLK和DCO振荡器的关断状态。
一张图理解msp430f4371的低功耗模式

一张图理解msp430f4371的低功耗模式430有6中工作模式,在此不再累述,C程序中,使430单片机低功耗进入低功耗的语句非常简单,只需一句LPM0/LPM1/LPM2/LPM3/LPM4即可使其进入低功耗状态。
看了一天430的系统时钟模块和低功耗状态,发现最靠谱的东西还是官网数据手则,迷惑了一天,最终一张图片使思维稍微清晰。
图片如下:从上图得到自己的理解,虽然可能有误,但暂时不影响对430单片机的使用:LPM0:CPUoff置位------------------------>;CPU不能用,MCLK不能用,其他一切照旧活动;LPM1:CPUoff置位,SGC0置位----------->;CPU不能用,MCLK不能用,FLL+停止操作,而ACLK和SMCLK正常活动;LPM2:CPUoff置位,SCG1置位----------->;CPU不能用,MCLK、FLL+、DCOCLK不能用,但直流发生器、ACLK正常工作;LPM3:CPUoff置位,SCG1置位,SCG0置位---->;CPU不能用,MCLK,FLL+,DCOCLK,直流发生器不能用,但ACLK不能用;LPM4:CPUoff置位,SCG1置位,SCG0置位,OSCoff置位----->;LPM3的基础上使ACLK也不能用。
作者认为自己理解有误的地方,就是SCG1的控制范围,即其到底是控制直流发生器还是调制器还是控制FLL+的,由于找不到相关资料,只有勉强做如下理解:SCG1置位的时候,调制器不能工作,自然DCOCLK不能用了,同时FLL+也不能工作,但直流发生器是工作的,只有当SCG1和SCG0同时置位的时候直流发生器才停止工作,这个时候甭管FLL+还是DCOCLK都不能工作了,有可能SCG0对直流发生器也有部分控制作用,但不像对FLL+那样完全控制。
以上理解可能有误,但希望真正懂得高手路过此帖的时候请给予指正,在此谢过。
MSP430--低功耗模式

OscOff:复位则LFXT激活,置位且LFXT不用于MCLK或SMCLK时,
LFXT振荡器禁止--对应着ACLK。
CPUOff:复位则MCLK激活,置位则MCLK停止。
解释:
(1)POR:POWERONRESET.上电或复位信号都可以发生POR。
PUC:POWERUPCLEAR.POR可以出发PUC,另外看门狗的事件可以出
发PUC。
(2)AM:全部活动
LPM0:CPUOFF=1,CPU被禁止,即MCLK被禁止。
LPM1:CPUOFF=1,SCG0=1。CPU-MCLK禁止,且若DCO未用做
MCLK或SMCLK,则DCO禁止。
LPM2:CPUOFF=1,SCG1=1。CPU-MCLK禁止,SMCLK禁止。(DCO
未用作MCLK,SMCLK则自动禁止)
LPM3:CPUOFF=1,SCG1=1,SCG0=1.CPU-MCLK禁止,SMCLK禁
止,DCO禁止。
LPM4:CPUOFF=1,SCG1=1,SCG0=1,OSCOFF=1.全部禁止,包括
ACLK也禁止。
5.系统工作原理:单片机各个模块运行完全独立。定时器,IO,AD,看门
狗等都可以在主CPU休眠的状态下独立运行。
short),位于in430.h
同理要清除SR中某一位的话就用_BIC_Βιβλιοθήκη R();IFG标志位清除.
执行中断处理子程序。
执行RETI指令,中断返回。
SR出栈
PC出栈
[cpp]viewplaincopy在CODE上查看代码片派生到我的代码片
voidmain(void)
{
BCSCTL1|=DIVA_2;//ACLK4分频:由LFXT1CLK提供(32kHZ)
MSP430

MSP430MSP430一、上电复位POR 和上电清除PUC二、低功耗控制但系统时钟发生器基本功能建立之后,CPU内的状态寄存器SR中的SCG1、SCG2、OscOff、CpuOff是低功耗的重要控制位;系统工作模式一共有6种,1种活动模式和5种低功耗模式;可以通过设置控制位使MSP430进入低功耗模式,由中断唤醒CPU,在执行完中断服务程序之后再回到低功耗模式,也可以在执行中断程序的时候间接访问堆栈修改状态寄存器的值,这样中断程序执行完之后就会进入另外一种低功耗模式或者处于活动模式。
三、时钟模块(一)、MSP430F149有三个时钟输入源:1、LFXT1CLK:如果LFXTCLK没有作用于SMCLK、MCLK信号,可以用OscOff置位以禁止LFXT1CLK工作;2、XT2CLK:若XT2CLK没有作用于SMCLK、MCLK信号,可以用控制位XT2OFF 关闭XT2;3、DCO振荡器:MSP430F149的两个外部振荡器产生的时钟信号都可以经过1、2、4、8分频后用作系统主时钟MCLK;当外部振荡器失效后,DCO 振荡器会自动被选作MCLK 的时钟源;(二)、MSP430F149提供3三种时钟信号:1、ACLK----辅助时钟,一般用于低速外设,由LFXT1CLK信号分频而得;2、MCLK----系统通过主时钟,一般用于CPU和系统,由以上三个时钟源任意一个分频而得;3、SMCLK---主要用于高速外设,由XT2CLK+XT2CLK 或LFXT1CLK+DCO分频而得。
(三)、如何控制MSP430的DCOCLK频率?——时钟模块的控制由5个寄存器来完成1、DCOCTL:定义8总频率之一2、BCSCTL1:控制XT2CLK的开启与关闭;控制LFXT1CLK的工作模式(低频或高频,高频下需要接高频时钟源);控制ACLK分频。
3、BCSCTL2选择MCLK时钟源;选择MCLK分频;选择SMCLK时钟源;选择SMCLK时钟源分频。
单片机MSP430的极低功耗系统设计

单片机MSP430的极低功耗系统设计<P <B 关键词:极低功耗系统MSP430 低功耗管理<P <B 1 影响系统功耗的主要因素对于一个数字系统而言,其功耗大致满足以下公式:P=CV2f,其中C为系统的负载电容,V为电源电压,f为系统工作频率。
由此可见,功耗与电源电压的平方成正比,因此电源电压对系统的功耗影响最大,其次是工作频率,再就是负载电容。
负载电容对设计人员而言,一般是不可控的,因此设计一个低功耗系统,应该考虑到不影响系统性能前提下,尽可能地降低电源的电压和使用低频率的时钟。
下面对TI公司新出MSP430来具体探讨这个问题。
2 基于MSP430极低功耗系统的设计MSP430具有工业级16位RISC,其I/O和CPU可以运行在不的时钟下。
CPU功耗可以通过开关状态寄存器的控制位来控制:正常运行时电流160μA,备用时为0.1μA,功耗低,为设计低功耗系统提供了有利的条件。
图1是我们设计的以MSP430为CPU的“精密温度测试仪”(下面简称测试仪)。
该产品使用电池供电,体积小巧,携带方便。
(1)电源电压在使用时应该尽可能地选择最低的电源电压。
对于MSP430而言,可用的最低电压是很低的,最低可达1.8V。
我们使用TI公司推荐使用的3V。
通常的电源只提供5V 电压,因此,需要将5V电压由一个3V的稳压管降压后给CPU供电,也可以直接锂电池供电。
3V不是标准的TTL电平,因此,在使用时需要用接口电路使CPU的非TTL标准电平能与TTL标准电平的器件连接。
这些接口电路应该也是低功耗的,否则会造成一方面使用低电压降低了功耗,另一个方面使用额外的接口电路又增加了系统的功耗。
或者直接使用支持3V电压的外围芯片。
(2)时钟频率从低功耗的角度看,需要较低的频率,但是在实时应用中为了快速响应外部事件又需要有比较快的系统时钟。
这就需要系统具有两个高低不同的频率,在需要的时候可以在两个频率之间进行切换。
MSP430低功耗设计

1、将不用的I/O 引脚设置为高或者低状态,不要让其悬空。
2、在不需要运行时间严格要求的任务,如UART通信或精密脉冲时钟时序等,尽可能使用内部时钟,这通常是低功耗的首选。
3、关断所有不使用的外设:如PWM模块、AD转换器等等。
4、尽可能在程序代码中使用查找表,而不是让CPU去计算结果。
5、检查所有外部元器件功耗,减少驱动外设,如EEPROM或者外部模拟电路的I/O 数目。
6、尽可能采用低功耗的器件或电路设计。
比如,低功耗场合能不用LED尽可能不要用,声响的电路也是一样。
7、尽可能选择带有关闭功能的器件,比较运放、R232 电路、逻辑电路等等...在不必要的时候使其关闭。
8、在显示方便也要选择低功耗的显示方式,比如采用LCD片,而不要用LCD模块。
或采用LCD模块时将背光关掉。
9、一些常用开关晶体管由三极管改为MOSFET管。
10、有可能的话,不要选择小阻值分压;这样同样可减少功耗。
按键上接电阻同样可以选择大点。
对于模拟前端部分可能不太适合,因为当用高精度ADC时,电阻值越大热噪声就会越大。
所以这做法不适宜用在高精度ADC前端。
11、关于MSP430的IO 处理,我个人的理解是可以空着,并设置为输入。
因为设置为输入时IO 处理高阻态,IO 的漏电流只有50nA。
12、能不用LDO 尽可能不要用LDO,因为线性电源器件会带功耗上的增加。
确实没办法了可以选择CMOS型的LDO器件。
或采用高效的DC/DC电源管理电路,以提高效能利用。
13、要了解MSP430的4种不同模式下的时钟与模块使用情况,这样你才控制好整个设计的功耗管理。
14、若不是很需要很高精度的时钟的话尽可能不要外部晶振,尽可能使用内部的DCO作为MCLK。
当程序中需要在串口时,这时可以开启所需的时钟源以得到精度的波特率,不用时则要关闭掉时钟和串口模块。
如果不是高速响应处理任务的话尽可能不要用选择外部晶体时钟作为MCLK。
15、在进入低功耗模式前,尽可能将MCLK改为DCO模式。
MSP430低功耗模式初识

MSP430低功耗模式:工作频率越低,工作电压越低,工作模块越少MCU功耗越少MCLK:系统主时钟一般为8MHz,供CPU和系统使用;SMCLK:子系统时钟32—768KHz,供外围模块使用;ACLK:辅助子时钟,由LFXT1CLK产生,提供外围模块使用DCO:整合的高速数控振荡器,用于CPU和高速外围设备的主时钟源状态寄存器SR的低功耗控制位:SCG1:系统时钟发生器控制位1(System clock generator 1)置1时关闭SMCLKSCG0:系统时钟发生器控制位0(System clock generator 0)置1时关闭DC发生器OSCOff:晶振控制位(Oscillator Off Bit)置1时关闭LFXT1振荡器CPUOff:CPU控制位(CPU Off Bit)置1时关闭MCLK,此时除了RAM内容、端口、寄存器保持外,CPU处于停止状态,由中断将CPU从此状态唤醒。
1.MSP430内部各模块运行是完全独立的:TA、TB、I/O端口、A/D、WDT等均可在CPU休眠的状态下独立运行,各个片内模块也可通过禁止相应寄存器中的控制位关闭。
2.只要改变了SR中的模式控制位,工作模式也立即改变;有关的模块也因为相应的时钟源禁止而被关闭。
3.改变模式不影响所有的I/O引脚及RAM/寄存器的值。
低功耗模式的进入与退出:在AM模式下。
按低功耗模式设定SR中的控制位,MSP430就进入设定的低功耗模式。
任意中断均可以唤醒处于低功耗模式的MSP430,即切换到AM活动模式。
低功耗退出过程:当处于低功耗模式下的MSP430,有N类型号的非屏蔽或可屏蔽中断源产生,满足响应条件,CPU由硬件完成下面的操作:1.入栈保护当前PC2.入栈保护当前SR3.清零SR(置GIE=0,屏蔽可屏蔽中断,并结束低功耗模式,切换到活动模式)4.从中断向量表取中断向量至PC5.转去执行中断服务程序同样的,中断程序执行完毕,执行到RETI返回指令时:1.出栈恢复SR和PC的值2.因为回复了SR的值,使MSP430回到原来的低功耗模式!如果希望改变MSP430返回的低功耗模式时,需要在中断响应程序中修改堆栈中的SR控制位的值,使MSP430进入活动模式或其它低功耗模式进入低功耗模式:汇编语言:BIS.W #LPMn,SRC语言:_BIS_SR(LPMn_bits); 或者LPMn。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§3.2 单 片 机 技 术 与 应 用
低功耗模式
MSP430单片机能够实现低功耗的根本原因是在不同 的低功耗模式下关闭不同的系统时钟,关闭的系统时 钟越多休眠模式越深。 通过CPU状态寄存器SR中的SCG1、SCG0、 OSCOFF和CPUOFF这4个控制位的配置来关闭系统 时钟,使MSP430单片机从活动模式进入到相应的低 功耗模式。再通过中断方式从各种低功耗模式回到活 动模式。
任意中断均可唤醒处于低功耗模式的MSP430,使 MSP430切换到AM活动模式,即退出低功耗模式 。
单 片 机 技 术 与 应 用
在低功耗模式下,所有的I/O引脚和RAM寄存器将保 持不变。可以通过开中断后用中断事件来唤醒LMP0 到LMP4。
系统响应中断的过程
硬件自动中断当前服务
PC入栈 SR入栈 中断向量赋给PC GIE、CPUOFF、OSCOFF和SCG1清除 IFG标志位清除(单源中断标志)
单 片 机 技 术 与 应 用
在上述处理过程中,堆栈的变化情况,如下图所示:
堆栈初始状态
入栈时PC和SR
出栈前PC和SR
例:如果期待主程序在中断返回之后继续执行某些操
单 片 机 技 术 与 应 用
作,可以在中断处理子程序中改变SR的值为活动模式
; 主程序 …..; 初始化操作开始 …… ……; 初始化完毕 BIS #GIE+CPUOFF,SR ; 主程序中设置低功耗模式0 L1; 操作1 L2; 操作2 …… ; 中断子程序 ……; 中断处理开始 …… ……;中断处理结束 BIC #0000h,0(SP); 设置SR为活动模式 RETI; 中断返回,系统进入活动模式 ……
CPU和时钟状态 CPU活动MCLK活动 SMCLK活动ACLK活动 DCO可用 FLL可用 CPU禁止MCLK禁止 SMCLK活动ACLK活动 DCO可用 FLL可用 CPU禁止MCLK禁止 SMCLK活动ACLK活动 DCO可用 FLL禁止 CPU禁止MCLK禁止 SMCLK禁止ACLK活动 DCO可用 FLL禁止 CPU禁止MCLK禁止 SMCLK禁止ACLK活动 DCO可用FLL禁止 CPU禁止 所有时钟禁止
唤醒中断源 定 时 器 、 ADC 、 DMA 、 UART 、 WDT 、 I/O 、比较器、外部中断、 RTC、串行通信、其他外设 定 时 器 、 ADC 、 DMA 、 UART 、 WDT 、 I/O 、比较器、外部中断、 RTC、串行通信、其他外设 定 时 器 、 ADC 、 DMA 、 UART 、 WDT 、 I/O 、比较器、外部中断、 RTC、串行通信、其他外设 定 时 器 、 ADC 、 DMA 、 UART 、 WDT 、 I/O 、比较器、外部中断、 RTC、串行通信、其他外设 定 时 器 、 ADC 、 DMA 、 UART 、 WDT 、 I/O 、比较器、外部中断、 RTC、串行通信、其他外设 复位信号、外部中断
单 片 机 技 术 与 应 用
进入和退出低功耗模式(LPMx.5)
当进入LPMx.5(LPM3.5和LPM4.5)模式时,电源管 理模块(PMM)的电压调节器也停止工作。所有的 RAM、寄存器及I/O口的配置数据都将丢失,所有的 I/O口被锁定在当前状态。 LMP4.5可以通过上电、复位或具体的I/O口来唤醒。 在LPM3.5模式下,除了可以用LPM4.5模式下的唤醒 事件外,还可用RTC唤醒事件来唤醒。 从LPMx.5模式下退出都会产生一次BOR事件。因此, 在退出LPMx.5模式后,I/O口的状态将一直保持锁定 状态直到应用程序解除锁定,用户应根据需要重新配 置芯片。
例:系统初始化完毕之后工作于低功耗模式0,中断
单 片 机 技 术 与 应 用
事件触发到活动模式,中断处理结束后进入到低功 耗模式3。
; 主程序 …..; 初始化操作开始 …… ……; 初始化完毕 BIS #GIE+CPUOFF,SR ; 主程序中设置低功耗模式0 …...; 主程序在这里停止 ; 中断子程序 ……; 中断处理开始 …… ……;中断处理结束 BIS #GIE+CPUOFF+SCG1+SCG0,0(SP); 设置SR为低功耗模式3 RETI; 中断返回 ; 系统进入低功耗模式3 ……
7 6 5 4 3 SCG1 SCG0 OSCOFF CPUOFF GIE
单 片 机 技 术 与 应 用
§3.2.2 进入和退出低功耗模式
在活动模式下,按低功耗模式设定SR中的控制位 ,MSP430就进入设定的低功耗模式,此时CPU 寄存器的值保持不变,有关的模块也因为相应的 时钟源被禁止而被关闭。
§3.2 单 片 机 技 术 与 应 用
低功耗模式
MSP430系列单片机最主要的特征就是低功耗,该特 性适合应用于采用长时间电池供电的工作场合。
• MSP430系统使用不同的时钟信号:ACLK、MCLK和 SMCLK。这3种不同频率的时钟输出给不同的模块,从而 更合理地利用系统的电源,实现整个系统的超低功耗。 • MSP430单片机具有7种低功耗模式(LPM0~4、LPM3.5 和LPM4.5,后两种模式并非全部系列都具有),通过不同 程度的休眠,可降低系统功耗。
单 片 机 技 术 与 应 用
活动模式 (AM) 低功耗模式0 (LPM0) 低功耗模式1 (LPM1) 低功耗模式2 (LPM2) 低功耗模式3 (LPM3) 低功耗模式4 (LPM4) 低功耗模式3.5 (LPM3.5) 低功耗模式4.5 (LPM4.5)
SCG1=1, SCG0=1, 当PMMREGOFF = 1,无 OSCOFF=1, RAM保持,RTC可以启用 CPUOFF=1 (仅限MSP430F5xx)
低功耗模式定义
单 片 机 技 术 与 应 用
#define #define #define #define #define
LPM0_bits LPM1_bits LPM2_bits LPM3_bits LPM4_bits
(CPUOFF) (SCG0+CPUOFF) (SCG1+CPUOFF) (SCG1+SCG0+CPUOFF) (SCG1+SCG0+OSCOFF+CPUOFF)
§3.2.1 低功耗工作模式
单 片 机 技 术 与 应 用
工作模式、控制位 和时钟的活动状态 之间的相互关系。
标志位 设置
表示中断
该模式下哪些 时钟关闭,哪 些时钟开启
工作模式
控制位 SCG1=0, SCG0=0, OSCOFF=0, CPUOFF=0 SCG1=0, SCG0=0, OSCOFF=0, CPUOFF=1 SCG1=0, SCG0=1, OSCOFF=0, CPUOFF=1 SCG1=1, SCG0=0, OSCOFF=0, CPUOFF=1 SCG1=1, SCG0=1, OSCOFF=0, CPUOFF=1 SCG1=1, SCG0=1, OSCOFF=1, CPUOFF=1
§3.2.3 低功耗应用原则
单 片 机 技 术 与 应 用
一般的低功耗原则
用中断控制程序运行。 用可计算的分支代替标志位测试产生的分支。 用快速查表代替冗长的软件计算。 在冗长的软件计算中使用单周期的CPU寄存器。
避免频繁的子程序和函数调用。
尽可能直接用电池供电。
§3.2.3 数
__bis_SR_register(LPM0_bits); 或LPM0; // 进入低功耗模式0 __bis_SR_register(LPM1_bits); 或LPM1; // 进入低功耗模式1 __bis_SR_register(LPM2_bits); 或LPM2; // 进入低功耗模式2 __bis_SR_register(LPM3_bits); 或LPM3; // 进入低功耗模式3 __bis_SR_register(LPM4_bits); 或LPM4; // 进入低功耗模式4 __bic_SR_register_on_exit(LPM0_bits);或LPM0_EXIT; // 退出低功耗模式0 __bic_SR_register_on_exit(LPM1_bits);或LPM1_EXIT; // 退出低功耗模式1 __bic_SR_register_on_exit(LPM2_bits);或LPM2_EXIT; // 退出低功耗模式2 __bic_SR_register_on_exit(LPM3_bits);或LPM3_EXIT; // 退出低功耗模式3 __bic_SR_register_on_exit(LPM4_bits);或LPM4_EXIT;// 退出低功耗模式4 __bis_SR_register(LPMx_bits + GIE);// 常用,进低功耗模式x,启用中断(x=0~4)
单 片 机 技 术 与 应 用
在设计外设时还有一些常规原则
将不用的FETI输入端连接到VSS。 JTAG端口TMS、TCK和TDI不要连接到VSS。 CMOS输入端不能有浮空节点,将所有输入端接适 当的电平。
不论对于内核还是对于各外围模块,选择尽可能低 的运行频率,如果不影响功能应设计自动关机。
SCG1、SCG0、 OSCOFF、CPUOFF
活动模式
中断
低功耗模式
单 片 机 技 术 与 应 用
§3.2
低功耗模式
注意:在任何一种低功耗模式下,CPU都被关闭,程序将停止 执行,直到被中断唤醒或单片机复位。因此在进入任何一种低 功耗模式之前,都必须设置好唤醒CPU的中断条件、打开中断 允许位、等待被唤醒,否则程序将有可能永远停止运行。 另外,MSP430的瞬间响应特性是系统超低功耗事件驱动方 式的重要保证。
SCG1=1, SCG0=1, 当PMMREGOFF = 1,无 OSCOFF=1, RAM保持,RTC禁止(仅 CPUOFF=1 限MSP430F5xx)