|
//利用脉冲高低控制步进电机正反转,为什么我的程序实现不了,但是把驱动器上的AB相接反就可以实现反向转动,但正转就又不可以了
#include <REG52.H>
#define uint unsigned int
#define uchar unsigned char
sbit pul=P1^0;
sbit dir=P1^1;
sbit k1=P3^4;
sbit k2=P3^5;
uchar t=10;
void delay(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
if(k1==0)
{
delay(20);
if(k1==0)
{
while(1)
{
while(t--)
{
dir=1;
pul=1;
delay(5);
pul=0;
delay(5);
}
delay(500);
while(t--)
{
dir=0;
pul=1;
delay(5);
pul=0;
delay(5);
}
}
}
}
}
|
|