msp430x24x_tb_05.s43
来自「步进电机驱动程序msp430f247单片机」· S43 代码 · 共 61 行
S43
61 行
;******************************************************************************
; MSP430x24x Demo - Timer_B, Toggle P1.0, TBCCR0 Up Mode ISR, 32kHz ACLK
;
; Description: Toggle P1.0 using software and the TB_0 ISR. Timer_B is
; configured for up mode, thus the timer overflows when TBR counts to TBCCR0.
; In this example, TBCCR0 is loaded with 1000-1.
; ACLK = LFXT1 = 32768Hz, MCLK = SMCLK = default DCO = 32 x ACLK = 1048576Hz
; //* An external watch crystal between XIN & XOUT is required for ACLK *//
;
; MSP430x249
; -----------------
; /|\| XIN|-
; | | | 32kHz
; --|RST XOUT|-
; | |
; | P1.0|-->LED
;
; B. Nisarga
; Texas Instruments Inc.
; September 2007
; Built with IAR Embedded Workbench Version: 3.42A
;******************************************************************************
#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
SetupP1 bis.b #BIT0,&P1DIR ; P1.0 output
SetupC0 mov.w #CCIE,&TBCCTL0 ; TBCCR0 interrupt enabled
mov.w #1000-1,&TBCCR0 ; TBCCR0 counts to 1000
SetupTB mov.w #TBSSEL_1+MC_1,&TBCTL ; ACLK, upmode
;
Mainloop bis.w #LPM3+GIE,SR ; Enter LPM3, interrupts enabled
nop ; Required only for debugger
;
;------------------------------------------------------------------------------
TB0_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 TIMERB0_VECTOR ; Timer_B0 Vector
DW TB0_ISR ;
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?