asm.s43

来自「MSP430F22X单片机开发套件源代码」· S43 代码 · 共 44 行

S43
44
字号
#include "msp430x22x4.h"
;WDT定时器模式下1秒钟定时
;1秒钟触发看门狗定时中断
;来翻转P1.0
;                 MSP430F2274
;             -----------------
;         /|\|              XIN|-  
;          | |                 |
;          --|RST          XOUT|-
;            |                 |
;            |             P1.0|-->LED
        NAME    main
        
        PUBLIC  main

;----------------------------------------------------------------------------- 
;       MSP430F22x中断向量表         
;----------------------------------------------------------------------------- 
        ORG     0FFFEh
        DC16    main
        ORG     0FFF4h                        ;看门狗定时模式的中断向量
        DC16    wdt_timer

;------------------------------------------------------------------------------ 
        RSEG    CODE                          ;程序开始
;------------------------------------------------------------------------------
main    MOV.W   #0600H,SP                     ;设置堆栈指针
stopWDT MOV.W	#WDTPW+WDTHOLD,&WDTCTL        ;关看门狗
	MOV.B	&CALBC1_1MHZ,&BCSCTL1         ;设定DCO为1MHZ
	MOV.B	&CALDCO_1MHZ,&DCOCTL
        MOV.W   #WDTPW+WDTTMSEL+WDTSSEL+WDTCNTCL,&WDTCTL;选择定时模式,并选时钟源为ACLK,即定时时间为ACLK/32768(WDTISx=0)  
        BIC.B   #BIT0,&P1OUT
        MOV.B   #BIT0,&P1DIR                  ;设置P1.0(led)为输出方向
        BIS.B   #WDTIE,&IE1                   ;使能WDT定时中断
        EINT                                  ;开总中断
mainloop
        BIS.B   #LPM3,SR                      ;进入LPM3模式,ACLK(WDT时钟源)仍工作
        
;------------------------------------------------------------------------------ 
wdt_timer                                     ;看门狗定时中断服务
;------------------------------------------------------------------------------        
        XOR.B   #BIT0,P1OUT                   ;p1.0翻转
        RETI
        END     main

⌨️ 快捷键说明

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