求教怎么用51控制舵机 舵机转过角度一样的
时间:10-02
整理:3721RD
点击:
程序是这样的 求帮我看看 为什么舵机转过的角度一样的
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit MOTOR_A_1=P1^0;
sbit MOTOR_A_2=P1^1;
uchar T=0; //?¨ê±±ê??
uchar W=10; //???í?μ 0~100
uchar s=5;
void delayms(uint t);
void init(void)
{
//???ˉ?D??
TMOD=0x01;
EA=1;
ET0=1;
TR0=1;
//éè???¨ê±ê±??
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
}
void timer0() interrupt 1
{
//?????¨ê±?÷ê±??
TH0=(65536-100)/256;
TL0=(65536-100)%256;
T++; //?¨ê±±ê???ó1
//W++;
//s++;
if(T>W)
MOTOR_A_1 =0;
else
MOTOR_A_1 =1;
if(T>s)
MOTOR_A_2 =0;
else
MOTOR_A_2 =1;
if(T==200)
T=0;
}
/*
void delayms(uint t)
{
uchar j;
while(t--)
{
for(j=0;j<250;j++) //?250?
{
_nop_(); //?
_nop_(); //?
_nop_(); //?
_nop_(); //?
}
}
}*/
void main(void)
{
init(); /////////?μí33?ê??ˉ
while(1)
{
}
}
/**********************************************************************
END
**********************************************************************/
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit MOTOR_A_1=P1^0;
sbit MOTOR_A_2=P1^1;
uchar T=0; //?¨ê±±ê??
uchar W=10; //???í?μ 0~100
uchar s=5;
void delayms(uint t);
void init(void)
{
//???ˉ?D??
TMOD=0x01;
EA=1;
ET0=1;
TR0=1;
//éè???¨ê±ê±??
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
}
void timer0() interrupt 1
{
//?????¨ê±?÷ê±??
TH0=(65536-100)/256;
TL0=(65536-100)%256;
T++; //?¨ê±±ê???ó1
//W++;
//s++;
if(T>W)
MOTOR_A_1 =0;
else
MOTOR_A_1 =1;
if(T>s)
MOTOR_A_2 =0;
else
MOTOR_A_2 =1;
if(T==200)
T=0;
}
/*
void delayms(uint t)
{
uchar j;
while(t--)
{
for(j=0;j<250;j++) //?250?
{
_nop_(); //?
_nop_(); //?
_nop_(); //?
_nop_(); //?
}
}
}*/
void main(void)
{
init(); /////////?μí33?ê??ˉ
while(1)
{
}
}
/**********************************************************************
END
**********************************************************************/
代码根本没法看啊。舵机的控制不是用的的PWM么?
是的啊 在编程的时候中文字都能显示的。可是我给舵机加PWM波 它只能转动一点点 不管我怎么改变占空比他转动角度都是一样的 而且只往一个方向转
咋回事