请问 这个s3010舵机 测试程序有什么问题吗 为什么不能控制
时间:10-02
整理:3721RD
点击:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar count,jd=300,T;
sbit pwm=P1^0;
//延时函数
void delay(uchar x)
{
T=x;
while(T);
}
//定时器初始化
void Time0_init()
{
if(T!=0)
T--;
TMOD=0x01; //定时器0工作方式1
IE=0x82;
TH0=(65535-9)/256;
TL0=(65535-9)%256; //11.0592MHZ晶振,ms
TR0=1;
}
//定时器0中断程序
void Time0() interrupt 1
{
TH0=(65535-9)/256;
TL0=(65535-9)%256;
if(count++<jd) //判断0.5ms次数是否小于角度标识
pwm=1; //是,pwm输出高电平
else
pwm=0; //否,输出低电平
count=count%2000; //次数始终保持为40,即保持周期为20ms
}
void main()
{
count=0;
Time0_init();
while(1)
{
}
}
#define uchar unsigned char
#define uint unsigned int
uchar count,jd=300,T;
sbit pwm=P1^0;
//延时函数
void delay(uchar x)
{
T=x;
while(T);
}
//定时器初始化
void Time0_init()
{
if(T!=0)
T--;
TMOD=0x01; //定时器0工作方式1
IE=0x82;
TH0=(65535-9)/256;
TL0=(65535-9)%256; //11.0592MHZ晶振,ms
TR0=1;
}
//定时器0中断程序
void Time0() interrupt 1
{
TH0=(65535-9)/256;
TL0=(65535-9)%256;
if(count++<jd) //判断0.5ms次数是否小于角度标识
pwm=1; //是,pwm输出高电平
else
pwm=0; //否,输出低电平
count=count%2000; //次数始终保持为40,即保持周期为20ms
}
void main()
{
count=0;
Time0_init();
while(1)
{
}
}