Programacion de microcontroladores

Solo disponible en BuenasTareas
  • Páginas : 7 (1534 palabras )
  • Descarga(s) : 0
  • Publicado : 6 de septiembre de 2010
Leer documento completo
Vista previa del texto
TUTORIAL: PROGRAMACION DE MICROCONTROLADORES

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

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

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 quepermite 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 parapoder 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 a lo largo de estos tutoriales iremos viendo temas de ambas disciplinas, ya que íntimamentevinculadas.

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 nimonitor, aunque podemos ver el estado de teclas individuales o utilizar pantallas LCD o LED 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 mas de una instrucción ASM). Esto significa que un PIC funcionando a 20MHz puede ejecutar 5 millones de instrucciones por segundo.

Lospines 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 16F84A, que ya es considerado obsoleto. Un buen reemplazo es el 16F628A, 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:
|Función de los pines del 16F628A |

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 unadescripció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 (esta en inglés) para tenerla siempre a mano.

Ahora bien ¿Cómo...
tracking img