📄 msp430x24x_ta_02.s43
字号:
;******************************************************************************
; MSP430x24x Demo - Timer_A, Toggle P1.0, TACCR0 Up Mode ISR, DCO SMCLK
;
; Description: Toggle P1.0 using software and TA_0 ISR. Timer_A is
; configured for up mode, thus the timer overflows when TAR counts to TACCR0.
; In this example, TACCR0 is loaded with 20000.
; ACLK = 32.768kHz, MCLK = SMCLK = TACLK = default DCO
;
; MSP430x249
; -----------------
; /|\| XIN|-
; | | | 32kHz
; --|RST XOUT|-
; | |
; | P1.0|-->LED
;
; B. Nisarga
; Texas Instruments Inc.
; September 2007
; Built with IAR Embedded Workbench Version: 3.47A
;******************************************************************************
#include <msp430x24x.h>
;-------------------------------------------------------------------------------
RSEG CSTACK ; Define stack segment
;-------------------------------------------------------------------------------
RSEG CODE ; Assemble to Flash memory
;-----------------------------------------------------------------------------
RESET mov.w #SFE(CSTACK),SP ; Initialize stackpointer
StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT
OFIFGcheck bic.b #OFIFG,&IFG1 ; Clear OFIFG
mov.w #047FFh,R15 ; Wait for OFIFG to set again if
OFIFGwait dec.w R15 ; not stable yet
jnz OFIFGwait
bit.b #OFIFG,&IFG1 ; Has it set again?
jnz OFIFGcheck ; If so, wait some more
SetupP5 bis.b #BIT0,&P1DIR ; P1.0 output
SetupC0 mov.w #CCIE,&TACCTL0 ; TACCR0 interrupt enabled
mov.w #20000,&TACCR0
SetupTA mov.w #TASSEL_2+MC_1,&TACTL ; SMCLK, up mode
;
Mainloop bis.w #CPUOFF+GIE,SR ; CPU off, interrupts enabled
nop ; Required for debugger
;
;-----------------------------------------------------------------------------
TA0_ISR; Toggle P1.0
;-----------------------------------------------------------------------------
xor.b #BIT0,&P1OUT ; Toggle P1.0
reti ;
;
;------------------------------------------------------------------------------
COMMON INTVEC ; Interrupt Vectors
;------------------------------------------------------------------------------
ORG RESET_VECTOR ; MSP430 RESET Vector
DW RESET ;
ORG TIMERA0_VECTOR ; Timer_A0 Vector
DW TA0_ISR ;
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -