TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430G2553定时器timer0求解释下面的程序

#include  <msp430g2553.h>

void main(void) {   WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT 

 P1SEL|= 0x06;                            // P1.1 – P1.2 option select  

 P1DIR|= 0x07;                            // P1.0 – P1.2 outputs  

 CCTL0=OUTMOD_4+CCIE;                  // CCR0 toggle, interrupt enabled  

CCTL1=OUTMOD_4+CCIE;                  // CCR1 toggle, interrupt enabled  

TACTL=TASSEL_2+MC_2+TAIE;          // SMCLK, Contmode, int enabled

  _BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt }

// Timer A0 interrupt service routine

#pragma vector=TIMER0_A0_VECTOR

 __interrupt void Timer_A0 (void)

{   CCR0+=200;                              // Add Offset to CCR0 }

// Timer_A2 Interrupt Vector (TA0IV) handler

 #pragma vector=TIMER0_A1_VECTOR

__interrupt void Timer_A1(void)

{   switch( TA0IV )

   {   case  2: CCR1+=1000;                    // Add Offset to CCR1            break;  

case 10: P1OUT^=0x01;                   // Timer_A3 overflow            break;  

}

 }

求解释p1.1、p1.2口分别输出什么 波形是什么 频率是多少 如何计算的

Hardy Hu:

建议接在示波器上看一看,就明白了。

Xutong Han2:

首先如果直接从程序上推断频率需要确定几点,第一点在程序时钟的初始化时如果不初始化系统时钟,这时默认的是DCO这个频率在800K~1M,最好是初始化系统时钟比如MCLK=SMCLK=1MHz。第二确认定时器的时钟源比如你程序中的SMCLK。第三看此时定时器的模式看你的程序是利用PWM模式中断的翻转模式这个模式下PWM的占空比时固定的周期就是CCR0的值计数的两倍,这个结合用户手册很容易看出。其实最简单的办法还是利用示波器看~

赞(0)
未经允许不得转载:TI中文支持网 » MSP430G2553定时器timer0求解释下面的程序
分享到: 更多 (0)