viernes, 26 de abril de 2013

PROGRAMACION DE PIC EN C

Parpadear un LED

En el siguiente ejercicio, haremos un ejercicio clásico  que es el de hacer parpadear un LED, para eso utilizaremos el PIC 16F877A, a medida que avancemos en el código iremos explicando lo que se necesita en la programación, para el código utilizaremos el IDE PIC C Compiler y para la simulación usaremos el ISIS Proteus.
Ahora veremos el circuito para hacer parpadear el LED:


Ahora crearemos un archivo en el PIC C Compiler
1. El primer paso es ir al icono de la carpeta, luego New- Source file y creamos nuestro archivo


2, Después de guardarlo nos vamos otra vez al icono de la carpeta  luego New - Project Manual, elegimos el PIC que queremos utilizar, añadimos (+Add) nuestro archivo antes guardado y luego en aplicar(Apply).



Una vez creada nuestro archivo, empezamos con la programacion:

// Parpadear un LED - PIC en C
 #include <16f877a.h>   // incluimos nuestro PIC  a utilizar
#use delay(clock = 20000000) // usamos un reloj de 20 Mhz
#fuses HS,NOWD,NOLVP // HS: high speed adecuado para reloj de 20 Mhz
#use fast_IO(B)  // declaramos los registro TRIS y PORT del puerto B

void main () // funcion principal
{
        set_tris_B(0x00) ; // Configuramos los pines del puerto B como salida
                                    // output = 0 (salida) , input = 1 (entrada)
 
         while(true)  // bucle infinito donde haremos parpadear al LED
         {
             output_high(pin_B0) ; // ponemos en alto(5V) el pin B0
             delay_ms(1000); // Le indicamos que este en 5V durante 1000mseg = 1seg

            output_low(pin_B0); // ponemos en 0 (0V) el pin B0
            delay_ms(1000);

          } // Fin del bucle
} // Fin del programa

Muy bien, una vez escrito el código pasamos a construir el proyecto (Build All) y luego compilamos.


Si acaso te de pereza leer el archivo, acá te dejo el vídeo que hice, Saludos !


1 comentario:

  1. Tenés un error en el programa:

    #fuses HS,NOWD,NOLVP // HS: high speed adecuado para reloj de 20 Mhz

    Para desactivar el WatchDog es NOWDT, osea quedaría así:

    #fuses HS,NOWDT,NOLVP // HS: high speed adecuado para reloj de 20 Mhz

    Lo demás muy bien.

    ResponderEliminar