大家来帮我看看51控制舵机的问题,它怎么就转不对(有程...

2019-07-16 02:13发布

舵机MG995、芯片STC89C52RC,无论我怎么设置PWM,舵机就是不按我想要的角度转,不仅满偏,还在满偏位置来回摆动,有谁能帮帮忙,解释一下原因
程序如下:
#include <reg51.h>
sbit P1_2=P1^2;
unsigned char a=0;
void Inittimer0(void)       //设置0.1ms中断一次
{  
TMOD = 0x01;  
TH0=(65536-100)/256;
TL0=(65536-100)%256;  
EA = 1;  
ET0 = 1;  
TR0 = 1;
}

void main(void)
{
   InitTimer0();
   a=5;      //我用比较笨的方法逐次给不同的脉冲,第一次给0.5ms,看转的角度,然后改成a=10,再烧进程序,看1ms的转角
  //a=10;
  //a=15;
  //a=20;
}
void PWM() interrupt 1
{
  static unsigned char count;
  TH0=(65536-100)/256;
  TL0=(65536-100)%256;  
  if(count<=a)
  {P1_2=1;}
  else
  {P1_2=0;}
  count++;
  if(count == 200)
  {
   count=0;    //20ms一个周期
  }
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。