📄 fet140_tb06.s43
字号:
#include "msp430x14x.h"
;******************************************************************************
; MSP-FET430P140 Demo - Timer_B Toggle P1.0, CCR1 Contmode ISR, DCO SMCLK
;
; Description; Toggle P1.0 using using software and TB_1 ISR. Toggle rate is
; set at 50000 DCO/SMCLK cycles. Default DCO frequency used for TBCLK.
; Durring the TA_0 ISR P0.1 is toggled and 50000 clock cycles are added to
; CCR0. TA_1 ISR is triggered exactly 50000 cycles. CPU is normally off and
; used only durring TA_ISR.
; MCLK = SMCLK = TBCLK = DCO ~ 800k
; Proper use of TBIV interrupt vector generator demonstrated.
;
; MSP430F149
; -----------------
; /|\| XIN|-
; | | |
; --|RST XOUT|-
; | |
; | P1.0|-->LED
;
; M.Buccini
; Texas Instruments, Inc
; January 2002
;******************************************************************************
;-----------------------------------------------------------------------------
ORG 01100h ; Program Start
;-----------------------------------------------------------------------------
RESET mov.w #0A00h,SP ; Initialize 'F149 stackpointer
StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT
SetupTA mov.w #TBSSEL1+TBCLR,&TBCTL ; SMCLK, clear TBR
SetupC1 mov.w #CCIE,&TBCCTL1 ; CCR1 interrupt enabled
mov.w #50000,&TBCCR1 ;
SetupP1 bis.b #001h,&P1DIR ; P1.0 output
bis.w #MC1,&TBCTL ; Start Timer_a in continous mode
eint ; Enable interrupts
;
Mainloop bis.w #CPUOFF,SR ; CPU off
nop ; Required for C-spy
;
;------------------------------------------------------------------------------
TBX_ISR; Common ISR for TBCCR1-6 and overflow
;------------------------------------------------------------------------------
add.w &TBIV,PC ; Add Timer_B offset vector
reti ; TBCCR0 - no source
TBCCR1_ISR ; TBCCR1
reti ; TBCCR2
reti ; TBCCR3
reti ; TBCCR4
reti ; TBCCR5
reti ; TBCCR6
TB_over reti ; Return from overflow ISR
;
TBCCR1_ISR add.w #50000,&TBCCR1 ; Offset until next interrupt
xor.b #001h,&P1OUT ; Toggle P1.0
reti ; Return from overflow ISR
;
;-----------------------------------------------------------------------------
; Interrupt Vectors Used MSP430x13x/14x
;-----------------------------------------------------------------------------
ORG 0FFFEh ; MSP430 RESET Vector
DW RESET ;
ORG 0FFF8h ; Timer_BX Vector
DW TBX_ISR ;
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -