水经验

【图片】【图片】#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit pwm=P0^1;//输出PWM信号
sbit key3=P2^2;//正转高速
sbit key4=P2^3;//反转高速
sbit key5=P2^4;//中位 低速
uint pwm_value,i,b;
void Delay1() //0.1 ms延时
{
unsigned char a,b,c;
for(a=0;a<1;a++)
for(b=0;b<1;b++)
for(c=0;c<61;c++);
}
void delayms(uchar xms) // x乘以0.1ms延时;
{
uchar i;
for(i=xms;i>0;i--)
Delay1();
}
void chushi()
{
pwm=1;
delayms(1900);
pwm=0;
delayms(10);
}
void InitTimer(void)
{
TMOD=0x11;//开定时器0,1
TH0=-pwm_value/256;
TL0=-pwm_value%256;
EA=1;//开总断
TR0=1;//开定时器0
ET0=1;
pwm=1;
i=1;
}
void timer0(void) interrupt 1//定时器0中断函数
{
pwm=!pwm;
if(i==0)
{
b=pwm_value;
i=1;
}
else
{
b=1900-pwm_value;
i=0;
}
TH0=-b/256;
TL0=-b%256;
}
void key()
{
if(key3)
{
delay_ms(100);
if(key3==1)
{
pwm_value=1460;
while(key3==1);
}
}
if(key4==1)
{
delay_ms(100);
if(key4==1)
{
pwm_value=1100;
while(key4==1);
}
}
if(key5==1)
{
delay_ms(100);
if(key5==1)
{
pwm_value=1860;
while(key5==1);
}
}
}
void main(void)//主函数
{
InitTimer();
chushi();
while(1)
{
key();
}
}
电调是 newrain 320A,电机是775电机
程序下载到单片机中,电调响了三声,就红灯一直在闪,按键都没反应
电机不会转,有没有人知道怎么回事?