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