标题: 利用单片机独立按键控制步进电机转动角度 [打印本页]

作者: ninilife    时间: 2014-7-22 15:28
标题: 利用单片机独立按键控制步进电机转动角度
我的程序
#include <reg52.h>
sbit A1=P1^0;
sbit B1=P1^1;
sbit C1=P1^2;
sbit D1=P1^3;
#define Coil_A1 {A1=1;B1=0;C1=0;D1=0;}

#define Coil_B1 {A1=0;B1=1;C1=0;D1=0;}
#define Coil_C1 {A1=0;B1=0;C1=1;D1=0;}
#define Coil_D1 {A1=0;B1=0;C1=0;D1=1;}
#define Coil_AB1 {A1=1;B1=1;C1=0;D1=0;}
#define Coil_BC1 {A1=0;B1=1;C1=1;D1=0;}
#define Coil_CD1 {A1=0;B1=0;C1=1;D1=1;}
#define Coil_DA1 {A1=1;B1=0;C1=0;D1=1;}
#define Coil_OFF {A1=0;B1=0;C1=0;D1=0;}
unsigned char Speed;

void DelayUs2x(unsigned char t)

{  while(--t);}
void DelayMs(unsigned char t)

{while(t--)
{
     //大致延时1mS
     DelayUs2x(245);
        DelayUs2x(245);
}
}
void stepa()

{
unsigned int i=32;
Speed=8;
Coil_OFF
while(i--)  /
  {         
     Coil_A1              
     DelayMs(Speed);      
Coil_B1
     DelayMs(Speed);
     Coil_C1
     DelayMs(Speed);
     Coil_D1
     DelayMs(Speed);
  }
  Coil_OFF
}
void stepb()

{
unsigned int i=32;
Speed=8;
Coil_OFF
while(i--)
  {
     Coil_D1               
     DelayMs(Speed);      
      Coil_C1
     DelayMs(Speed);
     Coil_B1
     DelayMs(Speed);
     Coil_A1
     DelayMs(Speed);
  }
}
void main()

{
while (1)        
  {switch(P3)  
       {
           case 0xfe:stepa();break;//0xfe = 1111 1110,
                case 0xfd:stepb();break;
                case 0xfb:stepa();break;
                case 0xf7:stepb();break;
                case 0xef:stepa();break;
                case 0xdf:stepb();break;
                case 0xbf:stepa();break;
                case 0x7f:stepb();break;
                default:break;   
          }
                     
  }
}
我想利用独立按键(8个)控制步进电机,按下按键K1 3 5 7时,执行stepa,也就是正转45度,按下按键K2 4 6 8,执行stepb,也就是反转45度,该程序是0ERRORS 1WARNINGS     但是单片机给电之后,按下按键电机无反应,请问是怎么回事?

作者: meilidianzhi    时间: 2014-7-27 13:33

作者: 独家记忆    时间: 2014-8-5 15:53
了解了解
作者: hts2008222    时间: 2015-10-23 16:17
按键程序没有设计好,出个接线图。有空帮你研究下。
作者: 我尼玛    时间: 2018-5-16 10:34
电机不转,有可能是你的原理题有问题,程序不知道你仿真正确不




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1