Intel P8051.
O **Intel MCS-51**, tamén **Intel 8051,** é un microcontrolador de arquitectura de conjunto 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.

Os microcontroladores MCS-51 modernos ofrecen moitas melloras sobre o orixinal. Melloras comúns inclúen *watchdog timers* (un temporizador programable que reinicia o sistema caso no se actualice en certo tempo), osciladores internos, memoria de programa Flash ROM interna, código de inicialización en ROM, almacenamento en EEPROM interna, I²C, SPI, USB, xeradores PWM, conversores analóxicos A/D e D/A, reloxos de tempo real RTC, temporizadores e contadores extra, facilidades de depuración internas, máis fontes de interrupción, modos de baixo consumo, interface CAN etc.

### Soporte lóxico

Existen varios compiladores de linguaxe C dispoñibles para o MCS-51, así como en linguaxe ensambladora. A maioría engaden extensións á linguaxe que permiten ó programador especificar, por exemplo, o tipo de memoria onde se situará a variable, especificar controladores de interrupción, especificar o banco de rexistros, acceder a instrucións especiais de manipulación de bits.

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
-----

1. 1 2  "Microcontrolador com arquitetura 8051" (en portugués). Atmel. Arquivado dende o orixinal o 09 de abril de 2016. Consultado o 21 de marzo de 2016.
2. ↑  "MCS 51 Microcontroller Family User's Manual" (PDF) (en inglés). Intel. Consultado o 21 de marzo de 2016.
3. 1 2  Deshmukh, Ajay. *Microcontrollers: Theory and Applications* (en inglés). McGraw-Hill. p. 318.
4. ↑  Choueri Junior, Salomão. "Curso Prático de Programação em Linguagem C para 8051" (PDF) (en portugués). Arquivado dende o orixinal (PDF) o 24 de decembro de 2016. Consultado o 21 de marzo de 2016.

Véxase tamén
------------

* Intel MCS-48

|  |  |
| --- | --- |
| Control de autoridades | 
* Wd: Q330086
* BNF: 12333452n
* GND: 4196737-9
* LCCN: sh85067142

 |