proteus仿真,msp430看门狗定时器采用辅助时钟ACLK(32k)的问题

2019-07-15 16:56发布

proteus对msp430的看门狗进行仿真,当采用内部DCO产生的SMCLK,即程序中采用WDT_MDLY_32时,在PROTEUS中能正常工作;
但是使用外部ACLK作为时钟时,(WDT_ADLY_1000)程序不正常,PROTEUS没有报错。很疑惑,为什么外加低频晶振PROTEUS就不好使?


程序很简单:

#include "msp430x24x.h"

void main(void)
{
    //程序中开头还加入了打开低频振荡器的代码如下:
do
{
   int i;
   IFG1 &= ~OFIFG;                         //晶体振荡器标志有效
   for(i = 0xFF;i>0;i--);                    //延时
}
while ((IFG1&OFIFG));                     //判断振荡器正常
BCSCTL2 |= SELM_3;                        //采用低频振荡器32768Hz
BCSCTL1 |=DIVA_2;



  WDTCTL = WDT_ADLY_1000;    //现在不正常,但当WDT_MDLY_32 时程序正常!!!!!
     
         
  IE1 |= WDtiE;                          
  P1DIR |= 0x10;                           

  __bis_SR_register(LPM0_bits + GIE);     
}

#pragma vector=WDT_VECTOR
__interrupt void watchdog_timer(void)
{
  P1OUT ^= 0x10;                          
}


proteus电路连接 proteus电路连接
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。