标题:
求助:关于用51单片机控制SG90舵机的问题,舵机转的非常慢
[打印本页]
作者:
1226468088
时间:
2017-1-23 22:04
标题:
求助:关于用51单片机控制SG90舵机的问题,舵机转的非常慢
我写了一个简单的程序,让舵机转到一个指定角度停下来,可以转,但是舵机转的非常非常慢.我想知道这是为什么,如果可以的话,求一个SG90舵机的51控制程序
我写的程序如下:
#include<reg52.h>
#define unchar unsigned char
unsigned char count; //0.5ms次数标识
unsigned char jd;
sbit pwm1 = P2^1;
void delay(unsigned int t)
{
int i = 0;
while(t--)
for(i=0;i<120;i++);
}
void Time0_Init() //定时器初始化
{
TMOD = 0x01; //定时器0工作在方式1
TH0 = (65535-500)/256;
TL0 = (65535-500)%256; //12MZ晶振,0.5ms
EA=1; //总中断打开
ET0=1; //定时器中断打开
TR0=1; //定时器开关打开
}
void Time0_Int() interrupt 1
{
TH0 = (65535-500)/256; //重新赋值
TL0 = (65535-500)%256;
if(count< jd) //判断0.5ms次数是否小于角度标识
{
pwm1=1; //确实小于,PWM输出高电平
}
else
{
pwm1=0; //大于则输出低电平
}
count++;//(count+1); //0.5ms次数加1
if(count>=40)
count=0;
//count=count%40; //次数始终保持为40 即保持周期为20ms
}
unsigned char count; //0.5ms次数标识
void keyscan() //按键扫描
{
}
void main()
{
jd=1;
count=0;
Time0_Init();
while(1)
{
keyscan();
}
}
作者:
utzuzu
时间:
2017-1-24 14:28
小型舵机的工作电压一般为4.8V或6V,转速也不是很快,一般为0.22/60度或0.18/60度,所以假如你更改角度控制脉冲的宽度太快时,舵机可能反应不过来。如果需要更快速的反应,就需要更高的转速了。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1