?? fet140_hfxtal_nmi.s43
字號:
#include "msp430x14x.h"
;******************************************************************************
; MSP-FET430P140 Demo - BasicClock MCLK configured with HF XTAL and OscFault
;
; Description; Proper selection of an external HF XTAL for MCLK is shown with
; enabled OSC fault interrupt - if HF XTAL fails, NMI interrupt is requested.
; HF XTAL can only source MCLK when OSC fault is clear. For demonstration
; purposes P1.0 is set durring OSC fault. MCLK output on P5.4.
; ACLK = MCLK = LFXT1 = HFXTAL
; //** HF XTAL NOT INSTALLED ON FET **//
;
; MSP430F149
; -----------------
; /|\| XIN|-
; | | | HF XTAL (455k - 8Mhz)
; --|RST XOUT|-
; | |
; | P1.0|-->LED
; | P5.4|-->MCLK = XTAL (or DCO durring fault)
;
; M.Buccini
; Texas Instruments, Inc
; January 2002
;******************************************************************************
;------------------------------------------------------------------------------
ORG 0F000h ; Program Start
;------------------------------------------------------------------------------
RESET mov.w #0A00h,SP ; Initialize stackpointer
SetupWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT
bis.b #001h,&P1DIR ; P1.0 = output direction
bic.b #001h,&P1OUT ; P1.0 = reset
SetupP5 bis.b #010h,&P5DIR ; P5.4 output
bis.b #010h,&P5SEL ; P5.4 option
SetupBC bis.b #XTS,&BCSCTL1 ; LFXT1 = HF XTAL
bis.b #OFIE,&IE1 ; Enable osc fault interrupt
;
Mainloop jmp Mainloop ; Repeat
;
;------------------------------------------------------------------------------
NMI_ISR; Only osc fault enabled, R15 used temporarly and not saved
;------------------------------------------------------------------------------
bis.b #001h,&P1OUT ; P1.0 = set
CheckOsc bic.b #OFIFG,&IFG1 ; Clear OSC fault flag
mov.w #0FFh,R15 ; R15 = Delay
CheckOsc1 dec.w R15 ; Additional delay to ensure start
jnz CheckOsc1 ;
bit.b #OFIFG,&IFG1 ; OSC fault flag set?
jnz CheckOsc ; OSC Fault, clear flag again
bic.b #001h,&P1OUT ; P1.0 = reset
bis.b #SELM1+SELM0,&BCSCTL2 ; MCLK = LFXT1 - now safe
bis.b #OFIE,&IE1 ; re-enable osc fault interrupt
reti ; return from interrupt
;
;------------------------------------------------------------------------------
; Interrupt Vectors Used MSP430F14x
;------------------------------------------------------------------------------
ORG 0FFFCh ; NMI vector
DW NMI_ISR ;
ORG 0FFFEh ; MSP430 RESET Vector
DW RESET ;
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -