如何利用利用TimerA及中断实现RTC

如何利用利用TimerA及中断实现RTC,第1张

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 编译

//******************************************************************************

如何利用利用TimerA及中断实现RTC,如何利用利用TimerA及中断实现RTC,第2张

#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

}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2599404.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-09
下一篇 2022-08-09

发表评论

登录后才能评论

评论列表(0条)

保存