Sweet__Smile 发表于 2014-5-15 18:42:06

急急急 步进电机程序请教

#include <reg52.h>


unsigned char code F_Rotation={0x02,0x04,0x08,0x10};//正转表格
unsigned char code B_Rotation={0x10,0x08,0x040,0x02};//反转表格

void Delay(unsigned int i)//延时
{
while(--i);
}

main()
{

unsigned char i;

while(1)
{
for(i=0;i<4;i++)      //4相
   {
   P1=F_Rotation;//输出对应的相 可以自行换成反转表格
   Delay(500);      //改变这个参数可以调整电机转速
       }
}
}


这是一个步进电机转动的程序   请教各位大侠怎样改程序在可以接通电源后延时30S后步进电机再转动

longma 发表于 2014-5-15 21:33:04

方法很多。可以先设定一个初始条件,循环运行时,首次根据初始条件,延时30S,接着改变初始状态。
int k=0;
........
while(1)
{
    if(k==0)
   {
   Delay(30000);   
      k++;
    }
for(i=0;i<4;i++)      //4相
      {
      P1=F_Rotation;//输出对应的相 可以自行换成反转表格
      Delay(500);      //改变这个参数可以调整电机转速
          }
   }
}

马良 发表于 2014-5-16 11:28:25

longma 发表于 2014-5-15 21:33 static/image/common/back.gif
方法很多。可以先设定一个初始条件,循环运行时,首次根据初始条件,延时30S,接着改变初始状态。
int k=0 ...

int k=0;
........
Delay(30000);
while(1)
{
for(i=0;i<4;i++)      //4相
      {
      P1=F_Rotation;//输出对应的相 可以自行换成反转表格
      Delay(500);      //改变这个参数可以调整电机转速
          }
   }
}

这样是否更好?

longma 发表于 2014-5-16 18:49:53

马良 发表于 2014-5-16 11:28 static/image/common/back.gif
int k=0;
........
Delay(30000);


楼上说的极是,谢谢小马哥了!

Sweet__Smile 发表于 2014-5-19 15:06:46

楼上两位的方法都试了 还是不行,一接通电源立马转动。。。。
页: [1]
查看完整版本: 急急急 步进电机程序请教