Microcontrollore AT89C51: Struttura, Schema dei Pin, Diagramma a Blocchi

L’AT89C51 è un chip basato su un microcontrollore CMOS a 8 bit, prodotto da Atmel, ed è anche noto come microcontrollore della serie 8051. È principalmente utilizzato in sistemi embedded, offrendo vantaggi quali elevata flessibilità, programmabilità e facilità d’uso. Trova applicazioni in vari campi come il controllo industriale, l’elettronica automobilistica, gli strumenti intelligenti ed è diventato un rappresentante significativo della famiglia di microcontrollori MCS-51.

Introduzione al microcontrollore AT89C51

L’AT89C51 è un microprocessore CMOS a 8 bit a basso voltaggio e ad alte prestazioni con 4K byte di memoria flash programmabile e cancellabile in sola lettura (FPEROM). È prodotto utilizzando la tecnologia di memoria non volatile ad alta densità di Atmel ed è compatibile con il set di istruzioni e il layout dei pin dello standard industriale MCS-51. Combinando una CPU a 8 bit versatile e una memoria flash su un singolo chip, l’AT89C51 di Atmel è un microcontrollore efficiente che fornisce una soluzione flessibile ed economica per molti sistemi di controllo embedded.

Caratteristiche dell'AT89C51

  • Compatibile con MCS-51
  • 4K byte di memoria FLASH programmabile
  • Resistenza: 1000 cicli di scrittura/cancellazione
  • Tempo di conservazione dei dati: 10 anni
  • Funzionamento completamente statico: 0Hz-24MHz
  • Blocco del programma a tre livelli
  • 128×8 bit di RAM interna
  • 32 linee di I/O programmabili
  • Due timer/contatori a 16 bit
  • Cinque sorgenti di interrupt
  • Canale seriale programmabile
  • Modalità di inattività e spegnimento a basso consumo
  • Oscillatore e circuiti di clock integrati

Funzioni dell'AT89C51

1. Elaborazione dati: l’AT89C51 ha una potente capacità di elaborazione dati, che gli consente di gestire varie attività di elaborazione, archiviazione e trasferimento dati. Può eseguire varie operazioni sui dati utilizzando componenti integrati come l’unità logico-aritmetica (ALU), la memoria flash e la memoria RAM.

2. Controllo periferiche: l’AT89C51 dispone di più interfacce periferiche, tra cui pin di input/output generici (GPIO), una porta seriale, un’interfaccia SPI e due timer/contatori a 16 bit, che possono essere utilizzati per la comunicazione e il controllo di altri dispositivi hardware.

3. Gestione degli interrupt: l’AT89C51 supporta vari tipi di interrupt, tra cui interrupt esterni, interrupt del timer e interrupt della porta seriale. Questi interrupt consentono una rapida risposta agli eventi esterni e l’esecuzione delle corrispondenti routine di servizio degli interrupt.

4. Controllo del tempo: l’AT89C51 include due timer/contatori a 16 bit che possono essere utilizzati per generare interrupt del timer, misurare la frequenza, modulare la larghezza degli impulsi e altre applicazioni relative al tempo.

5. Aggiornamenti programmabili: grazie all’utilizzo della memoria flash, il programma dell’AT89C51 può essere modificato tramite programmazione, facilitando gli aggiornamenti e l’espansione del sistema.

Struttura dell'AT89C51

La struttura interna del microcontrollore AT89C51 mostra i principali componenti funzionali all’interno del chip:

Structure of AT89C51 MCU
Structure of AT89C51 MCU

1. Un’unità di elaborazione centrale (CPU) a 8 bit incentrata sull’unità logico-aritmetica (ALU) per il calcolo e il controllo.

2. 128 byte di memoria dati interna accessibile (RAM interna) con un intervallo di indirizzi da 00H a 7FH.

3. 21 registri di funzione speciali (SFR) distribuiti nell’intervallo di indirizzi 80H a FFH, utilizzati per varie funzioni di controllo.

4. Un contatore di programma (PC), un registro dedicato a 16 bit per memorizzare l’indirizzo della prossima istruzione da eseguire.

5. 4KB di memoria flash interna (ROM on-chip) per memorizzare programmi e dati.

6. Quattro porte di I/O programmabili a 8 bit (P0, P1, P2, P3).

7. Una porta di comunicazione seriale UART.

8. Due timer/contatori a 16 bit.

9. Cinque sorgenti di interrupt e un sistema di controllo degli interrupt a due livelli.

10. Oscillatore e circuiti di clock on-chip.

Configurazione dei pin AT89C51

Il microcontrollore AT89C51 ha 40 pin suddivisi in quattro gruppi: alimentazione, clock, controllo e porte di I/O.

AT89C51 Pinout
AT89C51 Pinout

Pin di alimentazione:

– GND (Pin 20): connessione di massa.
– Vcc (Pin 40): ingresso di alimentazione CC, tipicamente 5,0V ±20% nell’intervallo da -40°C a 85°C, con una valutazione massima di 6,6V.

Pin di clock:

– XTAL1 (Pin 19): uno dei pin per collegare un elemento oscillatore esterno, come un oscillatore a cristallo.
– XTAL2 (Pin 18): l’altro pin per collegare un elemento oscillatore esterno.

Quando si utilizza un oscillatore esterno, XTAL1 riceve il segnale dell’oscillatore, mentre XTAL2 è lasciato scollegato. Questa configurazione forma l’oscillatore, con la frequenza determinata dal reciproco del periodo dell’oscillatore.

(Nota: la traduzione è piuttosto dettagliata. Se preferisci una versione più concisa, fammelo sapere.)

Pin di controllo:

1. RST (Pin 9): ingresso di reset (utilizzato per l’inizializzazione e il riavvio).

Il reset può avvenire tramite due metodi: reset all’accensione e reset manuale (premendo un pulsante di reset). Richiede che il pin RST rimanga alto per almeno 2 cicli macchina prima di passare a un livello basso. Questo include un piccolo circuito con resistori e condensatori. Il primo metodo si ottiene applicando una tensione elevata a questo circuito, mentre il secondo metodo è semplice come premere un pulsante. Entrambi i metodi assicurano che il pin RST rimanga alto per due cicli macchina, completando l’operazione di reset.

2. ALE/PROG (Pin 30): abilitazione del latch di indirizzo/impulso di programmazione.

Questo pin, utilizzato anche come PROG durante la programmazione, viene impiegato quando si scaricano programmi nel microcontrollore. È correlato agli impulsi di programmazione e genera forme d’onda specifiche durante la programmazione.

3. PSEN (Pin 29): segnale di lettura ROM esterna.

PSEN è correlato alla lettura dei dati dalla ROM esterna. Agisce come una condizione per la lettura dei dati, richiedendo un segnale PSEN valido per leggere correttamente i dati.

4. EA/Vpp (Pin 31): selezione ROM interna/esterna/tensione di programmazione.

Il microcontrollore 51 ha 4K di ROM on-chip. Se questo non è sufficiente, può essere espanso con ROM esterna (simile all’inserimento di una scheda di memoria in un telefono cellulare). Il valore di EA determina se si accede ai dati dalla memoria interna o esterna. Vpp viene utilizzato per applicare la tensione durante la programmazione.

Diagramma a blocchi del microcontrollore AT89C51

Il diagramma seguente rappresenta i blocchi funzionali di base del microcontrollore AT89C51. Questo chip integra i componenti principali di un microcomputer, tra cui CPU, memoria, porte di I/O programmabili, timer/contatori, porta seriale, ecc. Tutti questi componenti sono interconnessi tramite un bus interno.

AT89C51 Block Diagram
AT89C51 Block Diagram

Microcontrollori AT89C51 Vs. 8051

8051: Rappresenta la seconda generazione di microcontrollori, appartenente alla serie MCS-51. AT89C51: Un microcontrollore sviluppato da ATMEL che è compatibile con MCS-51 e appartiene alla terza generazione di microcontrollori.

I microcontrollori MCS-51 si riferiscono a una serie di microcontrollori prodotti da Intel negli Stati Uniti. Questa serie include 8031, 8051, 8751, 8032, 8052 e 8752. Il microcontrollore 8051 è il prodotto più antico e tipico di questa serie. L’AT89C51 si basa sui circuiti principali del 8051 ed è stato successivamente sviluppato da ATMEL. Esistono anche microcontrollori simili come l’STC51, che hanno la stessa funzionalità ma sono prodotti da aziende diverse e hanno prefissi diversi. In sostanza, l’AT89C51 e l’8051 hanno funzionalità identiche, ma l’8051 non è più disponibile sul mercato.

Condividi con:

Torna in alto

Instant Quote