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

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

8 comentarios:

Anónimo dijo...

que tipo de cristal utilizas

ALF dijo...

Estoy usando un cristal de cuarzo de 4MHz. Puedes consultar el diagrama de conexión en la entrada anterior a esta: http://galfama.blogspot.mx/2013/04/nociones-basicas-de-microcontroladores.html

Jesús sTs dijo...

Podrías mostrarme un diagrama del icsp al pic no logre hacer que reconozca el mío jmmh3002@hotmail.com

ALF dijo...

Que tal Jesus, muchas gracias por visitar el blog. Ya te he enviado la información que solicitaste, espero te sirva. Saludos. ALF.

Jesús sTs dijo...

hola estoy trabajando con modulo bluetooth hc 05 y 06 y un micro controlador 16f628a, pero evisto en la data del modulo que se puede programar el problema es que no se como se haga ni en que compilador asi como se hace tendras alguna iformacion jmmh3002@hotmail.com

Unknown dijo...

Hola que tal buenas noches, me mostrar la conexión del iscp porfavor, no logro grabar mi pic16f84a rafael.lara.afi@gmail.com, porfavor me harías un gran favor

Anónimo dijo...

hola me puedes ayudar con el drive ya que no cuento con un programa que enlace mi programador de pic con mi lap top
gracias de antemano

Unknown dijo...

Hola ingeniero e trabajado un caf de RF 88mhz a 108 MHz con Pic 16f628a y tengo un Pic virgen me proa ayudar con una programa para grabar el Pic le agradezco bastante tus explicación está buenas o gracias

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