¿Qué es un microcontrolador?

Un microcontrolador es un circuito integrado que en su interior contiene una unidad central de procesamiento (CPU), unidades de memoria (RAM y ROM), puertos de entrada y salida y periféricos. Estas partes están interconectadas dentro del microcontrolador, y en conjunto forman lo que se le conoce como microcomputadora. Se puede decir con toda propiedad que un microcontrolador es una microcomputadora completa encapsulada en un circuito integrado.

 

 

Toda microcomputadora requiere de un programa para que realice una función específica. Este se almacena normalmente en la memoria ROM. No esta de mas mencionar que sin un programa, los microcontroladores carecen de utilidad.

El propósito fundamental de los microcontroladores es el de leer y ejecutar los programas que el usuario le escribe, es por esto que la programación es una actividad básica e indispensable cuando se diseñan circuitos y sistemas que los incluyan. El carácter programable de los microcontroladores simplifican el diseño de circuitos electrónicos. Permiten modularidad y flexibilidad, ya que un mismo circuito se puede utilizar para que realice diferentes funciones con solo cambiar el programa del microcontrolador.

Las aplicaciones de los microcontroladores son vastas, se puede decir que solo están limitadas por la imaginación del usuario. Es común encontrar microcontroladores en campos como la robótica y el automatismo, en la industria del entretenimiento, en las telecomunicaciones, en la instrumentación, en el hogar, en la industria automotriz, etc.

¿Cómo se escriben los programas?

Los microcontroladores están diseñados para interpretar y procesar datos e instrucciones en forma binaria. Patrones de 1’s y 0’s conforman el lenguaje maquina de los microcontroladores, y es lo único que son capaces de entender. Estos 1’s y 0’s representan la unidad mínima de información, conocida como bit, ya que solo puede adoptar uno de dos valores posibles: 0 ó 1.

La representación de datos, instrucciones y señales en forma de bits resulta dificultosa y tediosa para aquellas personas que no estén familiarizadas con el sistema de numeración binario. Aún para los usuarios expertos no resulta tan evidente la interpretación de instrucciones en forma binaria o lenguaje máquina (el lenguaje maquina se le conoce también como lenguaje de bajo nivel debido a que las instrucciones no son propias del lenguaje humano). Es por esto que la programación comúnmente se lleva a cabo en un lenguaje de alto nivel, es decir, un lenguaje que utilice frases o palabras semejantes o propias del lenguaje humano. Las sentencias de los lenguajes de alto nivel facilitan enormemente la programación ya que son familiares a nuestra manera de comunicarnos. Lenguajes como el C o BASIC son comúnmente utilizados en la programación de microcontroladores.

Otro tipo de lenguaje mas especializado es el lenguaje ensamblador. El lenguaje ensamblador es una lista con un limitado numero instrucciones a los cuales puede responder un microcontrolador. Estas instrucciones son palabras o abreviaciones que representan las instrucciones en lenguaje maquina del microcontrolador.

Las instrucciones en lenguaje ensamblador, también conocidas como nemotécnicos, son fáciles de entender y permiten operar directamente con los registros de memoria así como con las instrucciones intrínsecas del microcontrolador. Es por esto que el lenguaje ensamblador es sin lugar a dudas el lenguaje por excelencia en la programación de microcontroladores, ya que permite hacer un uso eficiente de la memoria y minimizar el tiempo de ejecución de un programa.

Cualquiera que sea el lenguaje que se utilice en la programación de microcontroladores, es de lo mas recomendable profundizar en su arquitectura interna, ya que con este conocimiento se pueden aprovechar mas y mejor las capacidades de un microcontrolador dado.

COMPILACION

Todo programa escrito en un lenguaje de alto nivel debe ser transformado en código maquina. Los programas que escribimos los entendemos nosotros, no así el microcontrolador.

Un software de computadora, llamado compilador, traduce y transforma nuestro programa en código maquina, que es lo que realmente puede leer e interpretar el microcontrolador.

Una vez compilado el programa, es momento de transferir nuestro código maquina hacia la memoria interna del microcontrolador, usualmente hacia la ROM. Para esta tarea se utiliza un programador físico, que es una pieza de hardware que tiene el propósito de escribir el programa en la memoria interna del micro.

 

 

¿Qué microcontrolador elegir?

Existen varios fabricantes de microcontroladores tales como Texas Instruments, Motorota, Atmel, Intel, Microchip, toshiba, Nacional, etc. Todos ellos ofrecen microcontroladores con características más o menos similares, sin embargo, en terminos generales se puede decir que todos sirven para lo mismo: leer y ejecutar los programas del usuario.

Evidentemente algunos modelos tienen más capacidad que otros, en cuanto a memoria, velocidad, periféricos, etc.

En el diseño de un sistema con microcontrolador se pueden elegir dispositivos de cualquiera de los fabricantes y satisfacer la necesidad del sistema en cuestión. Entonces, se preguntará estimado lector, ¿Qué fabricante he de elegir? Bueno, usted debe tomar en cuenta lo siguiente:

  1. Disponibilidad de los microcontroladores en el mercado local y/o global. Algunos microcontroladores son mas comúnmente encontrados en las casas de electrónica que otros. No es conveniente emprender un proyecto basado en cierto microcontrolador que escasea en el mercado local y/o global ya que podría no satisfacer nuestra demanda y detener el proyecto.
  2. Disponibilidad de información y herramientas de desarrollo. Actualmente la mayoría de los fabricantes de microcontroladores ofrecen información suficiente para entender la operación y funcionamiento de sus dispositivos. El punto débil de algunos fabricantes es la pobre distribución de sus herramientas de desarrollo (programadores, emuladores, software, etc.) o bien su alto costo.
  3. Precio. Hay gente y/o empresas que tienen los recursos para pagar lo que sea necesario cuando se trata de tecnología, sin embargo, la mayoría prefiere ahorrarse dinero, por lo que el precio resulta un punto a favor en la selección de un fabricante de microcontroladores.
  4. El modelo de microcontrolador específico que se debe elegir depende de la aplicación, aunque uno puede hacer un juicio sobre la capacidad de un microcontrolador tomando en cuenta su capacidad de memoria, la cantidad de puertos de entrada y salida, los periféricos, la velocidad a la cual ejecuta las instrucciones, etc.

MICROCONTROLADORES PIC®

Los PIC, de Microchip, son una opción más dentro del vasto mercado de microcontroladores. La popularidad de estos micros radica en su alta disponibilidad en el mercado y bajo precio.

El fabricante ha procurado una difusión exhaustiva de información relativa a sus productos, lo cual ha traído como consecuencia un proliferado uso de este tipo de microcontroladores. Algunos de los profesionales y aficionados que los utilizan difunden sus desarrollos e inventos por Internet lo cual ha promovido su uso. Muchos consideran que los PIC son los mas fáciles de programar.

Por otro lado, se han desarrollado una serie de herramientas de bajo costo por parte de terceros (empresas, profesionales y aficionados), como son programadores, software, etc., que facilitan el uso y programación de estos dispositivos.

Compiladores de C y Basic están disponibles para programar a los PIC y de reciente aparición son los PICAXE, que es un sistema que permite al usuario implementar una función con microcontrolador PIC sin siquiera conocer las instrucciones ni la arquitectura propia del microcontrolador.

Actualmente Electrónica Estudio ofrece cursos especializados en estos microcontroladores. Dividido en varios niveles los cursos profundizan en la arquitectura de estos dispositivos, la programación y la aplicación de sistemas que los incluyan. Lo invitamos, querido lector a tomar los cursos, con los cuales usted aprenderá a programar y diseñar sistemas con microcontroladores PIC.