用51单片机驱动四线两相步进电机怎么按度数走,比如走个1.8°

2019-07-15 15:09发布

先上仿真 仿真图.png


然后程序是这样的
#include<reg51.h>
#define uchar unsigned char
#define uint        unsigned int
sbit IN0=P1^0;//   A
sbit IN1=P1^1;//  /A
sbit IN2=P1^2;//   B
sbit IN3=P1^3;//  /B
uchar ZhengZhuan[4]={0x03,0x06,0x0C,0x09};
uchar FanZhuan[4]={0x03,0x09,0x0C,0x06};
void delay(int time)
{
  int i,j;
  
  for(j=0; j <= time; j++)
   for(i =0 ; i <= 120; i++);
}


void main(){       
        int m=0;
        while(1){
                P1=ZhengZhuan[m];
                delay(2);
                m++;
                if(m==4) m=0;
               
        }
       
}



按4拍的方式驱动,然后在程序中m==1,m==2,m==3时测试了一下,发现每次走的都是90°,在这里请教下如何走一个步数,即用程序控制电机走1.8°。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。