怎么通过按键控制步进电机的转动还是停止?

2019-07-15 13:24发布

本帖最后由 看起来很无聊 于 2016-7-17 11:29 编辑

这是我自己写的一个程序,刚开始步进电机是停止的,按下按键后步进电机转动,但是再按下按键时,步进电机并不会停止。应该怎么改呢或者有什么思路其他的方法?
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit key1=P3^4;                                         //暂停还有停止
unsigned char code F_Rotation[4]={0x03,0x06,0x0c,0x09};//正转表格
unsigned char code B_Rotation[4]={0x03,0x09,0x0c,0x06};//反转表格

void delay(uchar i)//延时
{
     uchar j;
     while( i--){
         for(j=0;j<250;j++)
             {;}
     }
}

void main()
{

    uchar i,j;
    uchar flag=0; //控制步进电机停止还是运转
    if(key1==0) {
       delay(5);
       if(key1==0)
       {
           flag=~flag;
           while(!key1);
        }
    }

while(flag)
{
      j=0;
      for(i=0;i<192;i++)
      {
          P1 = 0x00;
          P1 = F_Rotation[j];//这里只有正转是为了测试
          j++;
          if(j>=4) j=0;
          delay(2);
      }
      delay(200);
  }
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
chenwei6991627
1楼-- · 2019-07-16 13:39
flag并不能停止把,要把数据输入赋值为0,打赏点积分把

评分

参与人数 1积分 +2 收起 理由 看起来很无聊 + 2

查看全部评分

xxxx1233556
2楼-- · 2019-07-16 15:34
P1 = 0x00;停止
林小孩
3楼-- · 2019-07-16 15:58
 精彩回答 2  元偷偷看……
林小孩
4楼-- · 2019-07-16 16:34
有没有msp430f149的控制电机转动的程序,谢谢

一周热门 更多>