;******************************************************************************* ; MSP430G2xx2 Demo - Timer_A, Toggle P1.0, Overflow ISR, 32kHz ACLK ; ; Description: Toggle P1.0 using software and the Timer_A overflow ISR ; In this example an ISR triggers when TA overflows Inside the ISR P1.0 ; is toggled Toggle rate is exactly 0.5Hz ; ACLK = TACLK = LFXT1 = 32768Hz, MCLK = SMCLK = default DCO ; //* An external watch crystal on XIN XOUT is required for ACLK *// ; ; MSP430G2xx2 ; ; /|\| XIN|; | | | 32kHz ; |RST XOUT|; | | ; | P1.0| >LED ; ; D Dang ; Texas Instruments Inc ; December 2010 ; Built with Code Composer Essentials Version: 4.2.0 ;******************************************************************************* cdecls C,LIST, "msp430g2452.h" ; -.text ; Progam Start ; -RESET mov.w #0280h,SP ; Initialize stackpointer StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT SetupP1 bis.b #001h,&P1DIR ; P1.0 output SetupTA mov.w #TASSEL_1+MC_2+TAIE,&TACTL ; ACLK, contmode interrupt ; Mainloop bis.w nop #LPM3+GIE,SR ; Enter LPM3, interrupts enabled ; Required only for debugger ; ; TAX_ISR; Common ISR for CCR1-4 and overflow ; add.w &TA0IV,PC ; Add Timer_A offset vector reti ; CCR0 - no source reti ; CCR1 reti ; CCR2 reti ; CCR3 reti ; CCR4 TA_over xor.b #001h,&P1OUT ; Toggle P1.0 reti ; Return from overflow ISR ; ; -; Interrupt Vectors ; -.sect ".reset" ; MSP430 RESET Vector short RESET ; sect ".int08" ; Timer_AX Vector short TAX_ISR ; end