msp430g2553计时器
时间: 2023-09-03 08:09:24 浏览: 36
MSP430G2553是德州仪器(TI)推出的一款低功耗微控制器,它有多个计时器模块,可以被用来实现各种计时器应用。下面是一个简单的示例程序,使用MSP430G2553的TimerA模块来实现一个1秒钟的计时器:
```c
#include <msp430g2553.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 停用看门狗定时器
BCSCTL1 = CALBC1_1MHZ; // 设置CPU时钟为1MHz
DCOCTL = CALDCO_1MHZ;
TA0CCR0 = 12500; // 设置计时器周期为12500个时钟周期(12500us)
TA0CTL = TASSEL_2 + MC_1 + ID_3; // 选择SMCLK作为时钟源,计数模式为增计数,时钟分频为8
TA0CCTL0 = CCIE; // 允许计时器中断
__bis_SR_register(LPM0_bits + GIE); // 进入低功耗模式0并开启中断
while(1);
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer_A0_ISR(void)
{
// 计时器中断处理函数
P1OUT ^= BIT0; // 翻转P1.0口电平
}
```
上述程序使用TimerA模块作为计时器,计时器周期为12500个时钟周期,约为1秒钟。当计时器计数到0时,会触发计时器中断,中断处理函数中翻转P1.0口电平。需要注意的是,由于MSP430G2553是低功耗微控制器,所以在程序中需要调用`__bis_SR_register(LPM0_bits + GIE)`函数将CPU进入低功耗模式0,以降低功耗。