elejung 发表于 2014-8-21 23:24:34

单片机控制舵机打转转

小白求助舵机一直转
#include <reg52.h>
#define        uchar unsigned char
#define uint unsigned int

uint x,y,z,m;

void delay1(uint x)                       //0.1ms
{       
        unsigned char a,b;
        while(x--)
    for(b=1;b>0;b--)
      for(a=43;a>0;a--);
}

void main(void)
{

        P0 = 0xff;
        delay1(x);
        P0 = 0x00;
        delay1(200-x);
        y++;
        if(y>=50)
        {
                y=0;
                x++;
                if(x>=24)x=6;
        }
}
把x换固定值,舵机能定位,写的程序18秒跑一转,但为什么舵机一直转的很快

muyitaozhi 发表于 2014-8-22 11:37:56

{:sad:}也是新手,一眼看去,程序中没有while(1)的循环,没有while(1),系统就会跑飞复位,意味着y可能始终加不到50,根本进不了你的if里面
页: [1]
查看完整版本: 单片机控制舵机打转转