TTL 74Ls164N, electronica, circuito, pic, NE555, PIC BASIC, PIC SIMULATOR IDE, esquema, circuito impreso, proyecto, gratis, download, programa, CMOS, pin, e/s, i/o, ucontrol, PIC, 16F628a, 16f84a

Programación de microcontroladores PIC

De Ucontrol


Inicio Foro Revista uControl Circuiteca Microcontroladores Electrónica Básica Herramientas y Software Tutoriales Colaboradores Enlaces
¿Ya descargaste los ejemplares GRATUITOS de la Revista uControl? ¡No te los pierdas!.
Dado electrónico con PIC
Dado electrónico
Como trucar un servo
¿Como trucar un servo?
Comunicación inalámbrica entre PICs
Comunicación inalámbrica
CCS - Libreria de gráficos para GLCD K0108
Gráficos con CCS
Funcionamiento de una matriz de LEDs
Carteles de LEDs
Imagen:foroizq.jpg
Todos los articulos y proyectos de uControl tienen su lugar en el foro. Si tienes dudas o comentarios, busca o crea el hilo correspondiente, y tendrás una rapida respuesta.
Imagen:foroder.jpg
Programación de microcontroladores PIC

[editar] Introducción

Programación de PICs
Programación de PICs

La electrónica ha evolucionado mucho. Casi todo lo que hasta hace unos años se hacia mediante un grupo (a veces muy numeroso) de circuitos integrados conectados entre si, hoy se puede realizar utilizando un microcontrolador y unos pocos Categoría:Componentes electrónicos adicionales.

De todos los fabricantes de microcontroladores que existen, los más elegidos por los hobbystas suelen ser los modelos de [Microchip], en gran parte debido a la excelente documentación gratuita que proporciona la empresa para cada modelo.


NOTA: Este artículo es un extracto de una serie de tutoriales publicados antes en NeoTeo.com. Si quieres profundizar más, consulta la serie completa.

Tabla de contenidos


El lenguaje nativo de estos microcontroladores es el ASM, y en el caso de la familia “16F” solo posee 35 instrucciones. Pero el ASM es un lenguaje que esta mucho más cerca del hardware que del programador, y gracias a la miniaturización que permite incorporar cada vez más memoria dentro de un microcontrolador sin aumentar prácticamente su costo, han surgido compiladores de lenguajes de alto nivel. Entre ellos se encuentran varios dialectos BASIC y C. El BASIC resulta bastante más simple de aprender.

Antes de comenzar a ver los temas programación en si mismos, debemos aclarar algunos conceptos básicos sobre los microcontroladores para poder entender lo que hace cada instrucción BASIC. Eso será muy útil para los que vayan a comenzar a programar a partir de este artículo.

Lo más interesante de trabajar con microcontroladores es que se necesitan conocimientos tanto de electrónica (hardware) como de programación (software) así que inevitablemente deberemos aprender conceptos de ambas disciplinas, ya que están íntimamente vinculadas.

Un microcontrolador es como un ordenador en pequeño: dispone de una memoria donde se guardan los programas, una memoria para almacenar datos, dispone de puertos de entrada y salida, etc. A menudo se incluyen puertos seriales (RS-232), conversores analógico/digital, generadores de pulsos PWM para el control de motores, bus I2C, y muchas cosas más. Por supuesto, no tienen ni teclado ni monitor, aunque podemos ver el estado de teclas individuales o utilizar pantallas LCD o LEDs para mostrar información.

En general, por cada cuatro ciclos de reloj del microcontrolador se ejecuta una instrucción ASM (una instrucción BASIC consta generalmente de más de una instrucción ASM). Esto significa que un PIC funcionando a 20MHz puede ejecutar 5 millones de instrucciones por segundo.

Los pines del PIC se dedican casi en su totalidad a los puertos que mencionábamos anteriormente. El resto (2 o mas) son los encargados de proporcionar la alimentación al chip, y a veces, un sistema de RESET. Desde BASIC es posible saber si un pin esta en “estado alto” (conectado a 5V o a un “1” lógico) o en “estado bajo” (puesto a 0V o a un “0” lógico”). También se puede poner un pin de un puerto a “1” o “0”. De esta manera, y mediante un rele, por ejemplo, se puede encender o apagar una luz, motor, maquina, etc.

Uno de los microcontroladores más famosos de todos los tiempos ha sido, sin duda, el PIC16F84A, que ya es considerado obsoleto. Un buen reemplazo es el PIC16F628A, y es el que utilizaremos en la mayoría de los ejemplos y proyectos que veamos. La disposición de sus pines es la siguiente:


Imagen:PIC16F6xxApinout.jpg
Pinout del PIC16F628A.


Como podemos ver, los pines 1, 2, 3, 4, 15, 16, 17 y 18 tienen el nombre de RAx. Esos pines conforman el puerto A, “PORTA” de ahora en más. Los pines 6 al 13 forman parte del puerto B (“PORTB”). El pin 5 es el que se conectara al negativo de la fuente de alimentación. El 14 irá conectado a 5V.



Como habrán notado, muchos de los pines tienen más de una descripción. Esto se debe a que pueden utilizarse de varias maneras diferentes, seleccionables por programa. Por ejemplo, el pin 4 sirve como parte del PORTA, como RESET (MCLR = Master Clear) y como tensión de programación (Vpp)

No es mala idea descargar desde la web de Microchip la hoja de datos de este microcontrolador (en inglés) para tenerla siempre a mano.

Ahora bien ¿Cómo colocamos el programa dentro del PIC? Para ello necesitamos algunas herramientas. Por un lado, es necesario un “quemador” de PICs. Uno que me gusta particularmente es el GTP-USB+, ya que al funcionar conectado al puerto USB es muy veloz. Además, necesitaremos un software que envíe el programa al PIC. Para ello usaremos el WinPIC800, que es un excelente soft gratuito.

Y también vamos a necesitar un compilador, para “traducir” nuestro programa en BASIC al ASM que es capaz de entender el PIC. Después de mirar varios candidatos, en este momento parece una buena elección el PIC SIMULATOR IDE, que no solo es un excelente compilador de BASIC, si no que además (y por solo 29 euros) ofrece un entorno de simulación de nuestros circuitos. Existe una versión de prueba que se puede bajar gratuitamente desde aquí.

Armados con este pequeño grupo de herramientas, estamos listos para comenzar a recorrer este apasionante camino.

En uControl encontrarás una gran cantidad de información que te permitirán llegar a buen puerto. Entre ellos, podemos mencionarte los siguientes artículos que pueden serte de utilidad:

[editar] Temas relacionados

[editar] Autor

Datos del Autor
Nombre: Ariel Palazzesi
email: arielpalazzesi@gmail.com
Ver los artículos de este autor. Página con el perfil del autor.


Este contenido se rige por la licencia de Creative Commons "Licencia Creative Commons Atribución-No Comercial-Sin Obras Derivadas 3.0". Para más información, véase la licencia en su forma reducida y completa.

Herramientas personales