/*************************************************************************** */ /* ledp.c Junio-2005 */ /*---------------------------------------------------------------------------*/ /* Ejemplo para la tarjeta SKYPIC */ /*---------------------------------------------------------------------------*/ /* Hacer parpear el led de la Skypic. No se utilizan los temporizadores */ /*---------------------------------------------------------------------------*/ /* Andres Prieto-Moreno <andres@ifara.com> */ /* Juan Gonzalez <juan@iearobotics.com> */ /*---------------------------------------------------------------------------*/ /* LICENCIA GPL */ /*****************************************************************************/ //-- Especificar el pic a emplear #define __16f877 #include "pic16f877.h" //-- Definiciones #define LED 0x02 // Pin del led de la Skypic #define CONFIG_B ~LED // Configuracion para el puerto B. // RB1 salida, resto entradas //-- Cambiando este valor se modifica el tiempo de pausa //-- 0xFFFF es la maxima y 0x0000 la minima #define RETRASO 0xFFFF //-- Contador para la pausa unsigned int contador; /**************************************************************************/ /* Rutina de pausa. Se hace que el contador vaya desde 0000 hasta retraso */ /* ENTRADAS: */ /* -retraso: Indica el valor de la pausa. 0xFFFF es el valor maximo */ /**************************************************************************/ void pausa(unsigned int retraso) { while (retraso>0) { retraso--; } } void main(void) { //-- Configurar puerto B TRISB=CONFIG_B; //-- Bucle infinito for (;;) { PORTB^=LED; //-- Cambiar led de estado pausa(RETRASO); //-- Pausa } }