我在完成此代码时遇到了一些问题、我需要使 LED 闪烁、而不是按 顺序排列、我认为我会破坏配置。
;------------------------------------------------------------------
;与 TI Code Composer Studio 一起使用的 MSP430汇编器代码模板
;
;
;------------------------------------------------------------------
cdecls C、list、"msp430.h" ;包含器件头文件
;------------------------------------------------------------------
.def 重置 ;将程序入口点导出到
;使链接器知道它。
;------------------------------------------------------------------
.text ;汇编到程序存储器中。
.retain ;覆盖 ELF 条件链接
;并保留当前部分。
.retainrefs ;并保留具有的任何段
;对当前段的引用。
;------------------------------------------------------------------
重置 mov.w #_stack_end、SP ;初始化 stackpointer
StopWDT mov.w #WDTPW|WDTHOLD、&WDTCTL ;停止看门狗计时器
;------------------------------------------------------------------
;这里是主循环
;------------------------------------------------------------------
;将计时器 B0配置为抛出中断
BIS.w #TBCLR、&TB0CTL
BIS.w #TBSSEL_ACLK、&TB0CTL
BIS.w #MC__Continous、&TB0CTL
BIS.w #CNTL__12、&TB0CTL ;计数器长度= 12位
BIS.w #ID__4、&TB0CTL ;分频频率 4
BIS.w #TBIE、&TB0CTL ;启用中断
BIS.b #BIT1、&P1REN ;启用电阻器
BIS.b #BIT1,&P1OUT ;选择上拉电阻器
BIS.b #BIT1、&P1IES ;下降沿触发
BIS.b #BIT1、&P1IE ;中断被启用
BIS.b #BIT2、&P1REN ;启用电阻器
BIS.b #BIT2、&P1OUT ;选择上拉
BIS.b #BIT2、&P1IES ;上拉电阻器
BIS.b #BIT2、&P1IE ;下降边沿触发中断
;禁用电源锁定以为 GPIO 供电
BIC.w #LOCKLPM5、&PM5CTL0
NOP
BIS.w #GIE|LPM3、SR
NOP
;------------------------------------------------------------------
;中断服务例程
;------------------------------------------------------------------
Timer_B0_ISR:
;在此处添加代码,不要忘记添加中断矢量
BIC.b #TBIFG、&TBCTL ;测试和清除
XOR.b 位#0、&P1OUT ;切换绿色和红色 LED
XOR.b 位#6、&P1OUT
TI
;------------------------------------------------------------------
;堆栈指针定义
;------------------------------------------------------------------
.global __stack_end
.sect .stack
;------------------------------------------------------------------
;中断矢量
;------------------------------------------------------------------
.sect ".int37"
Timer_B0_ISR
.sect ".reset" ;MSP430复位矢量
短路 复位