MSP430的定时器中断步骤总结:
1 设置中断端口的方向;
2 使能定时器中断;
3 设置定时时间;
4 设置定时控制器的时钟,计数方式,去除中断标志;
5 进入低功耗模式并打开全局中断标志位;
6 编写中断程序。
For example:
P1.0引脚接了一个LED灯,要求在低功耗模式0下,利用定时器的定时功能,实现LED灯的闪烁。
#include"msp430"
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;//关闭看门狗
P1DIR |=0X01; //设置P1.0为输出方向
TA0CCTL0 = CCIE; //定时器CCR0中断使能
TA0CCR0 = 50000; //设置定时器的时间
TA0CTL =TASSEL_2 + MC_1 + TACLR;//定时器时钟选择SMCLK,计数方式为增计数模式,清除TAR
__bis_SR_register(LMP0_bits + GIE);//进入低功耗模式0并中断使能
}
//中断程序
#pragma vecter = TIMER0_A0_vecter
__interrupt void TIMER0_A0_ISR(void)
{
P1OUT ^= 0X01;//P1.0亮灭(定时时间到,P1.0的状态翻转)
}