Intel 8051
L' Intel 8051 è un microcontrollore a 8 bit su singolo chip basato su architettura Harvard, prodotto da Intel nel 1980 come processore per sistemi integrati. La versione originale di Intel era popolare negli anni ottanta e i primi anni novanta ma è stata in seguito ampiamente sorpassata da una vasta gamma di dispositivi 8051-compatibili, più veloci e/o funzionali, prodotti da oltre 20 aziende indipendenti come Atmel, Infineon Technologies (precedentemente Siemens AG), Maxim Integrated Products (tramite la sua sussidiaria Dallas Semiconductor), NXP (precedentemente Philips Semiconductor), Nuvoton (precedentemente Winbond), ST Microelectronics, Silicon Laboratories (precedentemente Cygnal), Texas Instruments e Cypress Semiconductor.


La designazione ufficiale di Intel per la famiglia 8051 di microcontrollori è MCS 51. La prima versione fu prodotta utilizzando tecnologia NMOS mentre le versioni successive, identificate da una lettera C nel loro nome (es., 80C51) usavano tecnologia CMOS ed erano quindi più efficenti dal punto di vista energetico dei loro predecessori NMOS. Ciò li rendeva particolarmente adatti per l'uso su dispositivi a batteria.
Applicazioni e funzioni importanti
Il chip dell'8051 integrava tutte le funzionalità seguenti:
- CPU a 8 bit
- Registri, accumulatore e ALU a 8 bit
- bus dati a 8 bit
- Bus indirizzi a 16 bit (spazio indirizzabile complessivo: 216 = 64kB (65536 locazioni) indipendenti su RAM e ROM
- RAM integrata - 128 byte (memoria dati)
- ROM integrata - 4kB (memoria programma)
- Quattro porte dati di I/O orientate al byte
- UART (porte seriali) di tipo sincrono e asincrono
- Due contatori/timer a 16 bit
- Gestore di interrupt a due livelli di priorità
- Modalità di risparmio energetico
Una caratteristica particolarmente utile dell'8051 era la possibilità di elaborare direttamente e in modo efficiente variabili booleane a un solo bit, sui registri interni e RAM. Questa caratteristica ha contribuito a consolidare la popolarità delll'8051 in applicazioni di controllo industriale.
Un'altra caratteristica apprezzata era la presenza di quattro gruppi separati di registri di contesto, usati per ridurre drasticamente le latenze degli interrupt rispetto ai metodi tradizionali di immagazzinamento del contesto degli interrupt su uno stack.
Le porte seriali dell'8051 rendevano semplice l'uso del chip come interfaccia di comunicazione. Era infatti possibile configurare la modalità di connessione tra i pin esterni e i registri a scorrimento interni, collegandoli anche ai timer interni, ottenendo così il supporto di diverse modalità di comunicazione seriale, di tipo sia sincrono che asincrono. Il chip era in grado di comunicare secondo i protocolli seriali più diffusi, in particolare era supportata anche una modalità compatibile con il protocollo RS-485 per comunicazioni multipunto. Questa capacità di interfacciamento verso altri dispositivi rendeva l'8051 particolarmente adatto per applicazioni di tipo embedded.
Programmazione
Oltre alla programmazione in linguaggio assembler nativo, erano disponibili anche diversi compilatori C, completi di estensioni per il controllo dell'allocazione delle variabili nei vari tipi di memoria e per l'accesso alle caratteristiche hardware specifiche dell'8051, come ad esempio i banchi di registri per le variabili a singolo bit. Erano inoltre disponibili compilatori e interpreti di altri linguaggi di alto livello come Forth, BASIC, Pascal/Object Pascal, PL/M e Modula 2.
Processori correlati
Il predecessore dell'8051, l'8048, fu utilizzato nella tastiera del primo IBM PC, dove il suo compito era l'invio della codifica dei tasti verso l'unità primaria del computer. L'8048 e i suoi derivati sono ancora in usoin alcuni modelli di tastiere semplici.
L'8031 era una versione ritagliata dell'originale Intel 8051 che non conteneva la ROM interna. Per usare questo chip, era quindi obbligatorio l'uso di una esterna contenente il programma eseguibile.
L'8052 era una versione potenziate dell'originale 8051 che implementava 256 byte di RAM interna invece di 128 byte, 8kB di ROM invece di 4kB e un terzo timer a 16 bit. L' 8032 aveva le stesse caratteristiche eccetto la memoria programma ROM interna.
Note
Bibliografia
- (English) William Payne, Embedded Controller Forth for the 8051 Family (hardcover), Elsevier, December 19, 1990, p. 528, ISBN 978-0125475709. Lingua sconosciuta: English (aiuto); Formato sconosciuto: hardcover (aiuto)
Collegamenti esterni
- Atmel
- CAST, Inc. (8051 IP core provider)
- NXP (Philips)
- Maxim Integrated Products
- Nuvoton
- Roman-Jones FPGA Based 8051 Core
- Silicon Labs
- Texas Instruments
- STC Semiconductor (Chinese supplier of 8051-based products)
- Dolphin Integration (8051 IP provider)
- DIGITAL CORE DESIGN, DCD (8051/80390 IP core provider)