me funcionó perfectamente manex_1987, muchas gracias!
Ahora entiendo porque no me funcionaba, solo una funcion estaba dentro del ciclo principal, y con la solucion que me proporcionas, ahora las 3 funciones estan dentro del mismo ciclo.
De nuevo, muchas gracias!
Por cierto, tambien se me ocurrio controlar la velocidad del motor. Ahorita de momento se me ocurre poner una variable "x" dentro del delay y controlarlo, pero se puede hacer tambien mediante una interrupcion? Veo que los pins RB4~RB7 tambien fungen como interrupciones, pero de manera diferente, como cambio de estado. No pueden funcionar de la misma manera, del cambio 0 a 1 o viceversa? Sin embargo, un amigo me sugirio un diseño que vio en internet, para controlar la velocidad, usando un potenciometro y la carga de un capacitor. (Agrego como archivo adjunto el archivo de proteus, la parte del circuito que les menciono la acabo de agregar a lo que ya tenia).
Segun me explico, basicamente la velocidad del motor disminuye al aumentar el potenciometro. El transistor se enciende cuando el pin RB7 se pone en "1" logico. Estando asi, la carga del capacitor fluye a traves del transistor y el voltaje de ambas terminales del capacitor se ponen casi en 0V. Cuando el pin RB76 se ponen en "0", el transistor se apaga, la carga fluye del potenciometro y la resistencia en serie hacia el capacitor y este se empieza a cargar. Y a diferencia de la anterior condicion, el voltaje de ambas terminales del capacitor va aumentando hasta que se termina de cargar, el voltaje del cap lo detecta RB5. Ahi es donde el programa supuestamente causa una interrupcion checando el pin RB5 despues de que RB7 se pone en "0" y RB7 se pone en "1". Y de ahi, al tener un valor pequeño en el potenciometro, el tiempo de carga del capacitor es pequeño y el motor gira rapidamente, y viceversa.
Acabo de poner el diseño, y sin hacer nada en el codigo, trato de mover el potenciometro y no observo ningun cambio, ni en el pin RB7 ni en RB5.
Creen que sea posible o es mejor (si es que es posible tambien) usar botones para seleccionar velocidades fijas, usando la misma tecnica de interrupciones usadas para los pins RB0~RB3?
Saludos!