Esta es la continuación de la entrada anterior, en esta entrada se mostrará el proceso para crear un archivo con extensión *.C en el compilador de la empresa CCS, algunas instrucciones básicas, así como la compilación de las mismas y su posterior programación en el PIC16F84A.
Primero, el programa a implementar será el encender/apagar cada segundo un LED, colocado en el pin RA0 del microcontrolador. Para ello tenemos el siguiente diagrama de flujo:
Clic en la imagen para expandir.
El código del programa se muestra a continuación:
El código del programa se muestra a continuación:
////////////////////////////// //PROGRAMA QUE HACE PARPADEAR/ //UN LED CONECTADO EN RA0 // ////////////////////////////// //AUTOR: ALFA // //PAÍS: MEXICO // //BLOG: galfama.blogspot.mx// //FECHA: 13/04/2013 // ////////////////////////////// //SE DECLARA EL PIC A UTILIZAR. #INCLUDE <16F84A.H> //SE DECLARA EL CRISTAL A UTILIZAR. #USE DELAY(CLOCK=4000000) //4MHz //SE DECLARAN LOS FUSIBLES DEL PIC. /* XT = OSCILADOR DE CRISTAL DE CUARZO. NOWDT = NO SE UTILIZARÁ EL WATCH DOG TIMER. PUT = SE USARÁ EL POWER UP TIMER. NOPROTECT = NO SE PROTEGERÁ EL CÓDIGO CONTRA LECTURA. */ #FUSES XT,NOWDT,PUT,NOPROTECT //SE DECLARAN LAS VARIABLES, //PARA ESTE CASO NO HAY VARIABLES. //SE DECLARA LA FUNCIÓN PRINCIPAL. VOID MAIN (VOID) { //SE DECLARA TODO EL PUERTO A Y B //COMO SALIDA. SET_TRIS_A(0B00000);
SET_TRIS_B(0B00000000);
//SE HACE UN BUCLE INFINITO
//PARA QUE EL PROGRAMA SE
//REPITA.
WHILE(TRUE)
{
//SE ENCIENDE EL LED
OUTPUT_HIGH(PIN_A0);
//HAY UN RETARDO DE 1 SEG.
DELAY_MS(1000);
//SE APAGA EL LED.
OUTPUT_LOW(PIN_A0);
//HAY OTRO RETARDO DE 1 SEG.
DELAY_MS(1000);
}
}
Y por último, dejo un video donde se explica todo el proceso para grabar el código en el PIC16F84A.
Muchas gracias por leer esta nueva entrada.ALF