关于51驱动舵机,有波形输出舵机却不转动

2020-01-17 19:11发布

我是用中断写的,11.0592的晶振,然后用示波器测试波形的时候发现伯茨那个正常,20MS一个周期,高电平时间为1ms,接下来是程序
#include <reg52.h>
unsigned int a,b;
sbit c=P0^0;         
void timer0 (void) interrupt 1
{
                c=!c;
                b=20000-b;
                TH0=-(b/256);
                TL0=-(b%256);
                if(b>=500&&b<=2500)
                b=a;
                else
                b=20000-a;
}

void main(void)
{
                TMOD |=0x01;               
                c=1;
                a=1500;
                b=a;
                TH0=-(a/256);              
                TL0=-(a%256);
                EA=1;        
                ET0=1;        
                TR0=1;      
                TR1=1;           
                PT0=1;           
                while(1);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
30条回答
墨逸、
1楼-- · 2020-01-17 20:06
求大神啊
jqbkl007
2楼-- · 2020-01-18 00:53
io要设置成推挽输出
not_at_all
3楼-- · 2020-01-18 01:03
如果你的舵机初始位置刚好对应1ms脉冲的位置,当然不会动了     通电前把舵机转到其他位置看看
墨逸、
4楼-- · 2020-01-18 02:29
not_at_all 发表于 2014-4-27 22:08
如果你的舵机初始位置刚好对应1ms脉冲的位置,当然不会动了     通电前把舵机转到其他位置看看 ...

有试过,但是不能用
墨逸、
5楼-- · 2020-01-18 02:42
 精彩回答 2  元偷偷看……
not_at_all
6楼-- · 2020-01-18 04:49
你测波形是接舵机测的吗?
还有,你确保没有接错线(虽然看起来可能性不大,但是还是复核一下)?

一周热门 更多>