中级会员
- 积分
- 233
- 威望
- 168
- 贡献
- 51
- 兑换币
- 0
- 注册时间
- 2011-8-26
- 在线时间
- 7 小时
|
我想要输出一个周期为20ms的方波,其中1.5ms高电平,18.5ms低电平,先让舵机能稳定在一个位置不动。
我用的单片机型号是80c52rc,舵机的型号是Futaba s3010。当我使用此程序驱动舵机时,舵机一直向左转
(ps:舵机横向安装,右侧在下,齿轮初始位置在正上方即舵机直立时的左端)
希望大家帮忙看下我的程序,是否哪里出现了问题,或者说程序没问题而是硬件造成的。。。。
先谢过各位,程序如下。
#include"reg52.h"
sbit pwm = P1^7;
int ncounter=1;
main()
{
TMOD = 0x01;
TH0 = 0xFE; //定时函数,定时0.5ms
TL0 = 0x13;
ET0 = 1;
EA = 1;
TF0 = 0;
TR0 = 1;
while(1)
;
}
void int0()interrupt 1 using 0 //中断函数
{
TH0 = 0xFE; //重写定时函数
TL0 = 0x13;
led1=1;
pwm=1;
ncounter++;
if(ncounter<=3) //3*0.5ms的高电平
{
pwm=~pwm;
led1=~led1;
}
if(ncounter==40)
{
ncounter=0;
}
} |
|