MSP430單片機(jī)RTC操作-TimeA實(shí)現(xiàn)的實(shí)時(shí)時(shí)鐘
掃描二維碼
隨時(shí)隨地手機(jī)看文章
//*******************************************************************************
// D13x Demo - 利用Timer_A及中斷實(shí)現(xiàn)RTC,觀察LED燈的閃爍頻率
//
// 描述:利用Timer_A及中斷實(shí)現(xiàn)RTC;通過 P1 異或 來取反 P1.5;
// 系統(tǒng)處于休眠狀態(tài)LPM3,中斷時(shí)喚醒執(zhí)行P1.5切換
// ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k
//
// MSP430F13x
// -------------------
// /|| XIN|-
// | | | 32kHz
// --|RST XOUT|-
// | |
// | P1.5|-->LED
//
// 硬件電路:MSP430F135核心實(shí)驗(yàn)板-I型
// 硬件連接:
//
// 調(diào)試器:MSP430FET全系列JTAG仿真器
// 調(diào)試軟件: IAR Embedded Workbench Version: 3.41A 編譯
//******************************************************************************
#include
voidmain(void)
{
WDTCTL = WDTPW + WDTHOLD;// 停止看門狗
TACTL = TASSEL0 + TACLR;// ACLK, 清 TAR
CCTL0 = CCIE;// CCR0 中斷使能
CCR0 = 16384;// 設(shè)定中斷間隔,32768Hz晶振,0.5s
P1DIR |= 0x20;// P1.5為輸出口
TACTL |= MC0;// Timer_a 為增量計(jì)數(shù)模式
_EINT();// 開中斷
for (;;)
{
_BIS_SR(LPM3_bits);// 進(jìn)入 LPM3
}
}
#pragmavector=TIMERA0_VECTOR//Timer_A中斷函數(shù)
__interruptvoidTimerA_ISR()
{
P1OUT ^= 0x20;// 通過異或取反P1.5
}