新手程序求教 = =

2019-07-28 19:18发布

定时器A输出单元实验:ACLK=TACLK+LFXTI=32768Hz,利用TimerA输出周期为 512/32768=15.625ms,占空比分别为75%和25%的PWM矩形波

#include<msp430x14x.h>
void main(void)
{
     WDTCTL = WDTPW + WDTHOLD;
     TACTL = TASSEL1 + TACLR;
     CCTL0=0X00;
     CCTL1=0X00;
     CCR0=512-1;
     CCTL1=OUTMOD_7;
     CCR1=384;
     CCTL2=OUTMOD_7;
     CCR2=128;
     P1DIR |= 0X04;
     P1SEL |=0X04;
     P2DIR |=0X01;
     P2SEL |=0X01;
     TACTL |= MC0;
           for(; ;)
          {
              _BIS_SR(LPM_bits);
             _NOP();
           }
}
初学者看的晕乎乎的,别的还能将就明白,设置PWM周期的语句CCR0=512-1,为什么要减一啊?高手能不能帮忙给讲解下= =,实在弄不懂·····

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