FLY--小强 发表于 2015-8-3 16:24
这个算只用了一个定时器么?
我是这样写的void PWM (void)
{
//关狗和频率设置全部在主函数进行
//定时器A0的
TACTL = TASSEL_2 +MC_1; // 设置定时器A控制寄存器,
CCR0 =10000; //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s
CCR1=2000; //占空比50%
CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
CCR2=3000; //占空比25%
CCTL2=OUTMOD_7; //置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
P1SEL |=BIT2;
P1DIR |=BIT2; //输出 TA0.1
//定时器A1的
TA1CTL = TASSEL_2 +TACLR+MC_1; // 设置定时器A控制寄存器,
TA1CCR0 =10000; //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s
TA1CCR1=5000; //占空比50%
TA1CCTL1=OUTMOD_3; //置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
TA1CCR2=2500; //占空比25%
TA1CCTL2=OUTMOD_7; //置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
P2DIR |=(BIT1+BIT4); //输出 TA2.1和TA2.2
P2SEL |=(BIT1+BIT4);
}
复制代码