Intel MCS-51

thumb|250x250px|Intel P8051.
O **Intel MCS-51**, tamén **Intel 8051,** é un microcontrolador de arquitectura de conxunto de instrucións complexas, desenvolvido pola compañía Intel en 1980 para uso en sistemas embebidos. É un microcontrolador moi popular no mercado, polo que moitos produtos son fabricados con el sendo o núcleo, como Philips, Atmel, Dallas Semiconductor, Winbond e outros.

## Especificacións 
### Soporte físico 
O microcontrolador ten o proxecto baseado na arquitectura Harvard, é dicir, existen espazos de direccións separados para código e datos. Malia ter sido deseñado orixinariamente para aplicacións simples, permítese direccionar 64 KB de ROM externa e 64 KB de RAM por medio de liña de selección separadas para programas e datos.

Adicionalmente, o microcontrolador contén unha memoria interna, dividida en dúas partes: os SFR e memoria de propósito xeral. Os SFR (rexistradores especiais de funcións) son os rexistros proporcionados polo microcontrolador, e teñen direccións atribuídas nesta memoria interna. O acceso á memoria interna é máis rápido có acceso á memoria externa, pero posúe o tamaño limitado. Parte da memoria interna ademais é usada coma pila durante as chamadas ás funcións e o proceso de interrupcións.

Unha característica particular do 8051 é a inclusión dunha unidade de proceso booleano que permite a feitura de operacións con bits (lóxica binaria) executadas directa e eficientemente en rexistros internos. Isto fixo con que o chip tornásese moi popular en aplicacións de control industrial.

Outra característica bastante valorada é haber catro conxuntos separados de rexistros. Úsase esta característica frecuentemente para reducir a latencia de interrupción (a rutina que manexa a interrupción declara usar outro conxunto de rexistros, evitándose desta maneira a necesidade de salvar na pila os rexistros orixinais).

A maioría dos MCS-51 inclúen unha ou dúas unidade de receptor transmisor universal asíncrono (UART), dúas ou tres de temporizadores, 128 ou 256 bytes de RAM interna (16 bytes dos cales son direccionables a nivel de bit), catro ou cinco rexistros de entrada/saída e ata 54KB de memoria interna de programa. O núcleo orixinal executa un ciclo máquina cada 12 ciclos de tempo, requirindo a maioría de instrucións un ou dous ciclos máquina. Pero actualmente a maioría de fabricantes ofrecen versións melloradas que só requiren de 2 a 4 ciclos de tempo por cada instrución máquina.

O predecesor do MCS-51, o 8048, usouse no teclado do primeiro IBM PC, que convertía pulsaciones de tecla nun stream serie que se envía á unidade central do computador. O 8048 e os seus derivados aínda se usan actualmente en teclados básicos.

## Versións 
O 8031 foi unha versión reducida do Intel **8051** orixinal que non contén memoria interna.

O 8052 foi unha versión mellorada do Intel **8051** orixinal con:
* 256 bytes de RAM interna, no canto de 128 bytes
* 8 kB de ROM, no canto de 4 kB
* un terceiro temporizador de 16-bit
* un segundo porto serie.
Ademais de todas as facilidades de temporizadores que posúen os controladores, estes contan con diferentes sistemas de comunicación serial e paralela.

## Notas 
## Véxase tamén 
* Intel MCS-48