msp430f5529中断笔记

定义中断服务程序

#pragma vector=PORT1_VECTOR    //P1口中断向量
__interrupt void Port_1(void)            //声明中断服务程序,名为Port_1
{
...                                                    //中断服务程序
}

定时器中断应用例程

#include <msp430.h>
void delay(unsigned int i)
{
    volatile unsigned int j;
    for(;i>0;i--)
        for(j=0;j<2000;j++);                   // 延时
}
int main(void)
{
  volatile unsigned int i ;


  WDTCTL = WDTPW+WDTHOLD;                   // 关闭看门狗
  P1DIR |= BIT0;                            // P1.0 输出
  P4DIR |= BIT7;                            // P4.7 输出
  TA0CCTL0 = CCIE;                          // CCR0中断使能
  TA0CCR0 = 50000;
  TA0CTL = TASSEL_2 + MC_1 +TACLR;          // SMCLK,增计数模式,清除TAR


  __bis_SR_register(LPM0_bits+GIE);          // 进入低功耗模式0,使能中断
}


#pragma vector=TIMER0_A0_VECTOR
__interrupt void TIMER0_A0_ISR(void)


  {
    P1OUT ^= BIT0;                          // 反转 P1.0状态
    P4OUT ^= BIT7;                          // 反转 P4.7状态
    delay(50);
  }

猜你喜欢

转载自blog.csdn.net/kj4555665/article/details/80216225