MSP430 定时器问题 【汇编语言】

2019-03-24 12:10发布

这是我写的源程序,这会的实验结果是小灯按50MS的频率再闪,我想让它以1S的间隔闪,应该怎么修改程序呢?求大神解答,我原来写的MOV #14H,R5
                                                    dec  r5
                                                    jnz
可是这点程序放哪里都不对。出不来结果
;-------------------------------------------------------------------------------
#include "msp430x16x.h"
;-------------------------------------------------------------------------------
        org     04000h
reset
        mov     #00300h,SP
        mov     #WDTPW+WDTHOLD,&WDTCTL
        mov     #TASSEL1+TACLR,&TACTL;使用SMCLK信号,并清除TAR
        call    #csh_zcx
        mov     #CCIE,&CCTL0  ;使能CCR0 中断
        mov.w   #40000,&CCR0  ;设置比较值
        bis.w   #MC1,&TACTL ;以增计数模式开始定时器A
        eint
main_loop
        bis.w   #CPUOFF,SR
        nop
TA0_ISR inv.b   &P1OUT
        add.w   #40000,&CCR0
        reti
;-------------------------------------------------------------------------------
csh_zcx:
        ;--------------------
        mov.b   #00000000b,&P1SEL
        mov.b   #00000001b,&P1DIR
        mov.b   #11111110b,&P1OUT
        ;--------------------
        ret
;-------------------------------------------------------------------------------
        org     0fffeh
        dw      reset
        org     0FFECH
        dw      TA0_ISR
        end
;------------------------------------------------------------------------------- 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
emdgbx
2019-03-25 02:31
哇哦 ,太感谢了!

一周热门 更多>

相关问题

    相关文章