我用STC89C52单片机控制舵机,为什么它只在单片机上电一瞬间工作,然后就没反应了,球大神指导。程序如下
#include<reg52.h>unsignedcharcount;//次数标识unsignedcharjd;//角度标识sbitPWM=P3^7;sbitJia=P2...
#include<reg52.h>
unsigned char count; //次数标识
unsigned char jd; //角度标识
sbit PWM=P3^7;
sbit Jia=P2^7;
sbit Jan=P2^6;
void delay(unsigned char i)
{
unsigned char j,k;
for(j=i;j>0;j--)
for(k=110;k>0;k--);
}
void Timer_Init()
{
TMOD=0x01;
TH0=0xfe;
TL0=0x33; //0.5ms
ET0=1;
TR0=1;
EA=1;
}
void Timer0_Int() interrupt 1
{
TH0=0xfe;
TL0=0x33;
count++;
if(count < jd) //判断0.5ms次数是否小于角度标示
PWM = 1;
else
PWM = 0;
count = count+1;
count=count%40;
}
void keyscan() //按键扫描控制舵机正反转动,
{
if(!Jia)
{
delay(10);
if(!Jia)
{
jd++;
count=0;
if(jd==6)
jd=5;
while(Jia==0);
}
}
if(!Jan)
{
delay(10);
if(!Jan)
{
jd--;
count=0;
if(jd==0)
jd=1;
while(Jan==0);
}
}
}
void main()
{
jd=1;
count=0;
Timer_Init();
while(1)
{
keyscan();
}
}
我用的是11.0592KHz的晶振。通过模拟控制PWM脉冲,调整它的占空比来控制舵机旋转。
我用的舵机是MG995的.
尺寸:
40mmX20mmX36.5mm
重量:
62g
技术参数:无负载速度
0.17
秒
/60
度
(4.8V)
0.13
秒
/60
度
(6.0V)
扭矩:
13KG
使用温度
:-30~~+60
摄氏度
死区设定
:4
微秒
工作电压
:3.0V-7.2V
40mmX20mmX36.5mm
重量:
62g
技术参数:无负载速度
0.17
秒
/60
度
(4.8V)
0.13
秒
/60
度
(6.0V)
扭矩:
13KG
使用温度
:-30~~+60
摄氏度
死区设定
:4
微秒
工作电压
:3.0V-7.2V 展开
unsigned char count; //次数标识
unsigned char jd; //角度标识
sbit PWM=P3^7;
sbit Jia=P2^7;
sbit Jan=P2^6;
void delay(unsigned char i)
{
unsigned char j,k;
for(j=i;j>0;j--)
for(k=110;k>0;k--);
}
void Timer_Init()
{
TMOD=0x01;
TH0=0xfe;
TL0=0x33; //0.5ms
ET0=1;
TR0=1;
EA=1;
}
void Timer0_Int() interrupt 1
{
TH0=0xfe;
TL0=0x33;
count++;
if(count < jd) //判断0.5ms次数是否小于角度标示
PWM = 1;
else
PWM = 0;
count = count+1;
count=count%40;
}
void keyscan() //按键扫描控制舵机正反转动,
{
if(!Jia)
{
delay(10);
if(!Jia)
{
jd++;
count=0;
if(jd==6)
jd=5;
while(Jia==0);
}
}
if(!Jan)
{
delay(10);
if(!Jan)
{
jd--;
count=0;
if(jd==0)
jd=1;
while(Jan==0);
}
}
}
void main()
{
jd=1;
count=0;
Timer_Init();
while(1)
{
keyscan();
}
}
我用的是11.0592KHz的晶振。通过模拟控制PWM脉冲,调整它的占空比来控制舵机旋转。
我用的舵机是MG995的.
尺寸:
40mmX20mmX36.5mm
重量:
62g
技术参数:无负载速度
0.17
秒
/60
度
(4.8V)
0.13
秒
/60
度
(6.0V)
扭矩:
13KG
使用温度
:-30~~+60
摄氏度
死区设定
:4
微秒
工作电压
:3.0V-7.2V
40mmX20mmX36.5mm
重量:
62g
技术参数:无负载速度
0.17
秒
/60
度
(4.8V)
0.13
秒
/60
度
(6.0V)
扭矩:
13KG
使用温度
:-30~~+60
摄氏度
死区设定
:4
微秒
工作电压
:3.0V-7.2V 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询