Intel 8051

Intel P8051.
El SAB-C515-LN de Infineon está basado en el 8051.
Diagrama de bloques de un 80C51.

El Intel 8051 es un microcontrolador (µC) desarrollado por Intel en 1980 para uso en productos embebidos. Es un microcontrolador muy popular.

Los núcleos 8051 se usan en más de 100 microcontroladores de más de 20 fabricantes independientes como Atmel, Dallas Semiconductor, Philips, Winbond, entre otros.

La denominación oficial de Intel para familia de µCs 8051 es MCS 51.

Especificaciones

Hardware

Éste microcontrolador está basado en la Arquitectura Harvard (es decir, existen espacios de direcciones separados para código y datos). Aunque originariamente fue diseñado para aplicaciones simples, se permite direccionar 64  KB de ROM externa y 64 KB de RAM por medio de líneas separadas chip select para programa y datos.

Adicionalmente, el microcontrolador contiene una memoria interna, dividida en dos partes: los SFR y memoria de propósito general. Los SFR (Special Function Registers), son los registros proporcionados por el microcontrolador, y tienen asignadas direcciones en esta memoria interna. El acceso a esta memoria interna es más rápido que el acceso a la memoria externa, pero es de tamaño limitado. Parte de esta memoria interna además se usa como pila durante las llamadas a función y el proceso de interrupciones.

Una característica particular del 8051 es la inclusión de una unidad de proceso booleano que permite que operaciones de nivel de bit lógica booleana se ejecuten directa y eficientemente en registros internos. Esto ha hecho que el 8051 sea muy popular en aplicaciones de control industrial.

Otra característica muy valorada es que tiene cuatro conjuntos separados de registros. A menudo se usa esta característica para reducir la latencia de interrupción. (La rutina que maneja la interrupción declara usar otro conjunto de registros, evitándose de esta manera tener que salvar en la pila los registros originales).

La mayoría de los 8051 incluyen una o dos UARTs, dos o tres temporizadores, 128 o 256 bytes de RAM interna (16 bytes de los cuales son direccionables a nivel de bit), cuatro o cinco registros de entrada/salida y entre 0k-54K de memoria interna de programa. El núcleo 8051 original ejecuta un ciclo máquina cada 12 ciclos de reloj, requiriendo la mayoría de instrucciones uno o dos ciclos máquina. Pero actualmente la mayoría de fabricantes ofrecen versiones mejoradas que solo requieren de 2 a 4 ciclos de reloj por cada instrucción máquina.

Los microcontroladores 8051 modernos ofrecen muchas mejoras sobre el original. Mejoras comunes incluyen watchdog timers (un temporizador programable que "resetea" el microcontrolador si no se refresca en cierto tiempo), osciladores internos, memoria de programa Flash ROM interna, código de inicialización en ROM, almacenamiento en EEPROM interna, I²C, SPI, USB, generadores PWM, conversores analógicos A/D y D/A, relojes de tiempo real RTC, temporizadores y contadores extra, facilidades de depuración internas, más fuentes de interrupción, modos de bajo consumo, interfaz CAN, etc.

Software

Existen varios compiladores de lenguaje C disponibles para el 8051, así como en lenguaje ensamblador . La mayoría añaden extensiones al lenguaje que permiten al programador especificar por ejemplo el tipo de memoria donde se ubicará la variable, especificar manejadores de interrupción, especificar el banco de registros, acceder a instrucciones especiales de manipulación de bits...

El predecesor del 8051, el 8048, se usó en el teclado del primer IBM PC, donde convertía pulsaciones de tecla en un stream serie que se envía a la unidad central del ordenador. El 8048 y sus derivados aún se usan actualmente en teclados básicos.

Other Languages
català: Intel 8051
čeština: Intel 8051
Deutsch: Intel MCS-51
Ελληνικά: Intel 8051
English: Intel MCS-51
eesti: Intel 8051
euskara: Intel 8051
français: Intel 8051
galego: Intel MCS-51
magyar: Intel MCS-51
Bahasa Indonesia: Intel 8051
italiano: Intel 8051
日本語: Intel 8051
한국어: 인텔 8051
മലയാളം: ഇന്റൽ 8051
polski: Intel 8051
português: Intel 8051
română: Intel MCS-51
русский: Intel 8051
slovenčina: Intel 8051
српски / srpski: Intel 8051
svenska: Intel 8051
Türkçe: 8051
українська: Intel MCS-51
Tiếng Việt: Intel 8051