Intel 8051: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
RibotBOT (discussione | contributi)
m Bot: Aggiungo: sr:Intel 8051
Xqbot (discussione | contributi)
m Bot: Modifico: en:Intel MCS-51; modifiche estetiche
Riga 1:
[[File:KL Intel P8051.jpg|right|thumb|Microcontrollore Intel P8051.]]
[[File:SAB-C515-LN.jpg|thumb|Microcontrollore SAB-C515-LN di Infineon, basato sul core 8051.]]
L''''Intel 8051''' è un [[microcontrollore]] a 8 [[bit]] su singolo chip basato su [[architettura Harvard]], prodotto da [[Intel]] nel 1980 come processore per [[Sistema embedded|sistemi integrati]]. La versione originale di Intel era popolare negli [[anni 1980|anni ottanta]] e i primi [[anni 1990|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 Semiconductors|NXP]] (precedentemente [[Philips]] Semiconductor), Nuvoton (precedentemente [[Winbond]]), [[ST Microelectronics]], [[Silicon Laboratories]] (precedentemente Cygnal), [[Texas Instruments]] e [[Cypress Semiconductor]].
La differenza tra una vera e propria CPU e l'8051 è che quest'ultimo possiede 32 linee di I/O, organizzate in gruppi di 8 bit ciascuno. ad ognuno di questi è possibile collegare un pulsante, un LED, oppure altri dispositivi che possano fornire I/O all'8051.
 
Riga 15:
== Applicazioni e funzioni importanti ==
[[File:Intel_8051_arch.svg|right|thumb|Microarchitettura i8051.]]
Il chip dell'8051 integra le funzionalità seguenti:
* [[Central processing unit|CPU]] a 8 bit
* Registri, accumulatore e unità aritmetico-logica [[unità aritmetica e logica|ALU]] a 8 bit
* [[Bus (informatica)#Bus dati|bus dati]] a 8 bit
* [[Bus (informatica)#Bus indirizzi|Bus indirizzi]] a 16 bit (spazio indirizzabile complessivo: 2<sup>16</sup> = 64[[kilobyte|kB]] indipendenti su RAM e ROM)
* RAM interna (memoria dati) - 128 [[byte]]
* ROM interna (memoria programma) - 4kB
Riga 32:
Le porte seriali dell'8051 rendono semplice l'uso del chip come interfaccia di comunicazione. È 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 (SPI) che asincrono.
 
Le porte UART integrate, dalla gestione particolarmente semplice, sono in grado di comunicare secondo i protocolli seriali più diffusi, in particolare è supportata anche una modalità compatibile con il protocollo [[EIA-485|RS-485]] per comunicazioni multipunto. Questa capacità di interfacciamento verso altri dispositivi rende l'8051 particolarmente adatto per applicazioni di tipo embedded.
 
La versione originale dell'8051 ha un ciclo macchina pari a 12 cicli di clock. Dato che la maggior parte delle istruzioni richiedono uno o due cicli macchina, usando un clock a 12 Mhz l'8051 è in grado di eseguire in un secondo fino a un milione di istruzioni da un ciclo macchina e fino a cinquecentomila istruzioni da due cicli macchina. Le ultime versioni dell'8051 hanno ridotto drasticamente il numero di cicli di clock per ciclo macchina, fino ad arrivare a un ciclo macchina per ciclo di clock, come avviene nei modelli prodotti da SILabs, da alcuni Dallas e da qualche Atmel: a una frequenza di clock di 100MHz la CPU risulta quindi particolarmente efficiente, altra caratteristica fondamentale per le applicazioni di tipo embedded. Grazie all'impiego di tecnologie FPGA, gli ultimi modelli di 8051 sono in grado di lavorare a una frequenza di clock pari a 200MHz.
Riga 41:
Oltre alla programmazione in linguaggio [[assembler]] nativo, sono disponibili diversi [[compilatore|compilatori]] [[C (linguaggio di programmazione)|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. Sono inoltre disponibili compilatori e interpreti di altri linguaggi di alto livello come: [[Forth (informatica)|Forth]], [[BASIC]], [[Pascal (linguaggio)|Pascal]]/[[Object Pascal]], [[PL/M]] e [[Modula 2]].
 
== Instruction set ==
'''Istruzioni aritmetiche'''
{| class="wikitable" border="1"
Riga 647:
direct 128 locazioni di ram interna, porta di I/O, registro di controllo o stato<br />
@Ri Locazione di RAM interna indiretta indirizzata dal registro R0 o R1<br />
# data costante a 8 bit inclusa nell'istruzione<br />
# data16 costante a 16 bit inclusa nell'istruzione<br />
bit 128 flag software, pin di I/O, bit di controllo o stato<br />
addr16 L'indirizzo di destinazione può essere ovunque nei 64-kByte dello spazio di memoria programma<br />
Riga 676:
| 8051
| 4 KB
| [[Read-Only_MemoryOnly Memory|ROM]]
| 128
| 2
Riga 697:
| 8052
| 8 KB
| [[Read-Only_MemoryOnly Memory|ROM]]
| 256
| 3
Riga 711:
 
== Bibliografia ==
* {{cite book | last=Payne | first=William | coauthors= | editor= | others= |
title=Embedded Controller Forth for the 8051 Family |origdate = | origyear= |
origmonth= | url= | format=hardcover | accessdate= | accessyear= | accessmonth= | edition= |
Riga 717:
isbn=978-0125475709 | pages=528 | chapter= | chapterurl= }}
 
* Andrew S. Tanenbaum, Architettura degli elaboratori, un approccio strutturale, Pearson Prentice Hall
 
== Collegamenti esterni ==
* [http://www.atmel.com/products/8051/ Atmel]
* [http://www.cast-inc.com/cores/r8051xc2/index.shtml CAST, Inc. (8051 IP core provider)]
* [http://www.standardics.nxp.com/products/80c51/ NXP (Philips)]
* [http://para.maxim-ic.com/cache/en/results/4592.html Maxim Integrated Products]
* [http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/ConsumerElectronicsIC/ Nuvoton]
* [http://www.roman-jones.com/PB8051Microcontroller.htm Roman-Jones FPGA Based 8051 Core]
* [https://www.silabs.com/products/mcu/pages/default.aspx Silicon Labs]
* [http://focus.ti.com/mcu/docs/mcugeneralcontent.tsp?sectionId=98&tabId=1515 Texas Instruments]
* [http://mcu-memory.com/ STC Semiconductor (Chinese supplier of 8051-based products)]
* [http://www.dolphin.fr/flip/logic/logic_overview.html Dolphin Integration (8051 IP provider)]
* [http://www.dcd.pl/acore.php?idcore=44 DIGITAL CORE DESIGN, DCD (8051/80390 IP core provider)]
 
[[Categoria:Microcontrollori]]
Riga 739:
[[de:Intel MCS-51]]
[[el:Intel 8051]]
[[en:Intel 8051MCS-51]]
[[es:Intel 8051]]
[[fr:Intel 8051]]