打印

求一个定时器B的pwm例程

[复制链接]
883|1
手机看帖
扫描二维码
随时随地手机跟帖
沙发
dirtwillfly| | 2013-9-29 21:39 | 只看该作者
MSP430FR57XX系列MCU的TIMERB实现PWM功能的例子
void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT  
  CSCTL0_H = 0xA5;
  CSCTL1 |= DCOFSEL0 + DCOFSEL1;             // Set max. DCO setting =8MHz
  CSCTL2 = SELA_3 + SELS_3 + SELM_3;        // set ACLK = SMCLK = DCO/8
  CSCTL3 = DIVA_3 + DIVS_3 + DIVM_3;        // set all dividers
  
  P1DIR |= BIT4+BIT5;                       // P1.4 and P1.5 output
  P1SEL0 |= BIT4+BIT5;                      // P1.4 and P1.5 options select
  TB0CCR0 = 1000-1;                         // PWM Period
  TB0CCTL1 = OUTMOD_7;                      // CCR1 reset/set
  TB0CCR1 = 750;                            // CCR1 PWM duty cycle
  TB0CCTL2 = OUTMOD_7;                      // CCR2 reset/set
  TB0CCR2 = 250;                            // CCR2 PWM duty cycle
  TB0CTL = TBSSEL_2 + MC_1 + TBCLR;         // SMCLK, up mode, clear TAR

  __bis_SR_register(LPM0_bits);             // Enter LPM0
  __no_operation();                         // For debugger
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

97

主题

1150

帖子

1

粉丝