Invertir giro de motor con PIC en mikroC

hola que tal, soy nuevo en el mundo de los pic's
estoy haciendo un circuito sencillo pero ya me atore, en el que tiene 2 switches,
uno abierto y otro cerrado cuando cierre el abierto se active el motor en un sentido
y solo funcione 5 segundos y cuando abra el cerrado gire inversamente por 5 segundos
es un pic 16f628A con un integrado l293D

les dejo el codigo en mikroc, espero me puedan ayudar

Código:
void main(void) {
OPTION_REG=0;//se activan las resistencias pull-up
//configuracion de salida y entrada del puerto B
PORTB=0;
TRISB=0x0F;
PORTB=0;

while(1)//bucle infinito
{
 //bucle para detectar el boton de giro a la izquierda
 while(Button(&PORTB, 0, 10, 0))
 {
  PORTB=0;//se apagan los pines de control
  PORTB.F7=1;//se activa el pin de control 1
  delay_ms(5000);
  PORTB.F7=0;//se desactiva pin de control

  
  }
   //bucle para detectar el boton de giro a la derecha
   while( Button( &PORTB, 2, 10, 0))
   {
    PORTB=0;//se apagan los pines de control
    PORTB.F6=1;//se activa el pin de control 2
    delay_ms(5000);
    PORTB.F6=0;//se desactiva pin de control 2

    }
   }
}
 
Arriba