Programación de Maestría
//Motor
sbit a = p2^0; //Definir pines
sbit b = p2^1; /p>
bit c = p2^2;
bit d = p2^3;
/////////////// / //////////////////////////////Controlador de motor paso a paso
Carácter sin signo MotorStep = 0;
Unsigned int motor timer = 0;
Unsigned int MotorDelay, Speed=1, TIM, CT;
#Definir velocidad 8 //No configurar el valor de velocidad también baja causará vibración.
/****************************************** ***************
*Inicializar motor*
***************** ******* **********************************/
void InitMotor ()
{
a = 1;
b = 1
c = 1; d = 1;
}
void SetMotor()
{
// si (Velocidad == 0) regresa ;
Retraso del motor = velocidad; //Ajustar velocidad
Interruptor (paso del motor)
{
Caso 0:
if(TIM) // A
{
a = 0; //0xf1
b = 1; >c = 1;
d = 1;
paso del motor = 1;
TIM = 0; >
Descanso;
p>
Caso 1://AB
Si (Tim)
{
a = 0; //0xf3
b = 0;
c = 1;
d = 1; 2;
TIM = 0
}
Romper
Caso 2://B
Si (Tim)
{
a = 1;
b = 0; //0xf2
c = 1; p>
d = 1;
paso del motor = 3;
TIM = 0;
}
Rotura
Caso 3://BC
Si (Tim)
{
a = 1
b; = 0; //0xf6
c = 0;
d = 1;
paso del motor = 4; ;
}
Rotura;
Caso 4://C
Si (Tim)
{
a = 1;
p>b = 1; //0xf4
c = 0;
d = 1; /p>
paso motor = 5;
TIM = 0;
}
Rotura;
Caso 5:/ /CD
Si (Tim) p>
{
a = 1;
b = 1; //0xfc
c = 0;
d = 0;
paso del motor = 6;
TIM = 0; /p>
Descanso
Caso 6://D
Si (Tim)
{
a = 1 ;
b = 1; //0xf8
c = 1;
d = 0
paso del motor = 7; /p>
TIM = 0;
}
Descanso;
Caso 7://DA
Si (Tim )
{
a = 0
b = 1; //0xf9
c = 1; p>d = 0;
paso del motor = 0;
TIM = 0;
<p>}
Romper;
}
}
void system_Ini()
{
TMOD | = 0x 11;
TH0 = 0xDC//11.0592M
TL0 = 0x00
IE = 0x8A
TR0 = 1;
}
principal()
{ sistema _ Ini();
iniciar motor();
mientras(1)
{
configurar motor();
}
}
/************************************************ ** **
* *
*Retraso de interrupción temporizada*
****************** ** ****************************/
Tzd no válido (no válido) interrupción 1
{
TH0 = 0xfe//11.0592
TL0 = 0x33
if(ct++ = =velocidad)
{ TIM = 1;
CT = 0;
}
}