////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// Practica 1 : Parpadeo de LED´S con PIC16F84A ///
/// para el foro.elhacker.net by Marco ///
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
///////////////////////////// DIRECTIVAS DE PREPROCESADO //////////////////////
/// libreria para el manejo del pic16f84a
#include <16F84A.h>
/// declara la frecuencia del cristal
#use delay(clock=8000000)
///configura los fusibles
/// HS es la configuraricion del oscilador la cual indica High speed es decir
/// frecuencias altas esto es a partir de 8 Mhz.
/// NOWDT deshabilita el Watch Dog Timer
/// NOPUT deshabilita le reseteo de power up timer
/// NOPROTECT deshabilita la proteccion del codigo del pic.
#fuses HS,NOWDT,NOPUT,NOPROTECT
/// asignamos a variable port_b el espacio memoria 0x06 que es la dir de port_b
#byte port_b=0x06
//////////////////////////GLOBALES//////////////////////////////////////////////
/// Estos parámetros son visibles desde todo el código ///
/// por eso se les llama globales ///
/// Al ser constantes,lo más práctico es declararlas aquí. ///
////////////////////////////////////////////////////////////////////////////////////
int contador;
////////////////////////// Principal //////////////////////////////////////////
void main()
{
/// declaramos el puerto B como salidas
set_tris_b(0);
/// lo igualamos con cero para que tengamos un valor inicial de lo contrario
/// no sabriamos con que valor iniciaria al comienzo de nuestro programa
port_b=0;
/// bucle infinito para que las instrucciones que tiene siempre se ejecuten
while (true)
{
/// activa todos los pins del puerto B
/// otra instruccion que podemos poner es contador=255 las dos son lo mismo
contador=0xff;
port_b=contador;
/// Retardo de 1000 milisegundos es decir 1 segundo
delay_ms(1000);
//// apaga todos los pins del puerto B}
contador=0x00;
port_b=contador;
/// Retardo de 1000 milisegundos es decir 1 segundo
delay_ms(1000);
} /// fin de bucle while
} /// fin de funcion principal main
aqui los archivos para PICC y Proteus