舵机MG995、
芯片STC89C52RC,无论我怎么设置PWM,舵机就是不按我想要的角度转,不仅满偏,还在满偏位置来回摆动,有谁能帮帮忙,解释一下原因
程序如下:
#include <reg51.h>
sbit P1_2=P1^2;
unsigned char a=0;
void Init
timer0(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一个周期
}
}
楼主试试我的程序,很久以前调试的
一周热门 更多>