老x详解步进电机——连载一:啥是步进电机

[复制链接]
48873|208
zhiyonghe 发表于 2010-1-5 13:37 | 显示全部楼层
留印,学习
zywic5 发表于 2010-1-5 17:33 | 显示全部楼层
留印,学习
03024003 发表于 2010-1-8 08:50 | 显示全部楼层
强贴
学习了
turmary 发表于 2010-1-9 00:32 | 显示全部楼层
好贴留名!
liliancheng 发表于 2010-1-10 15:42 | 显示全部楼层
好帖!谢谢楼主!
wuzx-61 发表于 2010-1-10 20:14 | 显示全部楼层
老X如孔夫子也,博学多才!后来者受益。
crazyxray 发表于 2010-1-11 01:58 | 显示全部楼层
学习了! 俺准备交的毕业设计就是弄这个的驱动细分!
skyto 发表于 2010-1-11 15:26 | 显示全部楼层
新手来学习了
xfgood3872 发表于 2010-4-7 13:58 | 显示全部楼层
xfgood3872 发表于 2010-4-7 20:35 | 显示全部楼层
正在学这个   再来看看
xiejixk 发表于 2010-4-28 20:03 | 显示全部楼层
收购洗碗机



















求步进电机驱动电路图
lxintian 发表于 2010-5-5 13:04 | 显示全部楼层
学习了
lonerwolf 发表于 2010-5-5 13:33 | 显示全部楼层
....学习了。。。。。。。。。。。。。
cbs110 发表于 2010-5-8 11:02 | 显示全部楼层
szmj 发表于 2010-5-8 11:35 | 显示全部楼层
黄瓜菜都等凉了。
linbei1988 发表于 2010-5-8 14:21 | 显示全部楼层
是不是被放弃了..
shu081 发表于 2010-5-8 20:16 | 显示全部楼层
长见识了:P
nayaix 发表于 2010-5-12 11:25 | 显示全部楼层
学习 了
zhzy724 发表于 2010-5-12 13:00 | 显示全部楼层
/***************   writer:shopping.w   ******************/
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code FFW[]=          //正转
{
        0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09  
};

uchar code REV[]=        //反转
{
        0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01
};

sbit K1 = P3^0;
sbit K2 = P3^1;
sbit K3 = P3^2;

void DelayMS(uint ms)  //延时
{
        uchar i;
        while(ms--)
        {
                 for(i=0;i<120;i++);
        }
}

void SETP_MOTOR_FFW(uchar n)   //正转
{
        uchar i,j;
        for(i=0;i<1*n;i++)
        {
                 for(j=0;j<8;j++)
                {
                         if(K3 == 0)        break;
                        P1 = FFW[j];
                        DelayMS(25);
                }
        }
}

void SETP_MOTOR_REV(uchar n)  //反转
{
        uchar i,j;
        for(i=0;i<1*n;i++)
        {
                 for(j=0;j<8;j++)
                {
                         if(K3 == 0)        break;
                        P1 = REV[j];
                        DelayMS(25);
                }
        }
}

void main()
{
        uchar N = 1;
        while(1)
        {
                 if(K1 == 0)
                {  while(K1==0);
                         P0 = 0xfe; //正转LED指示
                        SETP_MOTOR_FFW(N);
                        if(K3 == 0) break;
                }
                else if(K2 == 0)
                {        while(K2==0);
                         P0 = 0xfd;        //反转LED指示
                        SETP_MOTOR_REV(N);
                        if(K3 == 0) break;
                }
                else
                {
                         P0 = 0xfb;          //停LED指示
                        P1 = 0x03;
                }
        }
}
当按下K1(K2)时怎么每次都正转72°(反转72°)?
程序怎么改让它只转9°?
请各位大侠帮忙
vifuture 发表于 2010-12-24 16:39 | 显示全部楼层
不错,收藏一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部