cambio de giro de motor a pasos

hola amigos tengo un dilema tengo poca experiencia programando pic's en mikroC con el pic16f883, tengo que hacer el codigo para hacer el cambio de un motor a pasos este seria en si el codigo para un sentido para el otro solo invertiría el sentido solo que me piden que sea mediante un boton y supongo que tiene que ir con la variable IF y un obton solo que e leido tutoriales pero no me sale el codigo tiene que ser algo como si boton = 1 hace un ciclo y si boton = 0 hace otro ciclo
el boton lo voy a poner en la entrada en el portA en la 0 y segun yo tendria que ir asi y
quiero saber en que estoy estoy mal y si me pueden ayudar a enterder esta variable.

gracias y buen dia

Código:
void main () {
trisa=1;
trisb=0;

while(1) {
if(porta.f0=1)
{

portb.f0=1;
delay_ms(100);
portb.f0=0;
portb.f1=1;
delay_ms(100);
portb.f1=0;
portb.f2=1;
delay_ms(100);
portb.f2=0;
portb.f3=1;
delay_ms(100);
portb.f3=0;
}
else if (porta.f0=1);
{
portb.f0=1;
delay_ms(100);
portb.f0=0;
portb.f1=1;
delay_ms(100);
portb.f1=0;
portb.f2=1;
delay_ms(100);
portb.f2=0;
portb.f3=1;
delay_ms(100);
portb.f3=0;
}
}
}
}
 
Última edición por un moderador:
Un consejo rápido, utiliza un array para guardar las salidas que excitan el motor, usa una variable para indicar el sentido y después es tan sencillo como hacer que las salidas se correspondan con array[x] y vas jugando con la x, sumando 1 o restando 1. Si tienes alguna duda imagino que en el buscador del foro habrá unos cuantos ejemplos o incluso algo ya hecho que te pueda servir. Saludos
 
Hola
Si te as fijado que el Puerto A es el conversor analogo digital??? si va a utilizar el PORTA 0 (RA0) con un pulsador tiene que configurarlo como digital no analogo, el por defeto esta configurado como analogo .
Saludos
 
Última edición:
Atrás
Arriba