/*************************************************************************** */ /* bumpers.c Febrero-2006 */ /*---------------------------------------------------------------------------*/ /* Ejemplo para el skybot */ /*---------------------------------------------------------------------------*/ /* Ejemplo de prueba para los bumpers. */ /* Al apretar el Bumper1 (Derecho) se apaga el LED */ /*---------------------------------------------------------------------------*/ /* Andres Prieto-Moreno <andres@ifara.com> */ /* Juan Gonzalez <juan@iearobotics.com> */ /*---------------------------------------------------------------------------*/ /* LICENCIA GPL */ /*****************************************************************************/ //-- Especificar el pic a emplear #define __16f877 #include "pic16f877.h" #define DERECHO 0x02 //Bumper 1 Derecho desde arriba #define IZQUIERDO 0x04 //Bumper 2 Iquierdo desde arriba //---------------------------- //- Comienzo del programa //---------------------------- unsigned char bumper; 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 el puerto A para trabajar con los bumpers ADCON1=0x0E; for(;;) { bumper=PORTA & DERECHO; // Leer bumper 1 if ( bumper==0) { PORTB=0x02; } else { // al apretar el bumper leemos 1 PORTB=0; } } }