/********************************************************************************
CCR0捕獲/比較寄存器--比較功能中斷定時
簡述:本程序是利用了定時器A 模塊中的CCR0 捕獲/比較寄存器的值與定時器A 的值進行
比較。如果比較相等就產生CCR0 中斷,進入Timer A0 中斷服務程序進行中斷處理。以P1.0
作為指示,反轉速度= 32768/(2*1000) = 16.384 。
ACLK = TACLK = 32768Hz, MCLK = SMCLK = default DCO ~800kHz
本程序TA(Timer A)采用增計數模式。在增計數模式時,當TA 中的計數值與CCR0的值相
等時(或TA>CCR0 的值時),TA 被清零并且重新由0 開始計數。在此同時,CCR0 產生中斷。
產生CCIFG0 標志置位,及TAIFG 定時器A 溢出標志置位。CCIFG0,TAIFG 在被中斷服務程
序處理時是自動復位。如本例中執行__interrupt void Timer_A (void)時,CCIFG0已被清除標志
位。
例程:
***********************************************************************************/
//*********************************************************************
#include <msp430x14x.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; //停止看門狗定時器
P3DIR |= BIT4; //設P3.4 為輸出
CCTL0 = CCIE; //CCR0開中斷允許
CCR0 = 10000-1; //向CCR0捕獲/比較寄存器裝入初值,用于比較
TACTL = TASSEL_1 + MC_1; //選ACLK為定時器A 時鐘源, 增計數模式
_BIS_SR(LPM3_bits + GIE); //進入LPM3模式/ 開中斷允許
}
// Timer A0中斷服務程序
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
P3OUT ^= BIT4; //反轉 P3.4
}
//**********************************************************************
比較。如果比較相等就產生CCR0 中斷,進入Timer A0 中斷服務程序進行中斷處理。以P1.0
作為指示,反轉速度= 32768/(2*1000) = 16.384 。
ACLK = TACLK = 32768Hz, MCLK = SMCLK = default DCO ~800kHz
本程序TA(Timer A)采用增計數模式。在增計數模式時,當TA 中的計數值與CCR0的值相
等時(或TA>CCR0 的值時),TA 被清零并且重新由0 開始計數。在此同時,CCR0 產生中斷。
產生CCIFG0 標志置位,及TAIFG 定時器A 溢出標志置位。CCIFG0,TAIFG 在被中斷服務程
序處理時是自動復位。如本例中執行__interrupt void Timer_A (void)時,CCIFG0已被清除標志
位。
例程:
***********************************************************************************/
//*********************************************************************
#include <msp430x14x.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; //停止看門狗定時器
P3DIR |= BIT4; //設P3.4 為輸出
CCTL0 = CCIE; //CCR0開中斷允許
CCR0 = 10000-1; //向CCR0捕獲/比較寄存器裝入初值,用于比較
TACTL = TASSEL_1 + MC_1; //選ACLK為定時器A 時鐘源, 增計數模式
_BIS_SR(LPM3_bits + GIE); //進入LPM3模式/ 開中斷允許
}
// Timer A0中斷服務程序
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
P3OUT ^= BIT4; //反轉 P3.4
}
//**********************************************************************