采用TB6600驱动两相步进电机
时间:10-02
整理:3721RD
点击:
请问,我采用单片机控制,目前上电后电机有响声,但不转动,接线没问题,这是我的程序,请大家指教指教。
#include<reg52.h>
#define unit unsigned int
#define uchar unsigned char
void delayms(unit);
unsigned char a,b;
sbit p0_1=P0^1; //总开关
sbit p0_2=P0^2; //反转
sbit p0_3=P0^3; //正转
sbit p2_0=P2^0; //使能
sbit p2_1=P2^1; //脉冲
sbit p2_2=P2^2; //方向
void main(void)
{
p2_0=0;
//p0_1=0;
p2_1=0;
if(p0_1==1&& p0_3==1)
while(1)
{
p2_0=1;
p2_1=1;
p2_2=1;
delayms(2000);
// p2_0=0;
p2_1=0;
delayms(2000);
}
else
{ if(p0_1==1&&p0_2==1)
while(1)
{
p2_0=1;
p2_1=1;
p2_2=0;
delayms(2000);
p2_1=0;
// p2_0=0;
delayms(2000);
}
}
}
void delayms(unit b) //延时函数
{
unit a;
for(a=0;a<b;a++)
{
}
}
#include<reg52.h>
#define unit unsigned int
#define uchar unsigned char
void delayms(unit);
unsigned char a,b;
sbit p0_1=P0^1; //总开关
sbit p0_2=P0^2; //反转
sbit p0_3=P0^3; //正转
sbit p2_0=P2^0; //使能
sbit p2_1=P2^1; //脉冲
sbit p2_2=P2^2; //方向
void main(void)
{
p2_0=0;
//p0_1=0;
p2_1=0;
if(p0_1==1&& p0_3==1)
while(1)
{
p2_0=1;
p2_1=1;
p2_2=1;
delayms(2000);
// p2_0=0;
p2_1=0;
delayms(2000);
}
else
{ if(p0_1==1&&p0_2==1)
while(1)
{
p2_0=1;
p2_1=1;
p2_2=0;
delayms(2000);
p2_1=0;
// p2_0=0;
delayms(2000);
}
}
}
void delayms(unit b) //延时函数
{
unit a;
for(a=0;a<b;a++)
{
}
}