clive87
Ominide
5 min. di lettura
Vota 3,5 / 5

Concetti Chiave

  • I microcontrollori integrano CPU, memoria ROM e RAM, unità I/O e timer in un unico chip.
  • Il PIC 16F84A è un microcontrollore a 8 bit con memoria FLASH e architettura CMOS.
  • Dispone di 2 porte I/O configurabili singolarmente, memoria RAM volatile e un timer utilizzabile come contatore.
  • L'architettura comprende un contatore di programma a 13 bit e uno stack per subroutine fino a 8 livelli di memoria.
  • I registri speciali configurano le porte I/O e gestiscono operazioni di controllo come gli interrupt.
MICROCONTROLLORI

I microcontrollori sono circuiti integrati digitali che contengono in un unico chip un microprocessore (CPU), una memoria di programma di tipo non volatile (ROM) e di una volatile ( RAM), un unità di ingresso – uscita (I/O) e un timer.
Il PIC 16F84A è un microcontrollore a 8 bit di medie prestazioni.
Realizzato in tecnologia CMOS , è caratterizzato da una memoria di programma non volatile di tipo FLASH. È dotato inoltre di una memoria dati RAM.
L’architettura del PIC 16F84A è caratterizzata da:
- Memoria di programma: Di tipo FLASH cancellabile elettricamente, è costituita da 1024 locazioni di 14 bit.
- Memoria dati RAM: di tipo volatile con locazioni da 8 bit (1 byte), questa memoria dati comprende 68 registri di uso generale.
- Porte ingresso-uscita: sono disponibili 2 porte di I/O, il portA con 5 linee RA0-RA4, e il portB con 8 linee RB0-RB7.

Ciascuna di queste linee può essere configurata individualmente come ingresso o come uscita e può essere scritta o letta sia individualmente sia insieme con le altre della porta.
- Timer: è presente un registro TMR0 che opportunamente caricato, può fungere da timer oppure può essere utilizzato come contatore di impulsi provenienti dall’esterno attraverso la linea RA4, configurata come ingresso.
- Contatore di programma: è organizzato con 13 bit su 2 registri, il registro basso PCL a 8 bit e il registro alto PCH con 5 bit. Microcontrollore articoloIn realtà questo PIC potendo indirizzare al massimo fino alla locazione 3FF, utilizzerà solo i 2 bit meno significativi del PCH. Il PCL può essere scritto e letto direttamente come un normale registro, consentendo così di effettuare salti di programma.
- Accumulatore o registro di lavoro W: riveste particolare importanza perché la maggior parte delle istruzioni di spostamento fra i registri lo interessano direttamente.
- Stack: il 16F84A consente una programmazione con ricorso a subroutine . Lo stack o pila, in cui vengono depositati gli indirizzi di ritorno della subroutine , è organizzato su 8 livelli di memoria, cosicché è possibile utilizzare fino a 8 subroutine subordinate o nidificate.

REGISTRI
L’area di memoria per i dati è strutturata in registri a 8 bit, alcuni di tipo speciale e altri di uso generale.
- Registri di uso generale: Sono 68 registri che possono essere usati per ogni tipo di elaborazione dati, per generare ritardi, per eseguire operazioni aritmetiche o logiche. È una caratteristica del PIC che i caricamenti o i trasferimenti fra registri avvengano attraverso il registro di lavoro W.

REGISTRI SPECIALI
Sono disposti su 2 banchi, il bank 0 e il bank 1. i registri sono:
-Tris A e Tris B : consentono di configurare le linee del port A e del port B come ingressi o come uscite scrivento 1 è imput e 0 è output.
-Port A e port B : i bit scritti in questi registri vengono trasferiti in uscita sulle linee corrispondenti purche le linee prima erano state configurate come uscite, se invece sono ingressi la lettura dei registri fornisce lo stato logico presente su di esse.
-Status : è il registro di stato
-TMR0 :il timer è un contatore a 8 bit che può essere inizialmente caricato al valore desiderato mediate istruzione e quindi fatto avanzare sia un segnale interno con il clock o esternamente inviato dal RA4.
-intcon :questo registro contiene i bit di controllo degli interrupt e contiene sottoprogrammi come toif toie gie ecc..

Scrittura del programma
- movlw : carica nel registro W la costante k, estesa 1 byte. Movlw k
- goto: produce un salto incondizionato portando l’esecuzione del programma alla locazione di indirizzo k. Goto k
- call: fa eseguire un salto alla subrutine di indirizzo k che normalmente è una label. Call k
- movwf: sposta il contenuto di W nel registro f. movwf f
- nop non fa niente
- bcf: azzera il bit b del registro f. bcf f,b
- bsf: pone a 1 il bit b del registro f. bsf f,b
- btfsc: testa il bit b del registro f, se è 0 salta l’istruzione successiva e passa a quella dopo ancora btfsc f,b

Domande da interrogazione

  1. Quali sono le componenti principali di un microcontrollore come il PIC 16F84A?
  2. Un microcontrollore come il PIC 16F84A include una CPU, memoria di programma non volatile (FLASH), memoria dati volatile (RAM), unità di ingresso-uscita (I/O) e un timer.

  3. Come è organizzata la memoria di programma del PIC 16F84A?
  4. La memoria di programma del PIC 16F84A è di tipo FLASH, cancellabile elettricamente, e consiste di 1024 locazioni di 14 bit.

  5. Qual è la funzione del registro TMR0 nel PIC 16F84A?
  6. Il registro TMR0 può funzionare come timer o come contatore di impulsi esterni attraverso la linea RA4 configurata come ingresso.

  7. Come si configurano le porte di ingresso-uscita nel PIC 16F84A?
  8. Le porte di I/O, portA e portB, possono essere configurate individualmente come ingressi o uscite tramite i registri Tris A e Tris B, dove 1 indica input e 0 output.

  9. Quali istruzioni di programmazione sono utilizzate nel PIC 16F84A?
  10. Alcune istruzioni includono movlw per caricare una costante nel registro W, goto per salti incondizionati, call per eseguire subroutine, movwf per spostare il contenuto di W in un registro, e bcf/bsf per manipolare i bit nei registri.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community