專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

msp430 Low Power Module

作者:佚名   來(lái)源:不詳   點(diǎn)擊數(shù):  更新時(shí)間:2014年08月31日   【字體:

 #include <msp430x14x.h>

#include "BoardConfig.h"
// P1 中斷服務(wù)子程序
#pragma vector = PORT1_VECTOR
__interrupt void P1_IRQ(void)
{
  P1IFG = 0; // 清除中斷標(biāo)志  
  __low_power_mode_off_on_exit(); // 退出低功耗模式
  P3OUT ^= 0x10;
}
void DelayMs(unsigned int ms)
{
  unsigned char i;
  while(--ms)
  {
    for(i=110;i>0;--i);
  }
}
void main(void)
{
  P1DIR &=0;
  P1DIR |= 0xF0;
  P1OUT|= 0x0F;
  P3DIR |= 0x30;
  P3OUT |= 0xff;
  BoardConfig(0xbF);          
  WDTCTL = WDTPW + WDTHOLD;
  P1DIR &= ~BIT0; // P1.0輸入
  P1IE |= BIT0; // P1.0開中斷
  P1IES |= BIT0; // P1.0下降沿中斷
  _EINT();
  while(1)
  {
    P3OUT &= ~0x20;
    DelayMs(5000);
    _NOP(); // 空語(yǔ)句
    P3OUT |= 0x20;
    __low_power_mode_4(); // 進(jìn)入LPM0模式,LPM4
    //P3OUT |= 0x20;
    // 當(dāng)程序執(zhí)行到上述語(yǔ)句后, 程序會(huì)停止到該語(yǔ)句, 并進(jìn)入低功耗狀態(tài)
    // 當(dāng)P1.0出現(xiàn)下降沿的時(shí)候, 在P1的中斷服務(wù)子程序退出低功耗模式
    // 則會(huì)再次運(yùn)行_NOP();語(yǔ)句, 然后在進(jìn)入底功耗
  }
}
關(guān)閉窗口

相關(guān)文章