Intel 8051: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
MauritsBot (discussione | contributi)
m Bot: Aggiungo: en:Intel 8051; modifiche estetiche
Sistemo l'italiano, correggo alcune imprecisioni tecniche
Riga 1:
[[File:KL Intel P8051.jpg|right|thumb|Microcontrollore Intel P8051.]]
[[File:SAB-C515-LN.jpg|thumb|SAB-C515-LN della Infineon è basato sull'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]]. laLa versione originale di Intel era popolare negli [[anni '801980|anni ottanta]] e i primi '90,[[anni ma1990|anni oggigiornonovanta]] ma è stata in seguito ampiamente sorpassata da una vasta gamma di dispositivi 8051-compatibili, più veloci e/o funzionali, prodotti da più dioltre 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 designazione ufficiale di Intel per la famiglia 8051 di microcontrollori è '''MCS 51'''.
 
La designazione ufficiale di Intel per la famiglia originale8051 di Intelmicrocontrollori è '''MCS 51'''. La prima versione fu prodotta utilizzando tecnologia [[NMOS]], mamentre 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 reserendeva piùparticolarmente adatti per l'uso su dispositivi a [[batteria]].
 
la famiglia originale di Intel fù prodotta utilizzando tecnologia [[NMOS]], ma le versioni successive, identificate da una lettera C nel loro nome (es., 80C51) usavano tecnologia [[CMOS]] ed erano più efficenti dal punto di vista energetico dei loro predecessori NMOS. Ciò li rese più adatti per l'uso su dispositivi a [[batteria]].
== Applicazioni e funzioni importanti ==
[[File:Intel_8051_arch.svg|right|thumb|Microarchitettura i8051.]]
Il chip dell'8051 integrava tutte le funzionalità seguenti:
* è provvisto di ([[Central processing unit|CPU]], [[Random access memory|RAM]], [[Read-only memory|ROM]], [[Input/output|I/O]], [[interrupt]] logici, [[timer]], ecc.) su chip
* [[Central processing unit|CPU]] a 8 bit
* ALU a 8-bit, Registri e Accumulatori; Ciò rende l'Intel 8051 un [[microcontrollore]] a [[8-bit]]
* Registri, accumulatore e ALU a 8 bit
* [[Bus (informatica)#Bus dati|Busbus dati]] a 8-bit - è possibile accedere a dati di 8 bit in un'unica operazione
* [[Bus (informatica)#Bus indirizzi|Bus indirizzi]] a 16- bit -(spazio Puòindirizzabile complessivo: indirizzare 2<sup>16</sup> locazioni di memoria -= 64&nbsp;[[kibibytekilobyte|kiBkB]] (65536 locazioni) indipendenti su RAM e ROM
* RAM integrata - 128 [[byte]]s (memoria dati)
* ROMRAM integrata - 4&nbsp;kiB128 [[byte]] (memoria programmadati)
* RAMROM integrata - 128 [[byte]]s4kB (memoria datiprogramma)
* Quattro porte dati di I/O orientate al byte
* [[UART]] ([[portaporte serialeseriali]]) di tipo sincrono e asincrono
* Due contatori a 16-bit/[[timer]]s a 16 bit
* DueGestore di ''[[interrupt]]'' a due livelli di priorità degli interupt
* Modalità di risparmio energetico
 
Una caratteristica particolarmente utile dell'8051 èera la possibilità di elaborare direttamente e in modo efficiente [[Variabile booleana|booleanivariabili booleane]] a livelloun disolo bit con logica booleana, direttamente e in modo efficiente susui registri interni e RAM. Questa caratteristica ha contribuito a cementareconsolidare la popolarità delll'8051 in applicazioni di controllo industriale. Un'altra caratteristica apprezzata è la presenza di quattro gruppi separati di registri, che possono essere usati per ridurre drasticamente le latenze degli interrupt se comparato con i più comuni metodi di immagazzinamento del contesto degli interupt su una pila.
 
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 [[UART]]s dell'8051 rendono semplice l'uso del chip come interfaccia per comunicazioni seriali. I pin esterni possono essere configurati per connettersi ai registri shifter interni in differenti maniere, è possibile anche utilizzare i temporizzatori interni, permettendo connessioni seriali in un buon numero di modi diversi, sia sincrono che asincrono. Alcuni modi non consentono le comunicazioni con componenti esterni. è possibile pure un modo compatibile con una comunicazione [[EIA-485|RS-485]] su più punti, ma la vera forza dell'8051 è la sua capacità di integrazione su sistemi con protocolli ad-hoc già esistenti (ad esempio, pilotare dispositivi controllati con una connessione seriale).
 
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 [[EIA-485|RS-485]] per comunicazioni multipunto. Questa capacità di interfacciamento verso altri dispositivi rendeva l'8051 particolarmente adatto per applicazioni di tipo embedded.
Una volta che una UART, e un temporizzatore se necessario, è stata configurata, il programmatore deve solo scrivere una semplice routine di interrupt per riempire il registro shifter di ''invio'' ogni volta l'ultimo bit shiftato è inviato tramite la UART e/o riempie lo ''spazio vuoto'' nel registro shifte del ''destinatario''. Il programma principale allora effettua letture e scritture seriali semplicemente leggendo e scrivendo dati a 8-bit sugli stacks.
 
<!-- inizio della parte da tradurre
8051 based microcontrollers typically include one or two [[UART]]s, two or three timers, 128 or 256 bytes of internal data [[RAM]] (16 bytes of which are bit-addressable), up to 128 bytes of [[Input/Output|I/O]], 512 bytes to 64 kB of internal program memory, and sometimes a quantity of extended data RAM (ERAM) located in the external data space. The original 8051 core ran at 12 clock cycles per machine cycle, with most instructions executing in one or two machine cycles. With a 12&nbsp;MHz [[clock frequency]], the 8051 could thus execute 1 million one-cycle instructions per second or 500,000 two-cycle instructions per second. Enhanced 8051 cores are now commonly used which run at six, four, two, or even one clock per machine cycle, and have clock frequencies of up to 100 MHz, and are thus capable of an even greater number of instructions per second. All SILabs, some Dallas and a few Atmel devices have single cycle cores.
 
Riga 30 ⟶ 32:
 
Common features included in modern 8051 based microcontrollers include built-in reset timers with brown-out detection, on-chip oscillators, self-programmable [[Flash ROM]] program memory, bootloader code in ROM, EEPROM non-volatile data storage, [[I²C]], [[Serial Peripheral Interface|SPI]], and [[USB]] host interfaces, [[Pulse-width modulation|PWM]] generators, analog comparators, [[Analog to digital converter|A/D]] and [[Digital to analog converter|D/A]] converters, [[Real-time clock|RTCs]], extra counters and timers, in-circuit debugging facilities, more interrupt sources, and extra power saving modes.
FINE DELLA PARTE DA TRADURRE -->
 
== Programmazione ==
DiversiOltre alla programmazione in linguaggio [[assembler]] nativo, erano disponibili anche diversi compilatori [[C (linguaggio di programmazione)|C]] sono disponibili per l' 8051, lacompleti maggior parte dei quali presentadi estensioni cheper permettonoil alcontrollo programmatoredell'allocazione didelle specificare dove ciascuna variabile dovrebbe essere allocatavariabili nei suoi seivari tipi di memoria, e fornisceper l'accesso a specifichealle caratteristiche hardware specifiche dell'8051, come ad esempio i banchi di registri multipli istruzioni per lale manipolazionevariabili deia bitssingolo bit. AltriErano inoltre disponibili compilatori e interpreti di altri linguaggi di alto livello come [[Forth]], [[BASIC]], [[Pascal (linguaggio)|Pascal]]/[[Object Pascal]], [[PL/M]] e [[Modula 2]] sono disponibili per l' 8051, ma sono meno diffusi rispetto C e [[assembly]].
 
== Processori correlati ==
[[File:INTEL8031AH.png|thumb|right|Intel 8031 processors]]
Il predecessore dell' 8051, l' [[Intel 8048|8048]], fu utilizzato nella tastiera del primo [[IBM PC]], dove convertivail lasuo pressionecompito diera unl'invio tastodella sullacodifica tastieradei intasti unverso flusso dati seriale che era inviato alll'unità primaria del computer. L' 8048 e i suoi derivati sono ancora in uso {{As of|2007|alt=today}} inusoin alcuni modelli di tastiere semplici.
 
L' '''8031''' era una versione ''ritagliata'' dell'originale Intel 8051 che non conteneva nessunala memoria di programmaROM interna ([[Read-only memory|ROM]]). Per usare questo chip, unaera [[Read-onlyquindi memory|ROM]] esterna contenente il programma cheobbligatorio l'8031uso avrebbedi dovutouna estrarre edesterna eseguire,contenente dovevail essereprogramma aggiuntaeseguibile.
 
L' '''8052''' era una versione potenziate dell'originale 8051 che implementava 256 bytesbyte di RAM interna invece di 128 bytesbyte, 8&nbsp;kiB8kB di ROM invece di 4&nbsp;kiB,4kB e un terzo temporizzatoretimer a 16- bit. L' '''8032''' aveva le stesse caratteristiche eccetto la memoria programma ROM interna. L' 8052 e 8032 sono considerati ampiamente obsoleti perchè queste caratteristiche e altre sono incluse in tutti i moderni microcontrollori basati su 8051.
 
== Riferimenti Note==
{{reflist}}
 
== Bibliografia ==
*{{cite book | last=Payne | first=William | coauthors= | editor= | others= |
title=Embedded Controller Forth for the 8051 Family |origdate = | origyear= |
Riga 48 ⟶ 53:
date= December 19, 1990 | publisher=Elsevier | ___location= | language=English |
isbn=978-0125475709 | pages=528 | chapter= | chapterurl= }}
{{reflist}}
 
== Collegamenti Esterniesterni ==
*[http://www.atmel.com/products/8051/ Atmel]
*[http://www.cast-inc.com/cores/r8051xc2/index.shtml CAST, Inc. (8051 IP core provider)]
Riga 62 ⟶ 66:
*[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)]
 
{{Intel controllers}}
 
{{8bitMCUs}}
 
{{FOLDOC}}
 
[[Categoria:Microcontrollori]]