zoukankan      html  css  js  c++  java
  • MSP430主系统时钟以及430的低功耗设置

    如何将系统时钟设置到外部高频晶体振荡器,430的MCLK默认的是DCO的,如何安全的从DCO切换到外部晶体振荡器,这是一个很重要的步骤,因为经过此步骤,可以极大地提高430的处理能力,DCO在内部,可以为cpu提供强劲稳定的时钟

    #include <msp430x14x.h>
    
    void  main( void )
    {
      // Stop watchdog timer to prevent time out reset
      WDTCTL = WDTPW + WDTHOLD;
       
      volatile unsigned int i;
      P5DIR |=BIT4;//设置P5.4为输出
      P5SEL |=BIT4;//设置片内主系统时钟的输出
     
      //由这段代码设置如何将DCO切换到高频晶体振荡器
      BCSCTL1 &=~XT2OFF;//~0x80
      do
      {
          IFG1 &=~OFIFG;//OFIFG为1表示外部晶体振荡器失效
          for(i = 0xff;i>0;i--);//IFG1是Interrupt Flag 1
      }
      while((IFG1 & OFIFG));//表示振荡器已经起振
      BCSCTL2 |= SELM_2;//#define SELM_2  (0x80)   /* MCLK Source Select 2: XT2CLK/LFXTCLK */
      
      while(1);
     
    }

    低功耗模式的设置:

    msp430内部有4种低功耗模式,在进入低功耗模式的时候,cpu停止,一般是由外部事件的响应才能唤醒cpu

    由于IAR软件比较给力,所以进入低功耗模式的常用格式

    比如:

    进入低功耗模式2:LPM2;

    退出低功耗模式2:LPM2_EXIT;

    开启外部中断:_EINT():

    关闭外部中断:_DINIT();

    430外部中断的模式

    #include <msp430x14x.h>
    
     main( void )
    {
    
      BCSCTL1 |=DIVA_2;//(0x20) /* ACLK Divider 2: /4 */
      WDTCTL = WDT_ADLY_1000;//直接将看门狗定时器变成定时器,定时时间是1000毫秒
      IE1 =WDTIE;//打开定时器中断
     
      P2DIR |= BIT3;
     
      while(1)
      {
         unsigned int i;
         _BIS_SR(LPM3_bits +GIE);//进入低功耗模式3,这种时候,cpu停止工作,同时打开总的中断     //_BIS_SR是一个本增函数,
         //_BIS_SR()是一个本增函数,通过本函数可以对寄存器进行直接的操作
        //这句话等价于_EINT();
        // LPM3;
         
         P2OUT &=~BIT3;//相当于把第五位输出0
         for(i = 180000;i>0;i--);//延时
         P2OUT |= BIT3;//p3.5输出1
      }
      
    }
    
    #pragma vector =WDT_VECTOR
    __interrupt void watchdag_timer(void)
    {
        //__BIC_SR_IRQ(LPM3_bits);//从中断中,将低功耗模式退出,将cpu从睡眠模式唤醒
        LPM3_EXIT;//退出低功耗模式
    }

    版权所有,转载请注明链接地址:http://www.cnblogs.com/fengdashen/p/3404759.html

  • 相关阅读:
    mysql复制那点事
    全排列问题
    56. Merge Interval
    2. Add Two Numbers
    20. Valid Parentheses
    121. Best Time to Buy and Sell Stock
    120. Triangle
    96. Unique Binary Search Trees
    91. Decode Ways
    72. Edit Distance
  • 原文地址:https://www.cnblogs.com/fengdashen/p/3404759.html
Copyright © 2011-2022 走看看