//电调是新西达30A的上电后 电机1^2^3 然后格一秒左右一滴一下 一直循环
#include
#define uint unsigned int
#define uchar unsigned char
uint pwm;
void delay(uint x)
{
uint i;
while(x--)
for(i=1300;i>0;i--);
}
void main (void)
{
WDTCTL=WDTPW+WDTHOLD;
delay(500);
/***********关闭所有口*****************/
P1DIR = 0XFF;P1OUT = 0XFF;
P2DIR = 0XFF;P2OUT = 0XFF;
P3DIR = 0XFF;P3OUT = 0XFF;
P4DIR = 0XFF;P4OUT = 0XFF;
P5DIR = 0XFF;P5OUT = 0XFF;
P6DIR = 0XFF;P6OUT = 0XFF;
/**************************************/
pwm=1500; //pwm高电平时间
P1DIR=0X0C; //p1.2~3输出pwm波形
P1SEL=0X0C;
P2DIR=0XFF; //开发板上显示按钮按下的提示灯
P2OUT=0XFF; CCR0=20000; //定时20毫秒
CCTL1=OUTMOD_7;//模式7
CCR1=pwm;
CCTL2=OUTMOD_7;
CCR2=2000;
TACTL=TASSEL_2+MC_1+ID_3; //定时器设置,辅助系统时钟8Mhz 8分频
while(1)
{
P2OUT=0Xff;
if((P1IN&0X03)==0X02)
{
P2OUT=0XFD;
if(pwm>1000)
{
pwm-=50;
delay(10);
} else
{
pwm=1000;
P2OUT&=~BIT7;
delay(50);
}
}
if((P1IN&0X03)==0X01)
{ P2OUT=0XFE;
if(pwm<2000)
{ pwm+=50;
delay(10);
}
else
{
pwm=2000;
P2OUT&=~BIT6;
delay(50);
}
}
CCR1=pwm;
}
}