/******************************************************************************
// 定时器A,翻转P1.0,中断服务程序溢出。
* 软件设置P1.0翻转,定时器A中断程序溢出。
* 当定时器A溢出的时候,定时器A的中断服务程序触发。在定时器A中断服务程序中,P1.0翻转。
* P1.0翻转频率是12HZ。
// Proper use of TAIV interrupt vector generator is demonstrated.
// ACLK = n/a, MCLK = SMCLK = TACLK = default DCO
//
// MSP430F20xx
// ---------------
// /|\| XIN|-
// | | |
// --|RST XOUT|-
// | |
// | P1.0|-->LED
//
// M. Buccini / L. Westlund
// Texas Instruments Inc.
// October 2005
// Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.40A
******************************************************************************/
#include
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 禁止看门狗
P1DIR |= 0x01; // P1.0 输出
TACTL = TASSEL_2 + MC_2 + TAIE; // SMCLK, 计数模式中断
_BIS_SR(LPM0_bits + GIE); // 进入 LPM0 w/ 中断
}
// Timer_A3 Interrupt Vector (TAIV) handler
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A(void)
{
switch( TAIV )//Timer A Interrupt Vector Word 检查定时器A的中断矢量字
{
case 2: break; // CCR1 not used
case 4: break; // CCR2 not used
case 10: P1OUT ^= 0x01; // 溢出的时候
break;
}
}
完整的工程如下:
msp430x20x3_ta_03.rar
(14.79 KB, 下载次数: 360)