Saltar ao contido

Intel MCS-51

Na Galipedia, a Wikipedia en galego.
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.[1]

Especificacións

[editar | editar a fonte]

Soporte físico

[editar | editar a fonte]

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.[2]

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.[1]

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

[editar | editar a fonte]

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.[3][4]

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.[3]

Versións

[editar | editar a fonte]

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.

  1. 1,0 1,1 "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. 3,0 3,1 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

[editar | editar a fonte]
  • Intel MCS-48