找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1694|回复: 0
收起左侧

51单片机驱动步进电机

[复制链接]
ID:235581 发表于 2017-9-25 20:04 | 显示全部楼层 |阅读模式
#include <reg52.h>

//4相8拍  
unsigned char code tableCCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};   //逆时针旋转相序表  
unsigned char code tableCW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};    //顺时针旋转相序表  
unsigned char code ZZ[8]={0xd5,0xf5,0x75,0x7d,0x5d,0x5f,0x57,0xd7};//28BYJ-48正时钟旋转相序表
void BGdelay(unsigned int n)//步进延时
{
unsigned int i;
for(n;n>0;n--)
for(i=96;i>0;i--);
}

void motorTurn_ccw()      //转1圈,逆时针  
{     
    int i,j;  
    for(j=0;j<8;j++)       //电机内部的转子旋转一周  
    {  

        for(i=0;i<8;i++)    //旋转45度, 8*5.625°=45°  
        {  
          //  P2=tableCW[i];
                   P2=ZZ[i];
            BGdelay(2);      //调节转速  
        }  
    }  
}  

void interrupt_0() interrupt 0
{           int r;  
         int N=64;
     for(r=0;r<N;r++)  
          {  
                motorTurn_ccw();  //电机逆时针转  

          }  

}

void main()  
{  

     //减速步进电机,减速比1/64,所以N=64时,步进电机外主轴转一圈   
   // P2=0xff;     
           EA=1;
         EX0 =1;
         IT0=0;
    while(1);  






    }  


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表