MSP430 G2553 低功耗模式LPMx

发布者:cxd88988最新更新时间:2022-04-21 来源: eefocus关键字:MSP430  G2553  低功耗模式 手机看文章 扫描二维码
随时随地手机看文章

MSP430除了正常运行时的active模式外,还支持五种低功耗模式(Low-power mode),分别为LPM0、LPM1、LPM2、LPM3、LPM4,由状态寄存器中的CPUOFF、OSCOFF、SCG0、SCG1比特位设置。


六种模式对应的时钟状态为:

其中,LPM3、LPM4比较常用,对低功耗的贡献也最大。LPM3模式关闭了DCO、CPU,从而MCLK、SMCLK无法工作,ACLK(来源为LFXT1或VLO)可以正常工作并用于系统的定时唤醒。LPM4模式下所有内部时钟信号都关闭,系统只能由外部中断唤醒。几种模式的功耗情况大致如下图所示:

io430g2553.h头文件中已经宏定义好了几种模式的实现语句:

#define LPM0      __bis_SR_register(LPM0_bits)     /* Enter Low Power Mode 0 */

#define LPM0_EXIT __bic_SR_register_on_exit(LPM0_bits) /* Exit Low Power Mode 0 */

#define LPM1      __bis_SR_register(LPM1_bits)     /* Enter Low Power Mode 1 */

#define LPM1_EXIT __bic_SR_register_on_exit(LPM1_bits) /* Exit Low Power Mode 1 */

#define LPM2      __bis_SR_register(LPM2_bits)     /* Enter Low Power Mode 2 */

#define LPM2_EXIT __bic_SR_register_on_exit(LPM2_bits) /* Exit Low Power Mode 2 */

#define LPM3      __bis_SR_register(LPM3_bits)     /* Enter Low Power Mode 3 */

#define LPM3_EXIT __bic_SR_register_on_exit(LPM3_bits) /* Exit Low Power Mode 3 */

#define LPM4      __bis_SR_register(LPM4_bits)     /* Enter Low Power Mode 4 */

#define LPM4_EXIT __bic_SR_register_on_exit(LPM4_bits) /* Exit Low Power Mode 4 */


示例

利用MSP430G2553 Timer0_A,产生频率为1Hz的方波,驱动LED进行显示。系统除了中断处理外,其余时间都处于LPM3模式。LPM3下时钟源只能使用ACLK,而ACLK的来源为LFXT1或VLO。G2 Launchpad随板提供了一个32.768k的晶体,若使用LFXT1,则需要将该晶体焊接到板子上。此例子中VLO作为ACLK的时钟源。

VLO的主要问题是不够精准。从MSP430G2553手册可以看出,VLO频率范围为4kHz~20kHz,且受温度、供电电压影响较大。

虽然手册给出的VLO典型值为12kHz,以下程序实测方波频率为约0.84~0.85kHz,即实际VLO的频率为约10kHz。

 1 #include "io430.h"

 2 

 3 #define LED1 BIT0 //red

 4 #define LED2 BIT6 //green

 5 

 6 void main(void)

 7 {

 8   // Stop watchdog timer to prevent time out reset

 9   WDTCTL = WDTPW + WDTHOLD;

10   

11   P1OUT = LED1;

12   P1DIR |= LED1+LED2;

13   

14   BCSCTL1 = CALBC1_1MHZ; //Running at 1MHz

15   DCOCTL = CALDCO_1MHZ;

16   

17   BCSCTL3 |= LFXT1S_2; //ACLK source: VLO; VLO typical freq = 12kHz

18   BCSCTL1 |= DIVA_2; //ACLK = VLO divided by 4: typical 3kHz

19   

20   TA0CCR0 = 1500 - 1;//overflow freq = 3000/(TACCR0+1) = 2Hz (500ms) 

21   TA0CCTL0 = CCIE; //enable interrupt

22   TA0CTL = TASSEL_1 + MC_1 +TACLR; //ACLK, no divide, up mode ,clear timer

23   //the actual overflow period measured: 585~595ms -> VLO freq is ~10k

24   //so the VLO is not very accurate.

25   

26   __enable_interrupt();

27   LPM3; //enter the low-power mode 3

28   

29 }

30 

31 //ISR

32 #pragma vector = TIMER0_A0_VECTOR

33 __interrupt void CCR0_ISR(void)

34 {

35     //TA0CCR0 flag clearing is automatic

36     P1OUT ^= LED1 + LED2;

37 }


关键字:MSP430  G2553  低功耗模式 引用地址:MSP430 G2553 低功耗模式LPMx

上一篇:MSP430学习笔记-时钟篇
下一篇:MSP430 G2553 计时/计数器 Timer_A

推荐阅读最新更新时间:2024-11-11 15:40

MSP430单片机1602液晶60秒计时程序
MSP430 单片机 1602液晶60秒计时程序 //************************************************************** // P3BIT5接RS)-- (BIT7接NE)-- (BIT6接RW) // P4口送数据 // // 08-6-27 //***************************************************** #include msp430x22x4.h unsigned char table = 0123456789 ; unsigned char a=0,b
[单片机]
内置T6963C液晶显示模块在MSP430中的控制技术
0 概述 MSP430系列单片机是TI公司推出的一种采用精简指令集(RISC)结构的16位超低功耗单片机,适合用于一些电池供电的便携式低功耗产品。T6963C是一种液晶显示驱动控制器,常被装配在图形液晶显示模块上,以内置控制器式图形液晶显示模块的形式出现。它不仅具有一股液晶显示器所具有的抗干扰能力强、体积小、接口控制方便等优点,而且还具有其特有的硬件初始值设置功能。 本文采用了内置T6963C控制器的液晶显示模块SYB240128A作为显示器件,在简单介绍T6963C控制器及其组成的液品显示模块的基础上,介绍了由MSP430F149单片机控制的液晶显示模块的硬件接口电路及软件实现方法。 1 硬件设计 1.1 MSP430F
[单片机]
内置T6963C液晶显示模块在<font color='red'>MSP430</font>中的控制技术
MSP430系列教程(二) IO口操作及外部中断
以下内容基于MSP430F169。 MSP430 IO口操作 MSP430的IO口操作比较简单,只有DIR,OUT,IN,SEL几个寄存器。每一组IO口都有各自对应的寄存器,比如P1DIR,P1OUT,P1IN,P1SEL控制P1.0~P1.7八个IO口。 输入/输出控制寄存器PxDIR Bit = 0:对应的IO口设置为输入 Bit = 1:对应的IO口设置为输出 输入数据寄存器PxIN(只读) Bit = 0:对应的IO口输入为低电平 Bit = 1:对应的IO口输入为高电平 输出数据寄存器PxOUT Bit = 0:对应的IO口输出设置为低电平 Bit = 1:对应的IO口输出设置为高电平 功能选择寄存器
[单片机]
<font color='red'>MSP430</font>系列教程(二) IO口操作及外部中断
基于MSP430F149与GTM900C实现全自动电饭锅远程控制系统设计
引言 随着物联网和软件技术的快速发展,轻松便捷的煮饭方式越来越受人们青睐,智能、环保、节能型高端电饭锅将会成为未来备受瞩目的商品,特别是可远程控制的全自动智能电饭锅将会成为未来发展的方向。 目前国内外对智能家居的技术研究较多,多数是用无线数据传输技术实现,但系统设计成本高。而对电饭锅的全自动化技术研究则少之有少,没有引起人们的重视。本文改造了传统的电饭锅,设计了可全自动化控制的电饭锅,并采用GPRS模块,普通手机等简单、廉价的设备开发出了一款可靠性较好的远程电饭锅控制系统,能使电饭锅及时、适量、准确的为人们做饭。 1系统的硬件构成及原理 系统总体框图如图1所示,设计采用的是模块化的设计思想,有利于系统的组装和调试,缩短开发
[单片机]
基于<font color='red'>MSP430</font>F149与GTM900C实现全自动电饭锅远程控制系统设计
基于MSP430低功耗RF/红外控制器的设计
  0 引言   在智能化家居控制系统应用中,无线通信和控制已经越来越广泛地被运用。为了实现对居室电器设备的集中无线控制,可采用电话遥控、手持遥控器进行远程或短距离的无线控制,但所控制和传输的信号都是RF信号。然而有些被控对象本身是用红外信号遥控的,例如电视机、空调,由于各种品牌的空调都有自己的红外编码信号,相互不能通用,这就给智能化家居控制系统中红外遥控器的集中无线控制带来了极大的不便。本文就基于MSP430的低功耗RF/红外控制器的设计与实现进行介绍。   1 工作原理   大多数红外遥控信号的输出都是用编码后串行数据对38~40KHz的方波进行脉冲幅度调制而产生的PWM信号,如图1所示。各种品牌的红外遥控器的编码信号互不
[单片机]
基于<font color='red'>MSP430</font>的<font color='red'>低功耗</font>RF/红外控制器的设计
基于MSP430F149单片机的直流电子负载设计
摘要鉴于电子负载在电源设备测试中的广泛应用,研制了一台以MSP430F149单片机为核心处理器的直流电子负载。单片机MSP430F149内设ADC12模块对负载电压、电流信号实时采样,并外设10位D/A转换芯片TLC5615输出模拟电压信号驱动MOS管,内部控制采用BP神经网络算法,实现定电流、定电压、定电阻和定功率4种工作模式。经安装测试,系统调整时间 3 s,电压电流测量误差均 ±0.5%,且跟踪速度快、测量精度高,并具有一定的经济实用价值。 在电子、通信、能源等领域中,需要对电源稳压器、蓄电池和功率电子元件等设备进行测试。在进行传统的负载测试时,需要用电阻、电容和电感或是其串并联组合来模拟实际负载情况,该测试方法其负载调
[单片机]
基于<font color='red'>MSP430</font>F149单片机的直流电子负载设计
模数转换器ADS112C04
#define ADD_ADS112C04_write 0x80 #define ADD_ADS112C04_read 0x81 #define START 0x08 #define POWERDOWN 0x02 #define RDATA 0x10 #define RESET 0x06 #define WREG_0 0x40 #define WREG_1 0x44 #define WREG_2 0x48 #define WREG_3 0x4c #define RREG_0 0x20 #define RREG_1 0x24 #define RREG_2 0x28 #define RREG_3 0x2c
[单片机]
msp430AD采集数据记录及分析
1、利用先锋脉冲数据采集模拟程序对实现板进行测试, 其中测试管脚的信号为:周期为2.4S 高电平时间为0.3s 设置AD时:P6SEL |= 0x08; ADC12CTL0 = ADC12ON+MSC+REFON+REF2_5V + SHT0_8; ADC12CTL1 = SHP + CONSEQ_2 + ADC12SSEL_3 +ADC12DIV_7; ADC12MCTL0 = SREF_1 + INCH_3; ADC12IE = 0X01; ADC12CTL0 |= ENC; ADC12CTL0 |= ADC12SC; 即采
[单片机]

推荐帖子

缓启电路,快来看我的AD16
上次在坛子里面看到某个大大贴的一篇帖子讲的是用mos管来做电源反接保护。刚好我有个板子需要这个功能。顺带需要做个电压缓启电路,就是上电后,让电压缓慢升高当时没收藏那片帖子,现在又找不到了,这里就把图贴出来让大家给我看看,这个图能不能实现那个功能啊?如果需要预防自激震荡,该怎么做?缓启电路,快来看我的AD16Q1是怎么回事?画的是N沟道,标的型号却是P沟道 版主好,si2302是n的建議rj1=22k,cj1=10uf,3樓有datasheet,必要時可以加個rgd
yl20084784 模拟与混合信号
跪求proteus7自动关闭的问题
我不知道为什么,每次用proteus的时候,都会出现自动关闭的情况,导致我根本无法用它做东西,看了很多论坛,有好多人都出现这种情况。。。求哪位大神指教啊。。。跪求proteus7自动关闭的问题看看这个:https://bbs.eeworld.com.cn/thread-291355-1-1.html先谢过啦。。我这就安装试试看回复沙发xu__changhua的帖子
snail-fly 单片机
evc 下使用adoce3.1 访问数据库编译通不过 求助
我在evc下编写使用adoce3.1访问sqlce数据库的程序,按照adoce访问的顺序创建connection出错,使用CoInitializeEx()函数报错:sqlcedemoDlg.obj:errorLNK2019:unresolvedexternalsymbol__imp__CoInitializeExreferencedinfunctionprotected:virtualint__thiscallCSqlcedemoDlg::OnInitDia
yuchuang15 嵌入式系统
VxWorks实时操作系统-VxWorks系统培训教材
教材简单介绍:课程设计------------------------------------------------培训分四个部分进行讲解:嵌入式实时操作系统VxWorks。VxWorks操作系统功能和使用方法。如何使用VxWorks搭建嵌入式系统。如何测试基于VxWorks的嵌入式设备以及案例分析。-------------------------------------------------课程介绍-----------------------------------
zhaonaiqiang 实时操作系统RTOS
怎么用115200的波特率传输?
我用的是11.0592的频率上网查了很多资料,说用AT89S52的芯片用T2可以达到但我不知道T2初始化的程序,谁能给个出来?另外,初始化的参数怎么求呢?怎么用115200的波特率传输?不都是那个流程?选时钟源配置定时器装载定时值(可计算)启动定时器原来是求参数的,仔细算一下,应该不难,是可以实现的,根据公式波特率=Fosc/时钟数/(定时器溢出值-初值)/(32/2**SMOD)要计算最大波特率,则SMOD=1,(定时器溢出值-初值)最小=1,则波特率
kknd21cn 嵌入式系统
EMC测试基本环境要求-ISO 7637-2:2004
标准编号:ISO7637-2:2004标准名称:RoadvehiclesElectricaldisturbancesfromconductionandcouplingPart2:Electricaltransientconductionalongsupplylinesonly一般环境要求:4.2TesttemperatureandtestvoltageTheambienttemperatureduringthetest
JackIeLc 汽车电子
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved