Conoscere i microcontrollori PIC e la sua architettura con spiegazione

Conoscere i microcontrollori PIC e la sua architettura con spiegazione

PIC è un file Microcontrollore interfaccia periferica che è stato sviluppato nell'anno 1993 dalla General Instruments Microcontrollers. È controllato dal software e programmato in modo tale da eseguire diversi compiti e controllare una linea di generazione. I microcontrollori PIC vengono utilizzati in diverse nuove applicazioni come smartphone, accessori audio e dispositivi medici avanzati.

Microcontrollori PIC

Microcontrollori PIC



Ci sono molti PIC disponibili sul mercato che vanno da PIC16F84 a PIC16C84. Questi tipi di PIC sono PIC flash convenienti. Microchip ha recentemente introdotto chip flash con diversi tipi, come 16F628, 16F877 e 18F452. Il 16F877 costa il doppio del vecchio 16F84, ma è otto volte di più della dimensione del codice, con più RAM e molti più pin I / O, un UART, un convertitore A / D e molte più funzionalità.




Architettura dei microcontrollori PIC

Il Microcontrollore PIC si basa sull'architettura RISC. La sua architettura di memoria segue lo schema di Harvard di memorie separate per programma e dati, con bus separati.

Architettura del microcontrollore PIC

Architettura del microcontrollore PIC



1. Struttura della memoria

L'architettura PIC è composta da due memorie: memoria di programma e memoria dati.

Memoria di programma: Si tratta di uno spazio di memoria 4K * 14. Viene utilizzato per memorizzare istruzioni a 13 bit o il codice del programma. Ai dati della memoria del programma si accede dal registro del contatore del programma che contiene l'indirizzo della memoria del programma. L'indirizzo 0000H viene utilizzato come spazio di memoria di ripristino e 0004H viene utilizzato come spazio di memoria degli interrupt.

Memoria dati: La memoria dati è composta da 368 byte di RAM e 256 byte di EEPROM. I 368 byte di RAM sono costituiti da più banchi. Ogni banca è costituita da registri di uso generale e da registri di funzioni speciali.




I registri delle funzioni speciali sono costituiti da registri di controllo per controllare diverse operazioni delle risorse del chip come i timer, Convertitori da analogico a digitale , Porte seriali, porte I / O, ecc. Ad esempio, il registro TRISA i cui bit possono essere modificati per alterare le operazioni di input o output della porta A.

I registri di uso generale sono costituiti da registri utilizzati per archiviare dati temporanei e risultati di elaborazione dei dati. Questi registri per uso generico sono registri a 8 bit ciascuno.

Registro di lavoro: Consiste in uno spazio di memoria che memorizza gli operandi per ciascuna istruzione. Memorizza anche i risultati di ogni esecuzione.

Registro di stato: I bit del registro di stato indicano lo stato dell'ALU (unità logica aritmetica) dopo ogni esecuzione dell'istruzione. Viene anche utilizzato per selezionare uno qualsiasi dei 4 banchi della RAM.

Registro di selezione dei file: Funge da puntatore a qualsiasi altro registro generico. Consiste in un indirizzo del file di registro e viene utilizzato nell'indirizzamento indiretto.

Un altro registro generico è il registro del contatore del programma, che è un registro a 13 bit. I 5 bit superiori vengono utilizzati come PCLATH (Program Counter Latch) per funzionare indipendentemente come qualsiasi altro registro, e gli 8 bit inferiori vengono utilizzati come bit del contatore del programma. Il contatore del programma funge da puntatore alle istruzioni memorizzate nella memoria del programma.

EEPROM: Consiste di 256 byte di spazio di memoria. È una memoria permanente come la ROM, ma il suo contenuto può essere cancellato e modificato durante il funzionamento del microcontrollore. Il contenuto in EEPROM può essere letto o scritto su, utilizzando registri di funzioni speciali come EECON1, EECON, ecc.

2. Porte I / O

La serie PIC16 è composta da cinque porte, come Porta A, Porta B, Porta C, Porta D e Porta E.

Porta A: È una porta a 16 bit, che può essere utilizzata come porta di ingresso o di uscita in base allo stato del registro TRISA.

Porta B: È una porta a 8 bit, che può essere utilizzata sia come porta di ingresso che di uscita. 4 dei suoi bit, se usati come ingresso, possono essere modificati su segnali di interrupt.

Porta C: È una porta a 8 bit il cui funzionamento (ingresso o uscita) è determinato dallo stato del registro TRISC.

Porta D: È una porta a 8 bit, che oltre ad essere una porta I / O, funge da porta slave per la connessione a microprocessore autobus.

Port E: È una porta a 3 bit che serve la funzione aggiuntiva dei segnali di controllo al convertitore A / D.

3. Timer

I microcontrollori PIC sono costituiti da 3 timer , di cui il Timer 0 e il Timer 2 sono timer a 8 bit e il Time-1 è un timer a 16 bit, che può essere utilizzato anche come contatore .

4. Convertitore A / D

Il microcontrollore PIC è costituito da un convertitore analogico-digitale a 8 canali e 10 bit. Il funzionamento di Convertitore A / D è controllato da questi registri di funzioni speciali: ADCON0 e ADCON1. I bit inferiori del convertitore sono memorizzati in ADRESL (8 bit), mentre i bit superiori sono memorizzati nel registro ADRESH. Richiede una tensione di riferimento analogica di 5V per il suo funzionamento.

5. Oscillatori

Oscillatori sono usati per la generazione del tempo. I microcontrollori PIC sono costituiti da oscillatori esterni come cristalli o oscillatori RC. Nel caso degli oscillatori a cristallo, il cristallo è collegato tra due pin dell'oscillatore e il valore del condensatore collegato a ciascun pin determina la modalità di funzionamento dell'oscillatore. Le diverse modalità sono la modalità a basso consumo, la modalità cristallo e la modalità ad alta velocità. Nel caso di oscillatori RC, il valore del resistore e del condensatore determina la frequenza di clock. La frequenza di clock varia da 30 kHz a 4 MHz.

6. Modulo CCP:

Un modulo CCP funziona nelle seguenti tre modalità:

Modalità di cattura: Questa modalità cattura l'ora di arrivo di un segnale, o in altre parole, cattura il valore del Timer1 quando il pin CCP diventa alto.

Modalità di confronto: Funziona come un comparatore analogico che genera un'uscita quando il valore del timer1 raggiunge un determinato valore di riferimento.

Modalità PWM: Fornisce larghezza di impulso modulata uscita con una risoluzione di 10 bit e duty cycle programmabile.

Altre periferiche speciali includono un timer Watchdog che ripristina il microcontrollore in caso di malfunzionamento del software e un ripristino Brownout che ripristina il microcontrollore in caso di fluttuazioni di potenza e altro. Per una migliore comprensione di questo microcontrollore PIC, stiamo fornendo un progetto pratico che utilizza questo controller per il suo funzionamento.

Lampione che si illumina quando rileva il movimento del veicolo

Questo Progetto controllo illuminazione stradale a LED è progettato per rilevare il movimento del veicolo in autostrada per accendere un blocco di lampioni davanti ad esso e per spegnere le luci di posizione per risparmiare energia. In questo progetto, la programmazione di un microcontrollore PIC viene eseguita utilizzando incorporato C o linguaggio assembly.

Lampione che si illumina quando rileva il movimento del veicolo

Lampione che si illumina quando rileva il movimento del veicolo

Il circuito di alimentazione fornisce l'alimentazione a un intero circuito abbassando, raddrizzando, filtrando e regolando l'alimentazione di rete CA. Quando non ci sono veicoli in autostrada, tutte le luci rimangono spente per risparmiare energia. I sensori IR sono posizionati su entrambi i lati della strada mentre rilevano il movimento dei veicoli e, a loro volta, inviano i comandi al microcontrollore per accendere o spegnere i LED. Un blocco di LED si accenderà quando un veicolo si avvicina ad esso e una volta che il veicolo si allontana da questo percorso, l'intensità diventa bassa o completamente spenta.

Il Progetti microcontrollore PIC può essere utilizzato in diverse applicazioni, come periferiche di videogiochi, accessori audio, ecc. A parte questo, per qualsiasi aiuto riguardo a qualsiasi progetto, puoi contattarci commentando nella sezione commenti.