MSP430 用定时器的流水灯 出问题了。求助

2019-03-24 12:05发布

这个是我写的源程序,本来是想用定时器做一个流水灯,但是这个程序写完之后,灯是从依次都亮了,而不是1号灯亮完 灭,二号等亮那种流水灯,求助各位大神 告诉我是那的问题呢,我是一个新手刚接触,所以很疑惑
;-------------------------------------------------------------------------------
#include "msp430x16x.h"
;-------------------------------------------------------------------------------
        org     04000h
reset
        mov     #00300h,SP
        mov     #WDTPW+WDTHOLD,&WDTCTL
        call    #csh_zcx
        mov     #TASSEL0+TACLR,&TACTL;使用ACLK信号,信号为32768Hz,并清除TAR
        mov     #CCIE,&CCTL0  ;使能CCR0 中断
        mov.w   #32768,&CCR0  ;设置比较值,确定定时时间
        bis.w   #MC0,&TACTL ;以增计数模式开始定时器A
        eint
main_loop
        bis.w   #CPUOFF,SR
        nop
TA0_ISR  
        RLC.b   &P1OUT
        reti
;-------------------------------------------------------------------------------
csh_zcx:
        ;--------------------
        mov.b   #00000000b,&P1SEL
        mov.b   #11111111b,&P1DIR
        mov.b   #11111110b,&P1OUT
        ;--------------------
        ret
;-------------------------------------------------------------------------------
        org     0fffeh
        dw      reset
        org     0FFECH
        dw      TA0_ISR
        end
;------------------------------------------------------------------------------- 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
lcofjp
1楼-- · 2019-03-24 15:38
 精彩回答 2  元偷偷看……
emdgbx
2楼-- · 2019-03-24 16:19
< :TI_MSP430_内容页_SA7 --> 我知道有2个移动指令
RLA 和RLC,,,请问这2个指令有什么区别,应该怎样使用呢?

我这2个指令都试了,可是效果都是一样的啊?

谢谢回答哈!
lcofjp
3楼-- · 2019-03-24 18:22
是我弄错了,我以为你用的逻辑左移,查了一下,原来是循环左移,你的用法是对的。不过问题出在哪儿就需要你自己仿真了。
zh2244ou
4楼-- · 2019-03-24 19:33
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章