"¿De qué serviría hablar de aquello? Nadie me creería". Napoleón Bonaparte.

Mostrando las entradas con la etiqueta Microchip. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Microchip. Mostrar todas las entradas

viernes, 26 de abril de 2013

Nociones básicas de Microcontroladores: Sistema mínimo para el PIC16F84A (Parte 2 de 2).

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:

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

Resistencias o resistores (Conceptos básicos)

  H an pasado casi 4 años desde que publiqué la última entrada en este blog (diciembre 2014); cuando comencé con este blog en el 2011, lo h...