⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fet110_lpm4.s43

📁 msp430p1110
💻 S43
字号:
#include  "msp430x11x1.h"
;******************************************************************************
;   MSP-FET430x110 Demo - LPM4, Pulse P.0 on P2.0_ISR  
;
;   Description; This program operates normally in LPM4. A hi/low transition
;   on P2.0 will trigger P2_ISR, which will exit force an exit from LPM4 and 
;   pulse P1.0.  JTAG must be released twice if using the FET, to release 
;   breakpoint control.  This can be used to demonstrated LPM4.  
;   ACLK = n/a, MCLK = SMCLK = default DCO ~ 800k 
;
;                MSP430F1121
;             -----------------
;         /|\|              XIN|-  
;          | |                 |
;          --|RST          XOUT|-
;      /|\   |                 |
;       --o--| P2.0        P1.0|-->LED
;      \|/
;
;   M.Buccini
;   Texas Instruments, Inc
;   January 2002
;******************************************************************************
;------------------------------------------------------------------------------ 
            ORG     0F000h                  ; Program Start
;------------------------------------------------------------------------------ 
RESET       mov.w   #300h,SP                ; Initialize stackpointer
StopWDT     mov.w   #WDTPW+WDTHOLD,&WDTCTL  ; Stop WDT
SetupP1     mov.b   #0FFh,&P1DIR            ; All P1.x outputs
SetupP2     mov.b   #0FEh,&P2DIR            ; P2.0 input, P2.x output
            bis.b   #001h,&P2IES            ; P2.0 interrupt hi/low edge 
            eint                            ; General enable interrupts
                                            ;				  
;------------------------------------------------------------------------------ 
Mainloop;   Pulse P1.0, enable P2.0 ISR, enter LPM4
;------------------------------------------------------------------------------ 
            bis.b   #001h,&P1OUT            ; P1.0 = set
Debounce    push.w  #0FFFFh                 ; Delay TOS 
D1          dec.w   0(SP)                   ; 
            jnz     D1                      ;
            incd.w  SP                      ; Clean up stack
            bic.b   #001h,&P1OUT            ; P1.0 = reset
            bit.b   #001h,&P2IN             ; P2.0 = 0 ?
            jnc     Debounce                ; P2.0 = 0, then jump 
            bic.b   #001h,&P2IFG            ; P2.0 IFG cleared 
            bis.b   #001h,&P2IE             ; P2.0 interrupt enabled
            bis.w   #LPM4,SR                ; Enter LPM4
            jmp     Mainloop                ; Again
                                            ;
;------------------------------------------------------------------------------ 
P2_ISR;     Exit LPM4, disable P2.0 interrupt      
;------------------------------------------------------------------------------ 
            bic.w   #LPM4,0(SP)             ; Exit LPM4 on reti
            bic.b   #001h,&P2IE             ; P2.0 interrupt disabled
            reti                            ; Return from ISR
                                            ;
;------------------------------------------------------------------------------ 
;           Interrupt Vectors Used MSP430x11x1         
;------------------------------------------------------------------------------ 
            ORG     0FFFEh                  ; MSP430 RESET Vector
            DW      RESET                   ; 
            ORG     0FFE6h                  ; P2.x Vector
            DW      P2_ISR                  ; 
            END     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -