[疑难问答] 单片机如何控制步进电机停止

[复制链接]
924|9
 楼主| wanglaojii 发表于 2018-1-23 22:41 | 显示全部楼层 |阅读模式
求大佬看看
void main(void)
{ u16 j,i;
time();        

        
        j=0;
        for(i=0;i<64;i++)
          {P1=0x00;
           P1=FFW[j];
           j++;
           if(j>=8) j=0;
           delay(500);
           }
           TR0=0;
}        
这个是我实现步进电机动起来的部分
laozhongyi 发表于 2018-1-23 22:44 | 显示全部楼层
不发脉冲就可以让步进电机不转动的。
Edisons 发表于 2018-1-23 22:47 | 显示全部楼层
我的i只循环64次,也就是说64次脉冲后应该就停了啊
_gege 发表于 2018-1-23 22:49 | 显示全部楼层

time()和你后面一大段代码有关系么?
Mozarts 发表于 2018-1-23 22:50 | 显示全部楼层
感觉你是8位并口 操作吧 。
Listate 发表于 2018-1-23 22:54 | 显示全部楼层
第一你得确定你的端口位。
第二你的FFW[j]数据逻辑对不对。这里你的循环就错了  if(j>=8) j=0;  多执行了一次。
zhouhuanの 发表于 2018-1-23 22:56 | 显示全部楼层
你是打算关掉定时器?可是跟你控制步进电机的程序有关系么
handleMessage 发表于 2018-1-23 22:57 | 显示全部楼层

TR0是51单片机定时器T0的开定时器位,有可能你的用到了中断了
bbapple 发表于 2018-1-23 23:01 | 显示全部楼层
没有方波信号输出时,步进电机不会转的
sourceInsight 发表于 2018-1-23 23:03 | 显示全部楼层
通过pwm控制,不给pwm
您需要登录后才可以回帖 登录 | 注册

本版积分规则

220

主题

1411

帖子

1

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