单片机如何控制步进电机停止

[复制链接]
 楼主| lium 发表于 2021-9-6 22:31 | 显示全部楼层 |阅读模式
求大佬看看
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;
}        
这个是我实现步进电机动起来的部分
guoyt 发表于 2021-9-6 22:33 | 显示全部楼层
不发脉冲就可以让步进电机不转动的。
renyaq 发表于 2021-9-6 22:37 | 显示全部楼层
我的i只循环64次,也就是说64次脉冲后应该就停了啊
hanwe 发表于 2021-9-6 22:40 | 显示全部楼层
time()和你后面一大段代码有关系么?
llia 发表于 2021-9-6 22:43 | 显示全部楼层
感觉你是8位并口 操作吧 。
zhanghqi 发表于 2021-9-6 22:45 | 显示全部楼层

第一你得确定你的端口位。
第二你的FFW[j]数据逻辑对不对。这里你的循环就错了  if(j>=8) j=0;  多执行了一次。
wangzsa 发表于 2021-9-6 22:48 | 显示全部楼层

你是打算关掉定时器?可是跟你控制步进电机的程序有关系么
stly 发表于 2021-9-6 22:51 | 显示全部楼层
TR0是51单片机定时器T0的开定时器位,有可能你的用到了中断了
supernan 发表于 2021-9-6 22:54 | 显示全部楼层
没有方波信号输出时,步进电机不会转的
langgq 发表于 2021-9-6 22:59 | 显示全部楼层
通过pwm控制,不给pwm
 楼主| lium 发表于 2021-9-6 23:02 | 显示全部楼层
唉,还是没有什么结果,算了,多谢大家啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

915

主题

9578

帖子

3

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