i pic micro sono dei circuiti integrati della famiglia dei microcontrollori prodotti dalla microchip...

52
I Pic micro sono dei I Pic micro sono dei Circuiti Integrati Circuiti Integrati della famiglia dei della famiglia dei microcontrollori microcontrollori prodotti dalla prodotti dalla MICROCHIP TECHNOLOGY MICROCHIP TECHNOLOGY INC. INC. INTRODUZIONE AI PICmicro INTRODUZIONE AI PICmicro

Upload: calogera-rostagno

Post on 01-May-2015

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

I Pic micro sono dei I Pic micro sono dei Circuiti Integrati della Circuiti Integrati della

famiglia dei famiglia dei microcontrollori prodotti microcontrollori prodotti

dalla MICROCHIP dalla MICROCHIP TECHNOLOGY INC.TECHNOLOGY INC.

INTRODUZIONE AI PICmicroINTRODUZIONE AI PICmicro

Page 2: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

MICROCONTROLLOREMICROCONTROLLORE

Legge segnali ai suoi ingressi Legge segnali ai suoi ingressi (sensori,pulsanti,…etc.)(sensori,pulsanti,…etc.)

Processa,eleabora tali segnali (dati)Processa,eleabora tali segnali (dati)

Pilota dispositivi collegati alle sue Pilota dispositivi collegati alle sue uscite (led,display,lcd,motori,..etc.)uscite (led,display,lcd,motori,..etc.)

Page 3: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

PIC16F84PIC16F84

E’ il microcontrollore di cui ci E’ il microcontrollore di cui ci occuperemo.occuperemo.

Si presenta in un package DIPSi presenta in un package DIP

a 18 pin.a 18 pin.

Page 4: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

PIC1684PIC1684

Si presenta come Si presenta come in fig.in fig.

Page 5: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

DISPOSITIVI INTERNI AD UN MICRODISPOSITIVI INTERNI AD UN MICRO CPU (CPU (CCentral entral PProcessor rocessor UUnitnit) ) unità centrale di unità centrale di

elaborazione,interpreta le istruzioni del programmaelaborazione,interpreta le istruzioni del programma EEPROMEEPROM ( (EElectrical lectrical EErase rase PProgrammable rogrammable RRead ead OOnly nly

MMemory)memoria programmabile a solo lettura,è il luogo emory)memoria programmabile a solo lettura,è il luogo ove viene memorizzato il programma.ove viene memorizzato il programma.

LINEE I/OLINEE I/O, , linee di ingresso e di uscita,per pilotare disp. linee di ingresso e di uscita,per pilotare disp. Esterni o ricevere segnali da sensori,pulsanti,..etc.Esterni o ricevere segnali da sensori,pulsanti,..etc.

RAM (RAM (RRandom andom AAccess ccess MMemoryemory) ) ovvero memoria ad ovvero memoria ad accesso casuale.Utilizzata per memorizz. Le variabili del accesso casuale.Utilizzata per memorizz. Le variabili del programma.programma.

CLOCK, BUS, CONTATORI (TIMER),..etc.CLOCK, BUS, CONTATORI (TIMER),..etc.

Page 6: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

PIEDINATURA DEL PIC16F84PIEDINATURA DEL PIC16F84

Page 7: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Descrizione dei pin del PIC16F84Descrizione dei pin del PIC16F84

1.1. RA2 RA2 è una linea di I/O programmabile in ingresso o in è una linea di I/O programmabile in ingresso o in uscita. CORRISPONDE AL BIT 2 DELLA PORTA A.uscita. CORRISPONDE AL BIT 2 DELLA PORTA A.

2.2. RA3 RA3 è una linea di I/O programmabile in ingresso o in è una linea di I/O programmabile in ingresso o in uscita. CORRISPONDE AL BIT 3 DELLA PORTA A.uscita. CORRISPONDE AL BIT 3 DELLA PORTA A.

3.3. RA4 / RTCC RA4 / RTCC è un pin multifunzione che può è un pin multifunzione che può essere programm. Come normale linea di I/O oppure essere programm. Come normale linea di I/O oppure come linea di clock in ingresso verso il contatore come linea di clock in ingresso verso il contatore TMR0TMR0

se programm. Come linea I/O corrisponde al bit 4 della se programm. Come linea I/O corrisponde al bit 4 della porta A.Diversamente dalle altre linee di I/O,quando porta A.Diversamente dalle altre linee di I/O,quando funziona come uscita ,lavora a funziona come uscita ,lavora a collettore apertocollettore aperto..

Page 8: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

4.4. MCLR/VPP MCLR/VPP In condizioni di normale In condizioni di normale funzionamento svolge le funzioni di Master Clear ovvero funzionamento svolge le funzioni di Master Clear ovvero di RESET ed è attivo a livello 0.Quando il PIC deve esseredi RESET ed è attivo a livello 0.Quando il PIC deve essereprogrammato viene usato come ingressso per la tensione programmato viene usato come ingressso per la tensione di programmazione VPP.di programmazione VPP.

5.5. VSS VSS è il pin a cui va collegato il negativo della è il pin a cui va collegato il negativo della tensione di alimentazione (massa).tensione di alimentazione (massa).

6.6. RB0 RB0 è una linea di I/O programmabile in ingresso o è una linea di I/O programmabile in ingresso o uscita dall’utente.Corrisponde al BIT 0 DELLA PORTA B.uscita dall’utente.Corrisponde al BIT 0 DELLA PORTA B.

7.7. RB1 RB1 è una linea di I/O programmabile in ingresso o è una linea di I/O programmabile in ingresso o uscita dall’utente.Corrisponde al BIT 1 DELLA PORTA B.uscita dall’utente.Corrisponde al BIT 1 DELLA PORTA B.

8.8. RB2 RB2 è una linea di I/O programmabile in ingresso o è una linea di I/O programmabile in ingresso o uscita dall’utente.Corrisponde al BIT 2 DELLA PORTA B.uscita dall’utente.Corrisponde al BIT 2 DELLA PORTA B.

Page 9: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

9.9. RB3 RB3 è una linea di I/O programmabile in ingresso o è una linea di I/O programmabile in ingresso o uscita dall’utente.Corrisponde al BIT 3 DELLA PORTA B.uscita dall’utente.Corrisponde al BIT 3 DELLA PORTA B.

10.10. RB4 RB4 è una linea di I/O programmabile in ingresso o è una linea di I/O programmabile in ingresso o uscita dall’utente.Corrisponde al BIT 4 DELLA PORTA B.uscita dall’utente.Corrisponde al BIT 4 DELLA PORTA B.

11.11. RB5 RB5 è una linea di I/O programmabile in ingresso o è una linea di I/O programmabile in ingresso o uscita dall’utente.Corrisponde al BIT 5 DELLA PORTA B.uscita dall’utente.Corrisponde al BIT 5 DELLA PORTA B.

12.12. RB6 RB6 è una linea di I/O programmabile in ingresso o è una linea di I/O programmabile in ingresso o uscita dall’utente.Corrisponde al BIT 6 DELLA PORTA B.uscita dall’utente.Corrisponde al BIT 6 DELLA PORTA B.

13.13. RB7 RB7 è una linea di I/O programmabile in ingresso o è una linea di I/O programmabile in ingresso o uscita dall’utente.Corrisponde al BIT 7 DELLA PORTA B.uscita dall’utente.Corrisponde al BIT 7 DELLA PORTA B.

14.14. VDD VDD è il terminale positivo dell’alimentazione è il terminale positivo dell’alimentazione (+5V)(+5V)

15.15. OSC2/CLKOUT OSC2/CLKOUT è un pin di connessione nel caso è un pin di connessione nel caso venga utilizzato un quarzo per generare il clock.E’ l’uscita venga utilizzato un quarzo per generare il clock.E’ l’uscita del clock nel caso venga applicato un oscillatore RC o un del clock nel caso venga applicato un oscillatore RC o un oscill. Esterno.oscill. Esterno.

Page 10: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

16.16. OSC1/CLKIN OSC1/CLKIN è un pin di connessione nel caso è un pin di connessione nel caso venga utilizzato un quarzo o un circuito RC per generare il venga utilizzato un quarzo o un circuito RC per generare il clock.E’ l’ingresso del clock nel caso venga utilizzato un clock.E’ l’ingresso del clock nel caso venga utilizzato un oscillatore esterno.oscillatore esterno.

17.17. RA0 RA0 è una linea di I/O programmabile in ingresso o è una linea di I/O programmabile in ingresso o uscita dall’utente.Corrisponde al BIT 0 DELLA PORTA A.uscita dall’utente.Corrisponde al BIT 0 DELLA PORTA A.

18.18. RA1 RA1 è una linea di I/O programmabile in ingresso o è una linea di I/O programmabile in ingresso o uscita dall’utente.Corrisponde al BIT 1 DELLA PORTA A.uscita dall’utente.Corrisponde al BIT 1 DELLA PORTA A.

Page 11: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

ARCHITETTURA INTERNA DI UN PIC16F84ARCHITETTURA INTERNA DI UN PIC16F84

Page 12: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

LA ALULA ALU

La ALU ovvero unità aritmetica e La ALU ovvero unità aritmetica e logicalogica

è la componente più complessa del è la componente più complessa del pic in quanto contiene tutta la pic in quanto contiene tutta la circuteria che svolge le funzioni di circuteria che svolge le funzioni di calcolo.calcolo.

La ALU è presente in tutti i La ALU è presente in tutti i microprocessori e da essa dipende microprocessori e da essa dipende direttamente la potenza di calcolo.direttamente la potenza di calcolo.

Page 13: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

LA PROGRAM MEMORYLA PROGRAM MEMORY

E’ una memoria di tipo EEPROM,ed E’ una memoria di tipo EEPROM,ed utilizzata dal pic per tenere memorizzato il utilizzata dal pic per tenere memorizzato il programma da esguire.programma da esguire.

La sua capacità di memorizzazione è di La sua capacità di memorizzazione è di 1024 locazioni ,ognuna in grado di 1024 locazioni ,ognuna in grado di contenere un contenere un opcodeopcode di 14 bit. di 14 bit.

Il programma più complesso che potremo Il programma più complesso che potremo realizzare non potrà essere più lungo di realizzare non potrà essere più lungo di 1024 istruzioni.1024 istruzioni.

Page 14: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Le prime 12 locazioni della pagina 0 (da 00H a Le prime 12 locazioni della pagina 0 (da 00H a 0BH) e della pagina 1 (da 80H a 8BH) sono 0BH) e della pagina 1 (da 80H a 8BH) sono riservate ai registri speciali usati per il riservate ai registri speciali usati per il funzionamento del pic e non possono essere usati funzionamento del pic e non possono essere usati per altri scopi.per altri scopi.

Le 68 locazioni in pagina 0 indirizzate da 0CH a Le 68 locazioni in pagina 0 indirizzate da 0CH a 4FH possono essere utilizzate liberamente dai 4FH possono essere utilizzate liberamente dai nostri programmi per memorizzare nostri programmi per memorizzare variabili,contatori,ecc..variabili,contatori,ecc..

MEMORIA RAM DEL PIC16F84

Page 15: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

MAPPATURA DELLA RAM DEL PIC16F84MAPPATURA DELLA RAM DEL PIC16F84

00h Indirect address indirect address 80h

01h TMR0 OPTION 81h

02H PCL PCL 82h

03h STATUS STATUS 83h

04h FSR FSR 84h

05h PORTA TRISA 85h

06h PORTB TRISB 86h

07h     87h

08h EEDATA EECON 88h

09h EEADR EECON 89h

0Ah PCLATH PCLATH 8Ah

0Bh INTCON INTCON 8Bh

0Ch REGISTRI DI USO  MAPPATO IN PAG. 0 8Ch

GENERALE  

4Fh     CFh

50h     D0h

   

7Fh     FFh

Bank 0 Bank 1

-Registri co

n fu

nzio

ni

specia

li--

Page 16: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

IL REGISTER FILEIL REGISTER FILE

E’ un insieme di locazioni di memoria E’ un insieme di locazioni di memoria RAM, ove è possibile leggere e RAM, ove è possibile leggere e modificare il contenuto, senza modificare il contenuto, senza l’ausilio di programmatori esterni e l’ausilio di programmatori esterni e direttamente dal programma in direttamente dal programma in esecuzione sul PICmicro.esecuzione sul PICmicro.

Page 17: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

L’ACCUMULATORE O REGISTRO WL’ACCUMULATORE O REGISTRO W

E’ direttamente connesso alla ALU.E’ direttamente connesso alla ALU.

E’ una locazione di memoria ad 8 bitE’ una locazione di memoria ad 8 bit

E’ utilizzato spessissimo nei E’ utilizzato spessissimo nei programmi per PIC.programmi per PIC.

Page 18: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Le porte A e BLe porte A e B

Il pic16F84 dispone di 13 linee di I/O Il pic16F84 dispone di 13 linee di I/O organizzate in due porte denominate organizzate in due porte denominate

PORTA A e PORTA B.PORTA A e PORTA B. La porta A dispone di 5 linee configurabili La porta A dispone di 5 linee configurabili

sia in ingressi che in uscite,indicate con sia in ingressi che in uscite,indicate con RA0,RA1,RA2,RA3 ed RA4.RA0,RA1,RA2,RA3 ed RA4.

Page 19: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

La porta B dispone di 8 linee La porta B dispone di 8 linee configurabili sia come ingressi che configurabili sia come ingressi che come uscite,identificate con come uscite,identificate con RB0,RB1,RB2,RB3,RB4,RB5,RB6 ed RB0,RB1,RB2,RB3,RB4,RB5,RB6 ed RB7.RB7.

Page 20: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

REGISTRI PER LA GESTIONE DELLE REGISTRI PER LA GESTIONE DELLE PORTEPORTE

Per la gestione delle linee di I/O da programma,il Per la gestione delle linee di I/O da programma,il pic dispone di due registri interni per ogni porta pic dispone di due registri interni per ogni porta denominati TRISA e PORTA per la porta A e TRISB denominati TRISA e PORTA per la porta A e TRISB e PORTB per la porta B.e PORTB per la porta B.

I registri TRISA e TRISB,determinano il I registri TRISA e TRISB,determinano il funzionamento in ingresso o in uscita di ogni funzionamento in ingresso o in uscita di ogni singola linea,i registri PORTA e PORTB singola linea,i registri PORTA e PORTB determinano lo stato delle linee in uscita o determinano lo stato delle linee in uscita o riportano lo stato delle linee in ingresso.riportano lo stato delle linee in ingresso.

Page 21: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Ognuno dei bit contenuti nei registri Ognuno dei bit contenuti nei registri menzionati corrisponde menzionati corrisponde univocamente ad una linea di I/O.univocamente ad una linea di I/O.

Ad esempio il bit 0 del registro PORTA Ad esempio il bit 0 del registro PORTA e del registro TRISA corrispondono e del registro TRISA corrispondono alla linea RA0,il bit 1 alla linea RA1 e alla linea RA0,il bit 1 alla linea RA1 e cosi via.Questi se posti a 1 cosi via.Questi se posti a 1 configurano la linea corrispondente configurano la linea corrispondente come ingresso,se posti a 0 come ingresso,se posti a 0 configurano la corrispondente linea configurano la corrispondente linea come uscita.come uscita.

Page 22: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Schema delle linee RA0,RA1,RA2 e RA3Schema delle linee RA0,RA1,RA2 e RA3

Page 23: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Schema della linea RA4Schema della linea RA4

Page 24: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Schema delle linee RB0,RB1,RB2,RB3Schema delle linee RB0,RB1,RB2,RB3

Page 25: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Schema delle linee RB4.RB5,RB6,RB7Schema delle linee RB4.RB5,RB6,RB7

Page 26: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

LINGUAGGIO ASSEMBLERLINGUAGGIO ASSEMBLER

Ogni istruzione è rappresentata da Ogni istruzione è rappresentata da un codice operativo (opcode) un codice operativo (opcode) composto da 14 bit.composto da 14 bit.

Viene memorizzata in una locazione Viene memorizzata in una locazione di memoria programma.di memoria programma.

Esempio di opcode: Esempio di opcode:

00 0001 0000 0000 (rappr. Binaria)00 0001 0000 0000 (rappr. Binaria)

0x100 (rappr. Esadec)0x100 (rappr. Esadec)

Page 27: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Questi codici,privi di significato per Questi codici,privi di significato per un essere umano,sono gli unici che il un essere umano,sono gli unici che il pic è in grado di capire.pic è in grado di capire.

Per convenzione si associa,ad ogni Per convenzione si associa,ad ogni opcode,una breve sigla mnemonica opcode,una breve sigla mnemonica che aiuta a ricordare la funzione che aiuta a ricordare la funzione svolta da ogni istruzione.svolta da ogni istruzione.

L’opcode 0x100 di prima effettua L’opcode 0x100 di prima effettua l’azzeramento de registro W che in l’azzeramento de registro W che in inglese viene indicato con la frase inglese viene indicato con la frase CLEAR W REGISTER,che abbreviata CLEAR W REGISTER,che abbreviata diventa diventa CLRW CLRW

Page 28: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Altre sigle mnemoniche definiscono Altre sigle mnemoniche definiscono tutte le istruzioni che il PICmicro è in tutte le istruzioni che il PICmicro è in grado di eseguiregrado di eseguire

L’insieme di queste sigle e le regole L’insieme di queste sigle e le regole per ordinarle per formare un per ordinarle per formare un programma completo viene chiamato programma completo viene chiamato LINGUAGGIO ASSEMBLERLINGUAGGIO ASSEMBLER..

Page 29: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Per scrivere un programma in Per scrivere un programma in assembler occorre: assembler occorre:

1.1. conoscere le istruzioni,per il pic che conoscere le istruzioni,per il pic che si vuole usaresi vuole usare

2.2. Disporre di un elaboratore di testo Disporre di un elaboratore di testo con cui scrivere il programma.con cui scrivere il programma.

Il file di testo ottenuto si chiama Il file di testo ottenuto si chiama source o sorgente assember.source o sorgente assember.

Page 30: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

L’ASSEMBLATOREL’ASSEMBLATORE

E’ un programma che traduce il E’ un programma che traduce il nostro sorgente assembler nella nostro sorgente assembler nella giusta sequenza di istruzioni in giusta sequenza di istruzioni in formato binario che il pic è in grado formato binario che il pic è in grado di capire.di capire.

Page 31: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

SCHEMA DI FLUSSO DELLESCHEMA DI FLUSSO DELLE OPERAZIONI E DEI FILE GENERATI OPERAZIONI E DEI FILE GENERATI NECESSARI PER OTTENERE UN PICmicroNECESSARI PER OTTENERE UN PICmicro PROGRAMMATO PROGRAMMATO

Page 32: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

La prima operazione la scrittura del sorgente La prima operazione la scrittura del sorgente assembler e la sua memorizzazione in un file di assembler e la sua memorizzazione in un file di testo con l’estensione .testo con l’estensione .ASMASM

Durante la compilazione ,l’assemblatore genera Durante la compilazione ,l’assemblatore genera una serie di file con il nome identico al source,ma una serie di file con il nome identico al source,ma con estensione diversa.con estensione diversa.

.HEX è il file contenente gli opcode da inserire .HEX è il file contenente gli opcode da inserire all’interno del pic.all’interno del pic.

.LST è un file di testo in cui è riportato l’intero .LST è un file di testo in cui è riportato l’intero source assembler e la corrispondente traduzione source assembler e la corrispondente traduzione in opcode.in opcode.

.ERR contiene la lista degli errori di compilazione .ERR contiene la lista degli errori di compilazione riscontrati ed il numero di linea all’interno del riscontrati ed il numero di linea all’interno del source assembler in cui sono stati rilevati.source assembler in cui sono stati rilevati.

Page 33: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Primo programma in assemblerPrimo programma in assemblerPROCESSORPROCESSOR16F84 btfsc16F84 btfsc PORTB,LEDPORTB,LEDRADIXRADIX DEC GotoDEC Goto setTozerosetTozeroINCLUDEINCLUDE “P16F84.INC” bsf“P16F84.INC” bsf PORTB,LEDPORTB,LEDLEDLED EQUEQU 0 goto0 goto MainLoopMainLoop

ORGORG 0CH SetTozero0CH SetTozeroCOUNTCOUNT RES 2 bcfRES 2 bcf PORTB,LEDPORTB,LEDORGORG 00H goto00H goto MainLoopMainLoopBsfBsf STATUS,RP0 STATUS,RP0 MovlwMovlw 00011111B Delay 00011111B Delay MovwfMovwf TRISATRISA clrf Countclrf CountMovlwMovlw B’11111110’B’11111110’ clrf Count+1clrf Count+1MovwfMovwf TRISBTRISB DelayLoop DelayLoopBcfBcfSTATUS,RP0STATUS,RP0 decfsz Count,1 decfsz Count,1BsfBsf PORTB,LEDPORTB,LED goto DelayLoop goto DelayLoopmainLoopmainLoop decfsz Count+1,1 decfsz Count+1,1Call DelayCall Delay goto DelayLoop goto DelayLoop retlw 0retlw 0 ENDEND

Page 34: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

IL CONTATORE TMR0 ED IL PRESCALERIL CONTATORE TMR0 ED IL PRESCALER

Il registro TMR0 è un contatore.Il registro TMR0 è un contatore. Esso viene incrementato ogni 4 cicli Esso viene incrementato ogni 4 cicli

macchina.macchina. E’ programmabile direttamente E’ programmabile direttamente

dall’hardware del PIC.dall’hardware del PIC. Raggiunto il valore max pari a 255 Raggiunto il valore max pari a 255

esso viene azzerato esso viene azzerato automaticamente.automaticamente.

Page 35: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

La frequenza di conteggio è direttamente La frequenza di conteggio è direttamente proporzionale alla freq. del clock applicata proporzionale alla freq. del clock applicata al chip.al chip.

Tale freq. può essere modificata Tale freq. può essere modificata programmando opportunatamente alcuni programmando opportunatamente alcuni bit di configurazione.bit di configurazione.

Page 36: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Catena di blocchi interni al pic che determinano il Catena di blocchi interni al pic che determinano il funzionamento del TMR0funzionamento del TMR0

Page 37: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

DESCRIZIONE DEI VARI BLOCCHIDESCRIZIONE DEI VARI BLOCCHI

blocchi FOSC/4 e TOCK1:sorgenti di segnale per il blocchi FOSC/4 e TOCK1:sorgenti di segnale per il contatore.contatore.

Fosc/4Fosc/4 è un segnale generato internamente al è un segnale generato internamente al pic dal clock ed è pari alla freq. di clock divisa per pic dal clock ed è pari alla freq. di clock divisa per 4.4.

TOCK1 TOCK1 è segnale generato da un eventuale è segnale generato da un eventuale circuito estero ed applicato al pin TOCK1 (pin 3) circuito estero ed applicato al pin TOCK1 (pin 3) del pic16F84.del pic16F84.

Page 38: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

I blocchi TOCS e PSA sono 2 commutatori di I blocchi TOCS e PSA sono 2 commutatori di segnale sulla cui uscita viene presentato uno dei segnale sulla cui uscita viene presentato uno dei due segnali d’ingresso in base al valore dei bit due segnali d’ingresso in base al valore dei bit

TOCS e PSA del registro OPTION.TOCS e PSA del registro OPTION.

Il PRESCALER è un divisore di frequenza Il PRESCALER è un divisore di frequenza programmabile a 8 bit,si usa nel caso in cui la programmabile a 8 bit,si usa nel caso in cui la freq. di conteggio inviata al TMR0 sia troppo freq. di conteggio inviata al TMR0 sia troppo elevata.elevata.

Configurando in modo opportuno i bit PS0,PS1 e Configurando in modo opportuno i bit PS0,PS1 e PS2 del registro OPTION secondo la seguente PS2 del registro OPTION secondo la seguente tabella :tabella :

Page 39: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

CONFIGURAZIONE PRESCALERCONFIGURAZIONE PRESCALER

Page 40: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

In base al valore dei bit TOCS e PSA del registro In base al valore dei bit TOCS e PSA del registro option si hanno le seguenti modalità dioption si hanno le seguenti modalità di

funzionamento :TOCS=1 E PSA=1funzionamento :TOCS=1 E PSA=1

Page 41: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

TOCS=0 E PSA=0TOCS=0 E PSA=0

Page 42: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Funzionamento con prescalerFunzionamento con prescaler TOCS=0 e PSA=0TOCS=0 e PSA=0

Page 43: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Il bit TOSEIl bit TOSE

La presenza della porta La presenza della porta logica XOR,all’ingresso logica XOR,all’ingresso TOCK1 del pic,consente di TOCK1 del pic,consente di determinare,tramite il bit determinare,tramite il bit TOSE del registro TOSE del registro OPTION,se il contatore OPTION,se il contatore TMR0 deve essere TMR0 deve essere incrementato in incrementato in corrispondenza del fronte corrispondenza del fronte di discesa (TOSE=1) o del di discesa (TOSE=1) o del fronte di salita (TOSE=0)fronte di salita (TOSE=0)

Page 44: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

GLI INTERRUPTGLI INTERRUPT

E’ un evento esterno,che interrompe E’ un evento esterno,che interrompe momentaneamente il programma momentaneamente il programma principale per eseguire una porzione principale per eseguire una porzione di programma specializzata nella di programma specializzata nella gestione dell’evento verificatosi e gestione dell’evento verificatosi e riprendere l’esecuzione del riprendere l’esecuzione del programma principale.programma principale.

Page 45: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

TIPI DI EVENTO E BIT DI ABILITAZIONETIPI DI EVENTO E BIT DI ABILITAZIONE

Tipi di eventi:Tipi di eventi: Cambiamento di stato sul pin RB0Cambiamento di stato sul pin RB0 Fine conteggio del registro TMR0Fine conteggio del registro TMR0 Cambiamento di stato sui pin da Cambiamento di stato sui pin da

RB4 a RB7RB4 a RB7 Fine scrittura su una locazione Fine scrittura su una locazione

EEPROM.EEPROM.

Page 46: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Bit di abilitazione (registro INTCON):Bit di abilitazione (registro INTCON):

INTE (bit4):se viene messo a 1 viene INTE (bit4):se viene messo a 1 viene abilitato l’interrupt del primo eventoabilitato l’interrupt del primo evento

TOIE (bit5):se viene messo a 1 viene TOIE (bit5):se viene messo a 1 viene abilitato l’interrupt del secondo abilitato l’interrupt del secondo evento.evento.

RBIE(bit3):se viene messo a 1 viene RBIE(bit3):se viene messo a 1 viene abilitato il terzo evento.abilitato il terzo evento.

EEIE(bit6):se viene messo a 1 viene EEIE(bit6):se viene messo a 1 viene abilitato l’interrupt del quarto abilitato l’interrupt del quarto evento. evento.

Page 47: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

NOTA BENE:NOTA BENE:

ESISTE INOLTRE UN BIT DI ESISTE INOLTRE UN BIT DI ABILITAZIONE GENERALE DEGLI ABILITAZIONE GENERALE DEGLI INTERRUPT CHE DEVE ESSERE INTERRUPT CHE DEVE ESSERE MESSO A 1 ,OVVERO IL BIT MESSO A 1 ,OVVERO IL BIT GIE GIE

(GLOBAL INTERRUPT ENEBLE BIT)(GLOBAL INTERRUPT ENEBLE BIT)

POSTO SUL BIT 7 DEL REGISTROPOSTO SUL BIT 7 DEL REGISTRO

INTCON.INTCON.

Page 48: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

INTERRUPT FLAGSINTERRUPT FLAGS

Dato che qualunqe interrupt genera una chiamata Dato che qualunqe interrupt genera una chiamata alla locazione 04H,nel registro INTCON sono alla locazione 04H,nel registro INTCON sono presenti dei flag che indicano quale è l’evento presenti dei flag che indicano quale è l’evento che ha generato l’interrupt,vediamoli:che ha generato l’interrupt,vediamoli:

INTF(bit 1) se vale 1 l’interrupt è stato generato INTF(bit 1) se vale 1 l’interrupt è stato generato dal cambiamento di stato sul pin RB0dal cambiamento di stato sul pin RB0

TOIF(bit 2) se vale 1 l’interrupt è stato generato TOIF(bit 2) se vale 1 l’interrupt è stato generato al termine del conteggio del TMR0.al termine del conteggio del TMR0.

RBIF(bit 0) se vale 1 l’interrupt è stato generato RBIF(bit 0) se vale 1 l’interrupt è stato generato dal cambiamento di stato sui pin da RB4 a RB7.dal cambiamento di stato sui pin da RB4 a RB7.

Se nessuno dei tre bit vale 1 allora l’interrupt Se nessuno dei tre bit vale 1 allora l’interrupt è stato generato sul fine scrittura nella è stato generato sul fine scrittura nella EEPROM.EEPROM.

Page 49: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

IL POWER DOWN MODE IL POWER DOWN MODE

E’un particolare stato di funzionamento del PICmicro E’un particolare stato di funzionamento del PICmicro utilizzato per ridurre il consumo di corrente nei momenti in utilizzato per ridurre il consumo di corrente nei momenti in cui il pic non è utilizzato perché in attesa di un evento cui il pic non è utilizzato perché in attesa di un evento esterno.esterno.

Per esempio un telecomando per apricancello o per TV Per esempio un telecomando per apricancello o per TV rimane inattivo fino a quando qualcuno non preme un rimane inattivo fino a quando qualcuno non preme un tasto.Appena premuto il tasto il pic effettua una breve tasto.Appena premuto il tasto il pic effettua una breve trasmissione e poi si rimette di nuovo nello stato di attesa.trasmissione e poi si rimette di nuovo nello stato di attesa.

Quindi l’effettivo utilizzo del pic è limitato a pochi ms.Quindi l’effettivo utilizzo del pic è limitato a pochi ms. Per evitare di consumare inutilmente l’energia della pila è Per evitare di consumare inutilmente l’energia della pila è

possibile spegnere buona parte dei circuiti interni al pic e possibile spegnere buona parte dei circuiti interni al pic e riaccenderli solo in corrispondenza di un evento esterno.riaccenderli solo in corrispondenza di un evento esterno.

Page 50: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

L’istruzione SLEEPL’istruzione SLEEP

Viene utilizzata per mettere il pic in power Viene utilizzata per mettere il pic in power down mode e ridurre di conseguenza la down mode e ridurre di conseguenza la corrente che passerà da circa 2 mA corrente che passerà da circa 2 mA

(a 5V con clock da 4MHz) a circa (a 5V con clock da 4MHz) a circa

2 uA,ovvero 1000 volte di meno!2 uA,ovvero 1000 volte di meno! Per entrare in Power Down Mode basta Per entrare in Power Down Mode basta

inserire l’istruzione SLEEP in un punto inserire l’istruzione SLEEP in un punto qualsiasi del nostro programma.qualsiasi del nostro programma.

Page 51: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

IL WATCH DOG TIMER (WDT)IL WATCH DOG TIMER (WDT)

Il WDT è in pratica un oscillatore interno al Il WDT è in pratica un oscillatore interno al pic ,ma completamente indipendente dal resto pic ,ma completamente indipendente dal resto della circuiteria,il cui scopo è quello di rilevare della circuiteria,il cui scopo è quello di rilevare eventuali blocchi della CPU del micro e resettare eventuali blocchi della CPU del micro e resettare il pic per riprendere la normale esecuzione del il pic per riprendere la normale esecuzione del programma.programma.

L’istruzione per attivare il WDT è L’istruzione per attivare il WDT è CLRWDTCLRWDT (clear Watch Dog Timer),la quale (clear Watch Dog Timer),la quale azzera ad intervalli regolari il WDT non azzera ad intervalli regolari il WDT non consentendogli di finire il conteggio.Se il pic non consentendogli di finire il conteggio.Se il pic non effettua tale istruzione prima del termine del effettua tale istruzione prima del termine del conteggio allora si desume che il programma si conteggio allora si desume che il programma si sia bloccato per qualche motivo e si effettua il sia bloccato per qualche motivo e si effettua il reset del pic.reset del pic.

Page 52: I Pic micro sono dei Circuiti Integrati della famiglia dei microcontrollori prodotti dalla MICROCHIP TECHNOLOGY INC. INTRODUZIONE AI PICmicro

Scrittura e lettura dati da EEPROMScrittura e lettura dati da EEPROM

Per accedere all EEprom vengono utilizzati i Per accedere all EEprom vengono utilizzati i seguenti registriseguenti registri::

EEAADR Serve ad indirizzare una delle 64 EEAADR Serve ad indirizzare una delle 64 locazioni.locazioni.

EEDATA è il registro usato per inviare un EEDATA è il registro usato per inviare un byte alla EEPROMbyte alla EEPROM

EECON 1 e EECON2 sono 2 registri di EECON 1 e EECON2 sono 2 registri di controllo usati nelle operazioni di scrittura controllo usati nelle operazioni di scrittura e di lettura.e di lettura.