Para iniciarnos en la programación de los microcontroladores PIC, haremos el clásico HOLA MUNDO, que consiste en el encendido y apagado de un led.
Explicaremos cada una de las instrucciones del programa, así como también les dejaré el video tutorial correspondiente.
Para empezar este es nuestro entorno de programación
Para empezar a escribir nuestro código, creamos un archivo en blanco
Colocamos un nombre a nuestro proyecto, en¡ este caso yo le colocare el nombre de encendido y apagado de un led
Una vez creado nuestro archivo en blanco, empecemos las líneas de código de nuestro programa
Lo primero que debemos de hacer es incluir el PIC con el que trabajaremos, en este caso será el 16F877a, lo siguiente que haremos es escribir con velocidad de cristal trabajará nuestro PIC, en este caso será de 20MHz; y tambien mencionar los fusibles, en este caso será el HS, que se usa para cristales de alta velocidad. Si usted usará un cristal menor o igual a 4MHz, deberá colocar #fuses XT. Nuestro programa estaría quedando de la siguiente manera:
#include <16f877a.h>
#use delay(clock=20M)
#fuses hs, nowdt
El nowdt, deshabilita el watchdog timer(perro guardian). Para mayor información de este fusible ver el datasheet del PIC
Ahora llamaremos a nuestra función principal, que es el void main, el programa quedaría de esta manera:
Luego agregamos un bucle infinito para que nuestro programa se repite indefinidamente
Dentro de este bucle infinito escribiremos las instrucciones que ejecutara nuestro PIC.
El programa quedaría de la siguiente manera
La velocidad con la que el PIC realiza cada instrucción es de 20MHz/4, que vendría a ser igual a 5MHz, por lo tanto el tiempo que demorá el microcontrolador en ejecutar cada instrucción es de 0.2 microsegundos
Es por ello que se añade un retardo en el programa, ya que sino, no se vería el cambio de alto a bajo en el pin b0 del microcontrolador.
Por ultimo compilamos el programa.
Para empezar a escribir nuestro código, creamos un archivo en blanco
Una vez creado nuestro archivo en blanco, empecemos las líneas de código de nuestro programa
Lo primero que debemos de hacer es incluir el PIC con el que trabajaremos, en este caso será el 16F877a, lo siguiente que haremos es escribir con velocidad de cristal trabajará nuestro PIC, en este caso será de 20MHz; y tambien mencionar los fusibles, en este caso será el HS, que se usa para cristales de alta velocidad. Si usted usará un cristal menor o igual a 4MHz, deberá colocar #fuses XT. Nuestro programa estaría quedando de la siguiente manera:
#include <16f877a.h>
#use delay(clock=20M)
#fuses hs, nowdt
El nowdt, deshabilita el watchdog timer(perro guardian). Para mayor información de este fusible ver el datasheet del PIC
Ahora llamaremos a nuestra función principal, que es el void main, el programa quedaría de esta manera:
Luego agregamos un bucle infinito para que nuestro programa se repite indefinidamente
El programa quedaría de la siguiente manera
La velocidad con la que el PIC realiza cada instrucción es de 20MHz/4, que vendría a ser igual a 5MHz, por lo tanto el tiempo que demorá el microcontrolador en ejecutar cada instrucción es de 0.2 microsegundos
Es por ello que se añade un retardo en el programa, ya que sino, no se vería el cambio de alto a bajo en el pin b0 del microcontrolador.
Por ultimo compilamos el programa.
Con esto quedaría listo nuestro programa para poder simularlo, así como también grabarlo o quemarlo en un PIC real.
La simulación lo podrá ver en el siguiente video tutorial.
Muy bueno compañero, cuando empiza el dos
ResponderEliminarYa he subido varios post con informacion de programacion de estos microcontroladores. Gracias por tu comentario.
EliminarYa he subido varios post con informacion de programacion de estos microcontroladores. Gracias por tu comentario.
EliminarHola Bryan, mi nombre es Nelson
ResponderEliminarNecesito saber como introducirle un pulso positive a la entrada de un pic12c508 y obtener un cero en la salida que configure.
Cualquier respuesta sera de mucha ayuda para mi.
Muchisimas gracias