Definición
Un microcontrolador es un sistema de control compuesto por un microprocesador y una serie de entradas y salidas. A las entradas se conectan sensores o memorias; a las salidas se conectan actuadores como, por ejemplo, motores, LED o pantallas. Los microcontroladores cuentan con una memoria de trabajo volátil (RAM), que se borra al apagar y, por lo general, también una EEPROM, en la que se pueden almacenar programas y datos de forma permanente. A diferencia de los ordenadores portátiles y los PC, no hay un teclado como unidad de entrada ni una pantalla como unidad de salida; deben manejarse por separado.
Los más conocidos y extendidos de este tipo de microcontroladores son, por ejemplo, Arduino, BBC micro:bit, Calliope Mini y TXT Controller de fischertechnik.
El corazón del microcontrolador es el microprocesador. Un microprocesador es un circuito integrado (CI) que carga comandos y datos de una memoria (temporal) – llamada memoria de acceso aleatorio (RAM) – en los registros del CI, los procesa en una unidad de cálculo y almacena el resultado nuevamente en la RAM. Un microprocesador está compuesto, principalmente, por transistores – «interruptores» electrónicos, que conocen exactamente dos estados: «encendido» y «apagado». Estos transistores pueden utilizarse para construir circuitos lógicos, como conexiones «and», «or» y «not». Los resultados se almacenan en un «flip-flop», un conmutador estable (más detalles en el kit Education sobre «Electrónica»).
Un cristal de cuarzo determina el ritmo del microprocesador, es decir, la velocidad a la que el microprocesador procesa los comandos y los pasos de cálculo internos. Los comandos se expresan en un código de máquina (que varía según el tipo de microprocesador) y se componen de una orden (por ejemplo, «sumar dos valores») y, en función del comando, de varios parámetros (por ejemplo, los dos valores a sumar o los registros en los que se almacenan los valores).
El rendimiento del microprocesador está determinado por la velocidad de reloj, el ancho de datos en bits (que indica el tamaño que pueden tener las direcciones y valores que puede procesar el microprocesador en un solo paso) y el propio código de máquina: Cuanto más complejos sean los comandos que puede ejecutar el CI, por lo general, más rápido será el procesamiento de los datos. Para acelerar los accesos a la memoria RAM, hoy en día, muchos microprocesadores contienen su propia memoria caché para almacenar temporalmente los comandos y los datos durante el procesamiento.
Los microprocesadores que contienen actualmente los ordenadores portátiles y los PC pueden procesar datos de 64 bits (valores, direcciones de la RAM), contienen varios miles de millones de transistores y se sincronizan con varios GHz (miles de millones de vibraciones por segundo). Pueden dividir el trabajo («multinúcleo») y disponen de muchos megabytes de memoria caché. En los microcontroladores actuales suelen utilizarse microprocesadores con un tamaño de palabra de 32 bits y una frecuencia de reloj inferior a un GHz – esto es más que suficiente para las tareas de un microcontrolador.