Microcontrolador para niños
Un microcontrolador es como un pequeño cerebro electrónico programable que se encuentra dentro de muchos aparatos que usamos a diario. Es un circuito integrado que puede seguir instrucciones que le hemos dado.
Imagina una computadora muy pequeña, pero completa. Un microcontrolador tiene las partes principales de una computadora en un solo chip:
- Una unidad central de procesamiento (CPU), que es el "cerebro" que ejecuta las instrucciones.
- Memoria, para guardar las instrucciones y los datos.
- Partes para entrada y salida (periféricos), que le permiten comunicarse con el mundo exterior, como botones, luces o sensores.
Algunos microcontroladores son muy pequeños y usan poca energía, lo que los hace perfectos para dispositivos que funcionan con batería por mucho tiempo. Pueden "dormir" y despertar solo cuando algo sucede, como cuando pulsas un botón. Otros son más potentes y rápidos, usados para tareas que necesitan mucha velocidad.
Cuando se fabrica un microcontrolador, su memoria está vacía. Para que funcione, hay que escribir un programa en su memoria, como la EEPROM. Este programa se escribe en lenguajes especiales y luego se convierte a un código numérico que el microcontrolador entiende. Una vez programado y conectado a la energía, ¡puede empezar a controlar cosas!

Contenido
Historia de los microcontroladores
Los primeros pasos de los microcontroladores
El primer microprocesador fue el Intel 4004, lanzado en 1971. Era un chip que podía procesar información, pero necesitaba muchos otros circuitos para funcionar como un sistema completo. Esto hacía que fuera costoso.
En 1971, los ingenieros Gary Boone y Michael Cochran de Texas Instruments crearon el primer microcontrolador, el TMS 1000. Se vendió a partir de 1974. Este chip ya incluía memoria, un microprocesador y un reloj, todo en uno. Fue diseñado para sistemas que hacen tareas específicas, como calculadoras.
El crecimiento de los microcontroladores
Inspirado por el TMS 1000, Intel desarrolló el Intel 8048 en 1977. Este microcontrolador también tenía memoria RAM y ROM en el mismo chip. Se usó en muchísimos teclados de computadoras y otros aparatos. Fue un gran éxito para Intel.
Al principio, los microcontroladores tenían memorias que se programaban una sola vez (PROM) o que se podían borrar con luz ultravioleta (EPROM). Las EPROM eran más caras porque necesitaban una "ventana" de cuarzo para la luz.
Avances en la memoria
En 1993, llegaron las memorias EEPROM a los microcontroladores, como el PIC16x84. Estas memorias se podían borrar y reprogramar eléctricamente, sin necesidad de luz. Esto hizo que fuera más fácil y rápido probar y actualizar los programas. Ese mismo año, Atmel lanzó el primer microcontrolador con memoria flash, que es aún más rápida y eficiente.
Con el tiempo, el costo de los microcontroladores ha bajado mucho. Hoy en día, son muy económicos y fáciles de conseguir, incluso para aficionados que quieren crear sus propios proyectos electrónicos.
¿Cómo funcionan los microcontroladores?
Los microcontroladores se diseñan para ser económicos y usar poca energía. Por eso, el tamaño de su procesador y la cantidad de memoria que tienen dependen de para qué se van a usar.
Por ejemplo:
- Una batidora sencilla usa un microcontrolador pequeño (de 4 u 8 bits).
- Un reproductor de música o video (MP3 o MP4) necesita uno más potente (de 32 o 64 bits).
- Los sistemas de frenos de un automóvil (ABS) o el control del motor suelen usar microcontroladores de 16 bits.
Los microcontroladores están en casi todos los aparatos electrónicos: automóviles, lavadoras, hornos microondas, teléfonos, etc. De hecho, hay muchos más microcontroladores en el mundo que computadoras personales.
La gran diferencia entre un microcontrolador y un microprocesador normal es que el microcontrolador ya viene con todo lo necesario para funcionar en un solo chip. Solo necesita conectarse a la energía y a los dispositivos que va a controlar. Un microprocesador tradicional, en cambio, necesita muchos otros chips para hacer lo mismo.
Un microcontrolador típico tiene un reloj interno y una pequeña cantidad de memoria (RAM, ROM, EPROM, EEPROM o flash). También incluye muchos dispositivos de entrada/salida, como convertidores de señales, temporizadores y puertos de comunicación.
Arquitecturas de computadoras
Existen dos formas principales de organizar cómo un procesador se conecta a la memoria: la arquitectura Von Neumann y la arquitectura Harvard.
Arquitectura Von Neumann
En la arquitectura Von Neumann, el procesador usa la misma "carretera" (bus) para acceder tanto a las instrucciones del programa como a los datos. Es como si tuvieras una sola puerta para entrar a la cocina y al dormitorio. Esta arquitectura es común en las computadoras personales porque ahorra cables y reduce costos.
En los microcontroladores con esta arquitectura, la memoria de datos y la memoria de programas están separadas físicamente, pero usan los mismos caminos para comunicarse con el procesador. Algunos microcontroladores antiguos, como la familia Intel 8051, usan esta arquitectura.
Arquitectura Harvard
La arquitectura Harvard es diferente. Aquí, el procesador tiene "carreteras" separadas para las instrucciones y para los datos. Es como si tuvieras una puerta para la cocina y otra para el dormitorio.
La ventaja principal de esta arquitectura es que el procesador puede acceder a las instrucciones y a los datos al mismo tiempo, lo que hace que sea mucho más rápido. Los sistemas con arquitectura Harvard pueden ser el doble de rápidos que los de Von Neumann.
Aunque necesita más conexiones, en los microcontroladores esto no es un problema porque la memoria y el procesador suelen estar en el mismo chip. Por eso, la mayoría de los microcontroladores modernos usan la arquitectura Harvard.
Partes de un procesador en detalle
Un procesador, que es el corazón de un microcontrolador, tiene varias partes importantes:
Registros
Los registros son como pequeños espacios de memoria muy rápidos dentro del procesador. Guardan los datos que el procesador necesita usar de inmediato para sus cálculos.
El tamaño de estos registros (por ejemplo, 8, 16, 32 o 64 bits) es muy importante. Un procesador de 64 bits puede manejar más información a la vez que uno de 8 bits, lo que lo hace más potente y rápido para tareas complejas.
Unidad de control
La unidad de control es el "cerebro" que dirige todo dentro del procesador. Se encarga de entender las instrucciones del programa, controlar los registros, la unidad aritmética-lógica (ALU) y los caminos de comunicación (buses). Es una parte muy compleja que determina qué tan rápido y eficiente es el procesador.
Unidad aritmético-lógica (ALU)
La ALU es la parte del procesador que realiza todas las operaciones matemáticas (sumas, restas) y lógicas (comparaciones). Es como la calculadora interna del procesador. Los procesadores modernos pueden tener varias ALU, algunas especializadas en cálculos más complejos.
Buses
Los buses son los caminos por donde viaja la información dentro del procesador y entre el procesador y otras partes del microcontrolador. Son como las autopistas de datos.
Hay tres tipos principales de buses:
- Bus de Dirección: Indica dónde se encuentra la información que se quiere leer o escribir en la memoria.
- Bus de Datos: Transporta la información (los datos) entre las diferentes partes.
- Bus de Control: Gestiona y coordina las operaciones, como cuándo leer o cuándo escribir.
En los microcontroladores, los buses suelen estar dentro del chip y no se ven en los pines externos.
Conjunto de instrucciones
El conjunto de instrucciones es como el "vocabulario" que el procesador entiende. Define todas las operaciones básicas que puede realizar. Combinando estas instrucciones, se crean los programas (software).
Existen dos tipos principales de conjuntos de instrucciones:
- CISC (Complex Instruction Set Computing): Tienen muchas instrucciones, algunas muy complejas. Esto puede hacer que el procesador sea más lento para algunas tareas. Ejemplos: Intel 8051.
- RISC (Reduced Instruction Set Computer): Tienen menos instrucciones, pero son más simples y rápidas de ejecutar. Esto permite que el procesador trabaje de forma más eficiente. La mayoría de los microcontroladores modernos, como los PIC, usan arquitectura RISC.
Memoria en microcontroladores
La memoria en los microcontroladores suele estar dentro del mismo chip. A diferencia de las computadoras personales, los microcontroladores no tienen gigabytes de memoria.
- Memoria de programas: Guarda las instrucciones del programa que el microcontrolador debe ejecutar. No suele ser muy grande (por ejemplo, hasta 16 KB).
- Memoria RAM: Almacena datos temporales que el procesador necesita para sus cálculos. Es una memoria rápida pero que pierde su información cuando se apaga el microcontrolador.
Existen diferentes tipos de memoria de programas:
- Memoria ROM (Read-Only Memory): El programa se graba durante la fabricación del chip. Es ideal para producir muchos microcontroladores iguales a bajo costo.
- Memoria PROM (Programmable Read-Only Memory): Se puede programar una sola vez. Útil para series pequeñas o cuando el programa no necesita cambios.
- Memoria EPROM (Erasable Programmable Read Only Memory): Se puede borrar con luz ultravioleta y reprogramar. Se usaba para desarrollo, pero es menos común ahora.
- EEPROM (Electrical Erasable Programmable Read Only Memory): Se puede borrar y reprogramar eléctricamente. Fue un gran avance porque no necesitaba luz y permitía actualizar el programa sin sacar el chip del circuito.
- Memoria flash: Es la más usada hoy en día. Es rápida, de bajo costo y permite almacenar mucha información. También se puede programar con la misma energía que usa el microcontrolador.
La mayoría de los microcontroladores tienen la memoria de programas y datos dentro del chip para ahorrar espacio y conexiones.
Interrupciones
Las interrupciones son una forma muy eficiente de que un microcontrolador atienda eventos importantes que ocurren de repente.
Imagina que estás leyendo un libro (el microcontrolador está ejecutando su programa). Si alguien toca el timbre (un evento), no tienes que estar yendo a la puerta cada cinco minutos para ver si llegó alguien (eso sería "encuesta", un método menos eficiente). En cambio, el timbre te "interrumpe". Tú marcas la página, vas a la puerta, atiendes a la persona y luego regresas a tu libro exactamente donde lo dejaste.
Así funcionan las interrupciones en un microcontrolador: 1. Un evento externo (como un botón pulsado o una señal de un sensor) activa una entrada de interrupción. 2. El microcontrolador "registra" la interrupción. 3. Termina la instrucción que estaba ejecutando en ese momento. 4. Guarda lo que estaba haciendo (la "página" donde se quedó). 5. Salta a un programa especial llamado "manejador de interrupciones" para atender el evento. 6. Una vez que termina de atender el evento, regresa al programa principal y continúa justo donde lo dejó.
Las interrupciones son muy importantes porque permiten que el microcontrolador reaccione rápidamente a eventos que no puede predecir o que necesitan atención inmediata. Hacen que el microcontrolador parezca que está haciendo varias cosas a la vez, aunque en realidad solo hace una a la vez, pero muy rápido.
Periféricos del microcontrolador
Los microcontroladores tienen muchos "periféricos" integrados, que son circuitos especiales para tareas específicas.
Entradas y salidas de propósito general (Puertos E/S)
Son pines del microcontrolador que se pueden configurar para leer señales del exterior (como si un botón está pulsado) o para enviar señales (como encender un LED). Se agrupan en "puertos" de 8 bits.
Temporizadores y contadores
Estos circuitos cuentan pulsos. Si cuentan pulsos internos del microcontrolador, funcionan como temporizadores (para medir el tiempo). Si cuentan pulsos externos, funcionan como contadores (para contar eventos). Son muy útiles para medir frecuencias, crear relojes o coordinar otras funciones.
Conversor analógico/digital (ADC)
El mundo real está lleno de señales analógicas (como la temperatura o la luz). El ADC convierte estas señales analógicas en números digitales que el microcontrolador puede entender. Por ejemplo, puede leer la temperatura de un sensor y convertirla en un valor numérico.
Puertos de comunicación
Permiten que el microcontrolador se comunique con otros dispositivos.
- Puerto serie (UART/USART): Es muy común para comunicarse con otros microcontroladores o con una computadora.
- SPI (Serial Peripheral Interface): Se usa para conectar el microcontrolador con otros chips o microcontroladores de forma sencilla.
- I2C: Similar al SPI, pero usa menos cables y permite que varios dispositivos se comuniquen entre sí.
- USB: Permite la comunicación con computadoras y otros dispositivos USB. Muchos dispositivos USB tienen un microcontrolador dentro.
- Ethernet: Permite que el microcontrolador se conecte a redes de computadoras, como la red de tu casa.
- CAN (Controller Area Network): Un protocolo muy importante en la industria automotriz para que los diferentes sistemas del coche se comuniquen.
Comparadores
Son circuitos que comparan dos señales analógicas y dan una salida digital (un '0' o un '1') dependiendo de cuál es mayor. Son útiles para saber si una señal está dentro de un rango específico.
Modulador de ancho de pulsos (PWM)
Los PWM son muy útiles para controlar motores, regular la intensidad de la luz (dimming) o convertir señales digitales en analógicas. Funcionan cambiando el ancho de los pulsos de una señal.
Memoria de datos no volátil
Algunos microcontroladores incluyen memoria extra, como EEPROM, para guardar datos de configuración o información importante que no se debe borrar cuando se apaga el dispositivo. Esta memoria es diferente de la memoria RAM y de la memoria de programas.
Familias de microcontroladores
Existen muchas empresas que fabrican microcontroladores, y cada una tiene sus propias "familias" o series de chips. Se clasifican por el número de bits de su procesador (8, 16 o 32 bits), lo que indica su potencia.
Empresa | 8 bits | 16 bits | 32 bits |
---|---|---|---|
Atmel | AVR (mega y tiny), 89Sxxxx familia similar 8051 | SAM7 (ARM7TDMI), SAM3 (ARM Cortex-M3), SAM9 (ARM926), AVR32 | |
Freescale (antes Motorola) |
68HC05, 68HC08, 68HC11, HCS08 | 68HC12, 68HCS12, 68HCSX12, 68HC16 | 683xx, PowerPC, ColdFire |
Holtek | HT8 | ||
Intel | MCS-48 (familia 8048) MCS51 (familia 8051) 8xC251 |
MCS96, MXS296 | x |
National Semiconductor | COP8 | x | x |
Microchip | Familia 10f2xx Familia 12Cxx Familia 12Fxx, 16Cxx y 16Fxx 18Cxx y 18Fxx | PIC24F, PIC24H y dsPIC30FXX, dsPIC33F con motor dsp integrado | PIC32 |
NXP Semiconductors (antes Philips) |
80C51 | XA | Cortex-M3, Cortex-M0, ARM7, ARM9 |
Renesas (antes Hitachi, Mitsubishi y NEC) |
78K, H8 | H8S, 78K0R, R8C, R32C/M32C/M16C | RX, V850, SuperH, SH-Mobile, H8SX |
STMicroelectronics | ST 62, ST 7 | STM32 (ARM7) | |
Texas Instruments | TMS370 | MSP430 | C2000, Cortex-M3 (ARM), TMS570 (ARM) |
Zilog | Z8, Z86E02 |
Algunas arquitecturas de microcontroladores, como las variantes de Intel 8051 y Z80, son tan populares que muchos fabricantes las producen en diferentes versiones.
Galería de imágenes
Véase también
En inglés: Microcontroller Facts for Kids
- Lista de microcontroladores comunes
- Microprocesador
- Arduino