D13x Demo – 使用TImer_A及中止完成RTC,调查LED灯的闪耀频率
// 描绘:使用TImer_A及中止完成RTC;经过 P1 异或 来取反 P1.5;
// 体系处于休眠状况LPM3,中止时唤醒履行P1.5切换
// ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k
//
// MSP430F13x
// ——————-
// /|\| XIN|-
// | | | 32kHz
// –|RST XOUT|-
// | |
// | P1.5|–》LED
//
// 硬件电路:MSP430F135中心试验板-I型
// 硬件衔接:
//
// 调试器:MSP430FET全系列JTAG仿真器
// 调试软件: IAR Embedded Workbench Version: 3.41A 编译
//******************************************************************************
#include
voidmain(void)
{
WDTCTL = WDTPW + WDTHOLD;// 中止看门狗
TACTL = TASSEL0 + TACLR;// ACLK, 清 TAR
CCTL0 = CCIE;// CCR0 中止使能
CCR0 = 16384;// 设定中止距离,32768Hz晶振,0.5s
P1DIR |= 0x20;// P1.5为输出口
TACTL |= MC0;// TImer_a 为增量计数形式
_EINT();// 开中止
for (;;)
{
_BIS_SR(LPM3_bits);// 进入 LPM3
}
}
#pragmavector=TIMERA0_VECTOR//Timer_A中止函数
__interruptvoidTimerA_ISR()
{
P1OUT ^= 0x20;// 经过异或取反P1.5
}