找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1449|回复: 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);  






    }  


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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