Codigo:
/************************************************************************
* *
* MOTOR Pap UNIPOLAR con paso doble *
* *
************************************************************************/
#include <16F876.h>
#fuses XT, NOPROTECT, NOPUT, NOWDT, NOBROWNOUT, NOLVP, NOCPD, WRT
#use delay (clock=4000000)
#use fast_io(A)
#use fast_io(B)
main()
{
short I1,I2;
set_tris_a(0x1F);
set_tris_b(0x00);
while ( 1 )
{
I1=input(PIN_A0); // Si RA0=1, RA1=0 --> Giro horario
I2=input(PIN_A1); // Si RA0=0, RA1=0 --> Giro antihorario
// Si RA0=*, RA1=1 --> Paro
if(I1==1 && I2==0) // Giro horario
{
output_B(0x0C);
delay_ms(50);
output_B(0x06);
delay_ms(50);
output_B(0x03);
delay_ms(50);
output_B(0x09);
delay_ms(50);
}
if(I1==0 && I2==0) // Giro antihorario
{
output_B(0x09);
delay_ms(50);
output_B(0x03);
delay_ms(50);
output_B(0x06);
delay_ms(50);
output_B(0x0C);
delay_ms(50);
}
}
}