/*****************************************************************************/ /* secuencia.c Julio-2005 */ /*---------------------------------------------------------------------------*/ /* Ejemplo para el skybot */ /*---------------------------------------------------------------------------*/ /* Ejemplo de una secuencia pregrabada. El robot ejecuta movimientos */ /* con unas determinadas duraciones. */ /*---------------------------------------------------------------------------*/ /* Andres Prieto-Moreno <andres@ifara.com> */ /* Juan Gonzalez <juan@iearobotics.com> */ /* Modificado por: Javier Valiente <jvaliente@ifara.com> */ /*---------------------------------------------------------------------------*/ /* LICENCIA GPL */ /*****************************************************************************/ //-- Especificar el pic a emplear #include <pic16f876a.h> //-- Para usar temporizaciones con el timer 0 #include "delay0.h" //-- Definiciones para los motores. Estos valores define //-- los movimientos del robot #define AVANZA 0x1C #define ATRAS 0x16 #define IZQUIERDA 0x1E #define DERECHA 0x14 #define STOP 0x00 //---------------------------- //- Comienzo del programa //---------------------------- void main(void) { //-- Configurar el puerto B para trabajar con el Skybot //-- RB0, RB5, RB6 y RB7 como entradas //-- RB1, RB2, RB3 y RB4 como salidas TRISB=0xE1; //-- Configurar temporizador timer0_configurar(); //-- Comienzo de la secuencia PORTB=AVANZA; delay0(100); PORTB=DERECHA; delay0(130); PORTB=AVANZA; delay0(100); PORTB=DERECHA; delay0(40); PORTB=AVANZA; delay0(100); PORTB=IZQUIERDA; delay0(200); //-- Fin PORTB=STOP; //-- Bucle infinito while(1); }