|
#include "MSP430F5529.h"
void Sys_Init()
{
P1DIR |=BIT2;
P1SEL |=BIT2;
P1DIR |=BIT3;
P1SEL |=BIT3;
P7DIR |=BIT4+BIT0;
P7OUT |=BIT4; //AN1=1 反轉(zhuǎn)
P7OUT &=~BIT0; //AN2=0
TA0CCR0=800;
TA0CCTL1=OUTMOD_7;
TA0CCR1=500;
TA0CCTL2=OUTMOD_7;
TA0CCR2=500;
TA0CTL =TASSEL_1+MC_1+TACLR;
}
int main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
int i;
char SpeedMode=0;
Sys_Init();
while(1)
{
for(i=0;i<4000;i++); //延遲
if(SpeedMode==0) //加速模式下
{
TA0CCR1++; //占空比不斷提高
P1DIR |=BIT0;
P1OUT |=BIT0;
if(TA0CCR1>=500) SpeedMode=1; //到達100%后轉(zhuǎn)為減速模式
}
if(SpeedMode==1) //減速模式下
{
TA0CCR1--; //占空比不斷降低
if(TA0CCR1<=200) SpeedMode=0; //到達40%后轉(zhuǎn)為加速模式
}
}
}
|
|