#include "reg52.h"
sbit GPIO_MOTOR_1 = P3^7;
sbit GPIO_MOTOR_2 = P3^6;
sbit GPIO_MOTOR_3 = P3^5;
sbit GPIO_MOTOR_4 = P3^4;
/****
*******电机延时
*****/
void StepDelay(unsigned int t)
{
unsigned int k;
while(t--)
{
for(k=0; k<80; k++)
{ }
}
}
/****
*******电机正转函数
*****/
void Motor_Foreward()
{
unsigned int i;
for(i=0;i<256;i++)
{
GPIO_MOTOR_1 = 1;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 1;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 1;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 1;
GPIO_MOTOR_4 = 1;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 1;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 1;
GPIO_MOTOR_3 = 1;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 1;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 1;
GPIO_MOTOR_2 = 1;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 1;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 0;
StepDelay(1);
}
}
/****
*******电机反转函数
*****/
void Motor_Reversal()
{
unsigned int i;
for(i=0;i<256;i++)
{
GPIO_MOTOR_1 = 1;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 1;
GPIO_MOTOR_2 = 1;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 1;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 1;
GPIO_MOTOR_3 = 1;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 1;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 1;
GPIO_MOTOR_4 = 1;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 1;
StepDelay(1);
GPIO_MOTOR_1 = 1;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 1;
StepDelay(1);
}
}
sbit GPIO_MOTOR_1 = P3^7;
sbit GPIO_MOTOR_2 = P3^6;
sbit GPIO_MOTOR_3 = P3^5;
sbit GPIO_MOTOR_4 = P3^4;
/****
*******电机延时
*****/
void StepDelay(unsigned int t)
{
unsigned int k;
while(t--)
{
for(k=0; k<80; k++)
{ }
}
}
/****
*******电机正转函数
*****/
void Motor_Foreward()
{
unsigned int i;
for(i=0;i<256;i++)
{
GPIO_MOTOR_1 = 1;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 1;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 1;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 1;
GPIO_MOTOR_4 = 1;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 1;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 1;
GPIO_MOTOR_3 = 1;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 1;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 1;
GPIO_MOTOR_2 = 1;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 1;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 0;
StepDelay(1);
}
}
/****
*******电机反转函数
*****/
void Motor_Reversal()
{
unsigned int i;
for(i=0;i<256;i++)
{
GPIO_MOTOR_1 = 1;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 1;
GPIO_MOTOR_2 = 1;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 1;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 1;
GPIO_MOTOR_3 = 1;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 1;
GPIO_MOTOR_4 = 0;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 1;
GPIO_MOTOR_4 = 1;
StepDelay(1);
GPIO_MOTOR_1 = 0;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 1;
StepDelay(1);
GPIO_MOTOR_1 = 1;
GPIO_MOTOR_2 = 0;
GPIO_MOTOR_3 = 0;
GPIO_MOTOR_4 = 1;
StepDelay(1);
}
}