#include "MSP430F5529.h"
void Timer_A0_1_init() //TA0.1输出PWM 由P1.2 P1.6输出
{
TA0CTL |= TASSEL_1+MC_1; //ACLK,增计数
TA0CCTL1 = OUTMOD_7; //输出模式7
TA0CCR0 = 655; //时钟频率为32768HZ,100HZ
TA0CCR1 = 49; //占空比CCR1/CCR0=1/3
}
void Timer_A1_1_init() //TA1.1输出PWM 由P2.1 P2.2输出
{
TA1CTL |= TASSEL_1+MC_1; //ACLK,增计数
TA1CCTL1 = OUTMOD_7; //输出模式7
TA1CCR0 = 164; //时钟频率为32768HZ,波形32768/CCR0=199HZ
TA1CCR1=123; //占空比3/4
}
void Timer_A1_2_init() //TA1.2输出PWM 由P2.4 P2.5输出
{
TA1CCTL2=OUTMOD_7;
TA1CCR2=41; //占空比1/4
}
void IO_init()
{
P1SEL|=BIT2+BIT6;
P1DIR|=BIT2+BIT6;//P1.2 P1.6输出 TA0.1 OUT1
P2SEL|=BIT4+BIT5;
P2DIR|=BIT4+BIT5;//P2.4 P2.5输出 TA1.2 OUT2
P2SEL|=BIT1+BIT2;
P2DIR|=BIT1+BIT2; //P2.1 P2.2输出 TA1.1 OUT1
}
void main(void)
{
WDTCTL=WDTPW+WDTHOLD;
IO_init();
Timer_A0_1_init();
Timer_A1_2_init();
Timer_A1_1_init();
while(1);
_BIS_SR(CPUOFF); // Enter LPM0 进入低功耗模式0 SMCLK ON,ACLK ON
}
|