MSP430F249_TimerA定时器

/******************************************************************
**                                                       
**  File : TimerA.c     | Timer Interrupt |                                    
**  Version : 1.0     
** Description : TimerA Interrupt                                                                          
**  Author : LightWu                              
**  Date : 2013-4-16                                                       
**                                                   
*******************************************************************/


#include "MSP430X24X.h"


int Count;


void main(void)
{
        // Stop watchdog timer to prevent time out reset
        WDTCTL = WDTPW + WDTHOLD;       //关狗
  
        P4DIR = BIT0|BIT1|BIT2|BIT3;    //设置为输出
        P4SEL = 0;
        
        P1IE |= 0x08;                             // P1.3 interrupt enabled
        P1IES |= 0x08;                            // P1.3 Hi/lo edge
        P1IFG &= ~0x08;                           // P1.3 IFG cleared


        //__bis_SR_register(LPM4_bits + GIE);       // Enter LPM4 w/interrupt
        
        CCTL0 = CCIE;                             // CCR0 interrupt enabled
        CCR0 = 10;
        TACTL = TASSEL_2 + MC_2;                  // SMCLK, contmode


        _BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt
        
        while(1)
        {
              if( 10 < Count )
              {
                  Count = 0;
                  
                  P4OUT ^= 0x0F;              //电平翻转
              }
        }
        
}


// Port 1 interrupt service routine
#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{
    P4OUT ^= 0x0F;              //电平翻转
    
    P1IFG &= ~0x08;             // P1.3 IFG cleared,注意清标志位,否则会一直进入中断
}


// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
    //P4OUT ^= 0x0F;              //电平翻转
    
    Count++;
    if( 10 < Count )
    {
         __bic_SR_register_on_exit(LPM0_bits);        // Exit LPM0


    }
 
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值