打印

舵机程序控制方法

[复制链接]
2081|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
skd2278|  楼主 | 2008-3-30 21:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit motorL1=P2^2;
uint widthL1;
void delay(time)
uint time;
{
    TMOD = 0x01;
    TH0 = -(time / 256);
    TL0 = -(time % 256);
    TR0 = 1;
    while(!TF0);
    TF0 = 0;
}
void main()
{
    uint time;
    while(1)
    {
        for (time=500; time<=2500; time=time+10)
        {
            motorL1 = 1;
            delay(time);
            motorL1 = 0;
            delay(20000-time);
        }
        for (time=2500; time>=500; time=time-10)
        {
            motorL1 = 1;
            delay(time);
            motorL1 = 0;
            delay(20000-time);
        }
    }
}
请问可以用上面的程序来让舵机左右来回转吗?我正在调试舵机,看了很多资料。不过还是不能让舵机动起来,我直接用AT89C51的口来发脉冲的。希望能够得到达人帮助。上面程序,仅仅是写来调试的FOR中的数值可能差点,请勿见怪。我用的是MG945舵机。谢谢了。如果您不闲烦,可以帮我写一段很小的C51或者8051汇编程序。只要能动起来就行。THANKS ^_^

相关帖子

沙发
NE5532| | 2008-3-30 22:25 | 只看该作者

我有程序,不过在我写的书里面,没办法乱发。

舵机控制其实就用PWM波,可以直接用定时器,那样最简单。舵机的工作原理就是每个PWM波宽度对应一个转动角度。另外还有一些限制,参看舵机的资料。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

7

帖子

0

粉丝