/*************************************************************************** */
/* 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
  }

}