微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 用51单片机驱动四线两相步进电机怎么按度数走,比如走个1.8°

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

时间:10-02 整理:3721RD 点击:
先上仿真图



然后程序是这样的
#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°。

正想要呢~~谢谢

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top