Microcontroladores


 * __INTRODUCCIÓN AL MICROCONTROLADOR__**


 * ¿Qué es un microcontrolador?**

Un microcontrolador es un dispositivo electrónico capaz de llevar a cabo procesos lógicos. Estos procesos o acciones son programados en lenguaje ensamblador por el usuario, y son introducidos en este a través de un programador. Un **microcontrolador** es un circuito integrado que incluye en su interior las tres unidades funcionales de un ordenador: Unidad central de proceso (CPU), memoria y unidades de entrada y salida. Se puede decir que un microcontrolador es una computadora embebida dentro de un circuito integrado.


 * Un poco de historia**

Inicialmente cuando no existían los microprocesadores las personas se ingeniaban en diseñar sus circuitos electrónicos y los resultados estaban expresados en diseños que implicaban muchos componentes electrónicos y cálculos matemáticos. Un circuito lógico básico requería de muchos elementos electrónicos basados en transistores, resistencias, etc., lo cual desembocaba en circuitos con muchos ajustes y fallos; pero en el año 1971 apareció el primer microprocesador el cual originó un cambio decisivo en las técnicas de diseño de la mayoría de los equipos. Al principio se creía que el manejo de un microprocesador era para aquellas personas con un coeficiente intelectual muy alto; por lo contrario con la aparición de este circuito integrado todo sería mucho más fácil de entender y los diseños electrónicos serian mucho más pequeños y simplificados. Entre los microprocesadores mas conocidos tenemos el popular Z-80 y el 8085. Los diseñadores de equipos electrónicos ahora tenían equipos que podían realizar mayor cantidad de tareas en menos tiempo y su tamaño se redujo considerablemente; sin embargo, después de cierto tiempo aparece una nueva tecnología llamada microcontrolador que simplifica aun mas el diseño electrónico.
 * Diferencias entre microprocesador y microcontrolador **

U n microprocesador dependiendo del circuito se requerirán algunos circuitos integrados adicionales además del microprocesador como por ejemplo: memorias RAM para almacenar los datos temporalmente y memorias ROM para almacenar el programa que se encargaría del proceso del equipo, memorias EEPROM para almacenar variables después incluso de desaparecer la tensión de alimentación, un circuito integrado para los puertos de entrada y salida y finalmente un decodificador de direcciones. Un microcontrolador es un solo circuito integrado que contiene todos los elementos electrónicos que se utilizaban para hacer funcionar un sistema basado con un microprocesador; es decir contiene en un solo integrado la Unidad de Proceso, la memoria RAM, memoria ROM, puertos de entrada, salidas y otros periféricos, con la consiguiente reducción de espacio. El microcontrolador es en definitiva un circuito integrado que incluye todos los componentes de un computador. Debido a su reducido tamaño es posible montar el controlador en el propio dispositivo al que gobierna. En este caso el controlador recibe el nombre de controlador empotrado (embebed controller).


 * Ventajas de un microcontrolador frente a un microprocesador**

Por ejemplo la configuración mínima básica de un microprocesador estaba constituida por un Micro de 40 Pines, Una memoria RAM de 28 Pines, una memoria ROM de 28 Pines y un decodificador de direcciones de 18 pines; pero un microcontrolador incluye todo estos elementos en un solo Circuito Integrado por lo que implica una gran ventaja en varios factores: En el circuito impreso por su amplia simplificación de circuitería, el costo para un sistema basado en microcontrolador es mucho menor y, lo mejor de todo, el tiempo de desarrollo de su proyecto electrónico se disminuye considerablemente. Son diseñados para reducir el costo económico y el consumo de energía de un sistema en particular, habiendo modelos que valen menos de 1 €.


 * Los microcontroladores hoy día **

Los microcontroladores están conquistando el mundo. Están presentes en nuestro trabajo, en nuestra casa y en nuestra vida, en general. Se pueden encontrar controlando el funcionamiento de los ratones y teclados de los computadores, en los teléfonos, en los hornos microondas y los televisores de nuestro hogar. Una aplicación típica podría emplear varios microcontroladores para controlar pequeñas partes del sistema. Estos pequeños controladores podrían comunicarse entre ellos y con un procesador central, probablemente más potente, para compartir la información y coordinar sus acciones, como, de hecho, ocurre ya habitualmente en cualquier PC. Pero la invasión acaba de comenzar y el nacimiento del siglo **XXI** será testigo de la conquista masiva de estos diminutos computadores, que gobernarán la mayor parte de los aparatos que fabricaremos y usamos los humanos. Cada vez existen más productos que incorporan un microcontrolador con el fin de aumentar sustancialmente sus prestaciones, reducir su tamaño y coste, mejorar su fiabilidad y disminuir el consumo. Algunos fabricantes de microcontroladores superan el millón de unidades de un modelo determinado producidas en una semana. Este dato puede dar una idea de la masiva utilización de estos componentes. Aproximadamente puede haber unos 33 fabricantes de microcontroladores, tales como Atmel, Dallas Semiconductor, Frescale, Holtek, etc., aunque sobre todos predomina por ser mas popular la marca Microchip, y concretamente el modelo PIC 16F84, el cual tiende a ser sustituido por el PIC 16F628A, el cual es mas económico y tiene mayores prestaciones.


 * Limitaciones de los microcontroladores:**

Aunque parezca mentira, el principal inconveniente de los microcontroladores esta en que no pueden realizar dos funciones al mismo tiempo, aunque a simple vista parezca todo lo contrario. Esto es debido a la alta velocidad de procesamiento, y que también utilizan un sistema de interrupciones en donde a ciertos estímulos dejan temporalmente de ejecutar el programa principal para pasar a ejecutar otros programas mas prioritarios.


 * Lenguajes de programación:**

El lenguaje de programación natural de los microcontroladores es el código maquina, formado únicamente a base de ceros y unos, pero como las instrucciones serian muy difíciles de recordar, se utilizan nemotécnicos. A este lenguaje se le conoce con el nombre de Ensamblador, y aunque sea el más complicado es el lenguaje que implementa los programas mas estructurados, y en donde el programador tiene el control total de lo que esta haciendo el microcontrolador. Para los microcontroladores de Microchip (PIC) se puede utilizar el ** MPLAB **que distribuye gratuitamente este fabricante. En los microcontroladores PIC de baja y media gama hay un total de 35 instrucciones. Hay otros lenguajes como el Basic, C, C ++, etc. en donde utilizan compiladores que después traducen las instrucciones a lenguaje maquina.


 * Dispositivos de grabación:**

Hay multitud de grabadores los cuales conectados al ordenador nos permiten grabar microcontroladores, ya bien sea por el puerto serie o bien por USB, y los que podemos encontrar a partir de 20€, como el T20, Pic_school, JMD, K149, PICkit2, etc., aunque el GTP-USB sea el mas popular debido a su conexión usb y a que soporta un gran numero de dispositivos. Respecto al software utilizado también hay distintas opciones de libre distribución, como el famoso ICpro, aunque el WinPic800 lo supera en prestaciones, numero de dispositivos soportados, y su utilización en distintos grabadores.


 * Ejemplos:**

Podéis ver un video de una maqueta de un ascensor de 5 plantas realizado con un microcontrolador PIC 16F84A [] Así como diversos proyectos desarrollados mediante microcontroladores en [|http://www.microcontroladorespic.com]

Su aspecto es el de un circuito integrado el cual puede tener, desde 6 pines hasta mas de 40 pines.
 * Aspecto fisico:**
 * Estructura interna del microcontrolador 16F628**