大家来帮我看看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一个周期
  }
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
397691163
1楼-- · 2019-07-16 08:08
后来我把中断改为执行一次,但还是满偏,求救呀
397691163
2楼-- · 2019-07-16 12:33
或者谁发个舵机MG995的数据手册给我,我好看看
Stone_up
3楼-- · 2019-07-16 15:57
本帖最后由 Stone_up 于 2013-6-3 11:42 编辑

ServoControl.rar (34.74 KB, 下载次数: 332)

楼主试试我的程序,很久以前调试的
sjc183609
4楼-- · 2019-07-16 17:38
你用示波器看看出来的脉冲是不是对的
397691163
5楼-- · 2019-07-16 19:11
 精彩回答 2  元偷偷看……
397691163
6楼-- · 2019-07-16 19:25
问题解决了,因为我用的是单片机学习板,我一直是把VCC、GND、和数据线接到同一个板子上,导致VCC供电异常,后来我把vcc单独供应一个5V电源,GND和数据线还是在同一个板子,就正常了。感谢大家对我给予的帮助。

一周热门 更多>