Timer_A is ; configured for up mode, thus the timer overflows when TAR counts ; to CCR0.. Dang ; Texas Instruments Inc.
Trang 1; MSP430G2xx1 Demo - Timer_A, Toggle P1.0, CCR0 Up Mode ISR, 32kHz ACLK
;
; Description: Toggle P1.0 using software and the TA_0 ISR Timer_A is
; configured for up mode, thus the timer overflows when TAR counts
; to CCR0 In this example CCR0 is loaded with 1000-1
; ACLK = TACLK = LFXT1 = 32768Hz, MCLK = SMCLK = default DCO
; //* An external watch crystal on XIN XOUT is required for ACLK *//
;
; MSP430G2xx1
;
-; /|\|
XIN|-; | | | 32kHz
; |RST
XOUT|-; | |
; | P1.0| >LED
;
; D Dang
; Texas Instruments Inc
; October 2010
; Built with IAR Embedded Workbench Version: 5.10
;*******************************************************************************
#include "msp430g2231.h"
ORG 0F800h ; Program Reset
; -RESET mov.w #0280h,SP ; Initialize stackpointer
StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT
SetupP1 bis.b #001h,&P1DIR ; P1.0 output
SetupC0 mov.w #CCIE,&CCTL0 ; CCR0 interrupt enabled
mov.w #1000-1,&CCR0 ; CCR0 counts to 1000
SetupTA mov.w #TASSEL_1+MC_1,&TACTL ; ACLK, upmode
;
Mainloop bis.w #LPM3+GIE,SR ; Enter LPM3, interrupts enabled nop ; Required for debugger
;
; -TA0_ISR; Toggle P1.0
xor.b #001h,&P1OUT ; Toggle P1.0
reti ;
;
; -; Interrupt Vectors
ORG 0FFFEh ; MSP430 RESET Vector
DW RESET ;
ORG 0FFF2h ; Timer_A0 Vector
DW TA0_ISR ;
END