Ну сколько раз говорить - ДОКУ ОТКРОЙ или примеры от TI хотя бы!
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено -=Shura=- 25 февраля 2004 г. 13:40
В ответ на: Как же всё таки переводить MSP430 из активного режима в LPM и обратно? см. как я это делал... отправлено Aleko 25 февраля 2004 г. 13:33


#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

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru