msp430g2553输出独立双路PWM程序及注释

2019-03-24 09:56发布


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
FLY--小强
2019-03-24 15:01
FLY--小强 发表于 2015-8-3 16:24
这个算只用了一个定时器么?

我是这样写的
  1. void PWM (void)
  2. {
  3. //关狗和频率设置全部在主函数进行
  4.   //定时器A0的
  5.   TACTL = TASSEL_2 +MC_1; // 设置定时器A控制寄存器,
  6.   CCR0 =10000;   //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s  
  7.   CCR1=2000;     //占空比50%
  8.   CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
  9.   CCR2=3000;       //占空比25%
  10.   CCTL2=OUTMOD_7;  //置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
  11.   P1SEL |=BIT2;
  12.   P1DIR |=BIT2;   //输出 TA0.1
  13.   
  14.   
  15.   
  16.       //定时器A1的
  17.   TA1CTL = TASSEL_2 +TACLR+MC_1; // 设置定时器A控制寄存器,
  18.   TA1CCR0 =10000;                //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s
  19.   TA1CCR1=5000;                  //占空比50%
  20.   TA1CCTL1=OUTMOD_3;             //置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
  21.   TA1CCR2=2500;                  //占空比25%
  22.   TA1CCTL2=OUTMOD_7;             //置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
  23.   P2DIR |=(BIT1+BIT4);             //输出 TA2.1和TA2.2
  24.   P2SEL |=(BIT1+BIT4);
  25. }
复制代码

一周热门 更多>

相关问题

    相关文章