Intel MCS-51
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.
Notas
[editar | editar a fonte]- ↑ 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.
- ↑ "MCS 51 Microcontroller Family User's Manual" (PDF) (en inglés). Intel. Consultado o 21 de marzo de 2016.
- ↑ 3,0 3,1 Deshmukh, Ajay. Microcontrollers: Theory and Applications (en inglés). McGraw-Hill. p. 318.
- ↑ 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