Proteus仿真msp430

2019-07-15 16:53发布

我用proteus搭载了一个电路,下面是程序,但是没有结果,本人刚刚入手430,还望各位爱好者给看一下是怎么回事,谢谢了 QQ截图20140805122713.png #include <msp430x14x.h>
void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P1DIR |= 0x01;                            // P1.0 output
  CCTL0 = CCIE;                             // CCR0 interrupt enabled用到CCR0定时中断的时候必须记得让CCR0中断使能
  CCR0 = 50000;        //设置进入定时器中断的时间
  TACTL = TASSEL_1 + MC_0;                  // SMCLK, contmode。功能的选择:时钟1—ACLK比较慢,2—SMCLK时钟比较快;0—暂停;1—从0连续增长到CCRO,就进入中断。然后清0;2—从0连续增长到0ffffh;3—递增到CCR0再递减到0。若使用2模式则不需要定义CCR0

  _BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt
}
// timer A0 interrupt service routine
#pragma vector=TIMER0_A0_VECTOR              //使用CCR0的话就用TIMER0_A0就行
__interrupt void Timer_A (void)              //若不使用CCRO就用TIME0_A1,然后用switch函数如下一个例子
{
  P1OUT ^= 0x01;                            // Toggle P1.0
  CCR0 += 50000;                            // Add Offset to CCR0。。。重新给CCR0一个值
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
wangbinlong
1楼-- · 2019-07-15 20:41
 精彩回答 2  元偷偷看……
wangbinlong
2楼-- · 2019-07-16 00:56
可以把MC_0改成MC_1试一下吧
sdtachenmeng
3楼-- · 2019-07-16 02:32
wangbinlong 发表于 2014-8-9 14:48
TACTL = TASSEL_1 + MC_0; 你好,你的定时器选择MC_0,工作在停止计数模式,所以是不工作的啊 ...

嗯,是的,多谢了,成功了
cnenzhichao
4楼-- · 2019-07-16 04:00
路过。。。。。。。。。

一周热门 更多>