Programmazione del microcontrollore PIC 16F84

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione del microcontrollore PIC 16F84"

Transcript

1 Programmazione del microcontrollore PIC 16F84

2 2

3 Indice Capitolo 1: Set di istruzioni del PIC 16F Descrizione sintetica 1.2 Simbologia adottata 1.3 Sintassi 1.4 Descrizione completa Capitolo 2: Variabili, registri funzionali e struttura della memoria 2.1 Struttura della memoria 2.2 Memoria RAM 2.3 Stack pointer 2.4 Memoria EEPROM Lettura della EEPROM Scrittura della EEPROM 2.5 Registri funzionali (SFR) Capitolo 3: Collegamenti hardware 3.1 Segnale di temporizzazione (clock) Temporizzazione con il quarzo Temporizzazione con un segnale esterno Temporizzazione con il circuito RC esterno 3.2 Tensione di alimentazione e reset del PIC 3.3 Interrupt Gestione della routine d interrupt Gestione degli interrupt Differenza tra CALL e interrupt Vantaggi dell interrupt rispetto al polling Capitolo 4: Direttive del compilatore MPASM 4.1 Impostazioni di compilazione Radix Org End Include Config 4.2 Definizione di Variabili, dati e macro Cblock Dt De Equ Macro 4.3 Schema generale di un programma assembler 3

4 4

5 Capitolo 1: Set di istruzioni del PIC 16F Descrizione sintetica 1.2 Simbologia adottata 1.3 Sintassi 1.4 Descrizione completa 5

6 Istruzione Descrizione sintetica ADDLW K W = W + K ADDWF R,D D = W + R ANDLW K W = W and K ANDWF R,D D = W and R BCF R,K R(K) = 0 BSF R,K R(K) = 1 BTFSC R,K Se R(K) = 0 salta l istruzione successiva BTFSS R,K Se R(K) = 1 salta l istruzione successiva CALL L Chiama la subroutine all indirizzo L CLRF R R = 0 CLRW W = 0 CLRWDT Watchdog timer = 0 COMF R,D D = not R DECF R,D D = R 1 DECFSZ R,D D = R 1 e salta l istruzione successiva se D = 0 GOTO L Salta ad eseguire l istruzione all indirizzo K INCF R,D D = R + 1 INCFSZ R,D D = R + 1 e salta un istruzione se D = 0 IORLW K W = W or K IORWF R,D D = W or R MOVF R,D D = R MOVLW K W = K MOVWF R R = W NOP Non esegue niente OPTION Registro OPTION = W RETFIE Ritorna da un interrupt handler RETLW K Ritorna da una subroutine con W = K RETURN Ritorna da una subroutine RLF R,D Scorre verso sinistra i bit di R passando per il bit C e D = R RRF R,D Scorre verso destra i bit di R passando per il bit C e D = R SLEEP PIC in standby SUBLW K W = K W SUBWF R,D D = R W SWAPF R,D Scambia i bit con di R e mette in D TRIS RT RT = W XORLW K W = W ex-or K XORWF R,D D = W ex-or R 6

7 1.1 Simbologia adottata W: indica il registro accumulatore W. R: indica un registro qualunque del PIC, diverso da W, o una variabile definita dal programmatore. Le istruzioni con operando R non funzionano col registro W, vengono eseguite ma generano un risultato errato. F: indica il registro F utilizzato per inserire il risultato di un istruzione in un registro diverso da W. A questi registri non è possibile accedere direttamente se non utilizzando il registro F che viene gestito automaticamente dall hardware del PIC. D: indica un operando che può essere il registro F o il registro accumulatore W, se D = F il risultato dell istruzione viene messo in R. Per esempio ADDWF I,F (con I = variabile) da come risultato I = W + I, ADDWF I,W da come risultato W = W + I. K: indica un numero, se viene specificata una variabile, un registro funzionale o un etichetta anziché un numero, il compilatore gli sostituisce il suo indirizzo di RAM o di memoria programma. Per esempio BSF W,I (con I variabile allocata all indirizzo Ch) diventa BSF W,Ch. Per utilizzare il contenuto di una variabile o di un registro funzionale come K si devono utilizzare le istruzioni logiche di AND, OR, NOT o le MOV tra variabili senza utilizzare le istruzioni con il parametro K. L: indica un indirizzo numerico o un etichetta simbolica. RT: registro TRIS, cioè un registro che gestisce le porte di I/O (PORTA o PORTB). R(K): bit numero K ( 0 K 7 ) del registro R. 1.2 Sintassi Le istruzioni assembler seguono uno schema logico che permette di ricordarle facilmente. Le ultime lettere F, LW, e WF vanno lette nel seguente modo: F: result in R or W; indica che il risultato di un operazione su R viene inserito in R stesso (cioè R indica lo stesso registro di origine del dato) o in W. LW: value in W; indica che un valore viene inserito in W. WF: result in D; indica che il risultato di un operazione su R e W viene inserito in D. Esistono particolari istruzioni che non seguono questo schema logico, come la OPTION, la NOP, la CLRWDT e la TRIS. Le istruzioni, con due registri come operandi, sono sempre nel formato: ISTRUZIONE sorgente,destinazione cioè il registro dopo la virgola è quello che contiene il risultato dell istruzione dopo la sua esecuzione. 7

8 1.3 Descrizione completa ADDLW K Somma K a W e mette il risultato in W. Flag modificati dopo la sua esecuzione: Z = 1 se W = 0. DC = 1 se W > 15. C: o C = 1 se W(7) = 0. o C = 0 se W(7) = 1. ADDWF R,D Somma W a R e mette il risultato in D. Flag modificati dopo la sua esecuzione: Z = 1 se dopo l operazione W = 0. DC = 1 se dopo l operazione W > 15. C: o C = 1 se W(7) = 0. o C = 0 se W(7) = 1. ANDLW K Esegue l AND bit a bit tra K e W, e mette il risultato in W. Flag modificati dopo la sua esecuzione: Z = 1 se W = 0. ANDWF R,D Esegue l AND bit a bit tra R e W, e mette il risultato in D. Flag modificati dopo la sua esecuzione: Z = 1 se D = 0. BCF R,K Azzera il bit numero K ( 0 K 7 ) del registro R. BSF R,K Mette a 1 il bit numero K ( 0 K 7 ) del registro R. BTFSC R,K Salta l istruzione successiva se il bit numero K del registro R vale 0. BTFSS R,K Salta l istruzione successiva se il bit numero K del registro R vale 1. 8

9 CALL L Richiama una subroutine memorizzata all indirizzo L. Nello STACK viene memorizzato l indirizzo dell istruzione successiva alla CALL (PCL+1) per riprendere l esecuzione da quel punto quando nella subroutine si incontra un istruzione RETURN o RETLW. CLRF R Azzera il registro R. Flag modificati dopo la sua esecuzione: Z = 1. CLRW Azzera il registro W. Flag modificati dopo la sua esecuzione: Z = 1. CLRWDT Questa istruzione deve essere usata quando il PIC viene programmato col fusibile WDTE abilitato, cioè con la funzione Watchdog abilitata. In questa modalità il PIC attiva un timer che trascorso un determinato tempo esegue il reset del PIC. Per evitare il reset il programma deve eseguire ciclicamente l istruzione CLRWDT per azzerare il timer prima del tempo impostato. Se il timer non viene azzerato, la funzione Watchdog, interpreta l istruzione CLRWDT come un blocco del programma ed esegue un reset per sbloccarlo. COMF R,D Esegue l operazione di NOT bit a bit su R e mette il risultato in D. Flag modificati dopo la sua esecuzione: Z = 1 se D = 0. DECF R,D Mette in D il contenuto di R decrementato di uno. Flag modificati dopo la sua esecuzione: Z = 1 se D = 0. DECFSZ R,D Mette in D il contenuto di R decrementato di uno e salta l istruzione successiva se D = 0. GOTO L Salta ad eseguire l istruzione all indirizzo L. INCF R,D Incrementa il contenuto di R e mette il risultato in D. 9

10 Flag modificati dopo la sua esecuzione: Z = 1 se D = 0. INCFSZ R,D Mette in D il contenuto di R aumentato di uno e salta all istruzione successiva se D = 0. IORLW K Esegue l operazione di OR bit a bit tra W e K mettendo il risultato in W. Flag modificati dopo la sua esecuzione: Z = 1 se W = 0. IORWF R,D Esegue l operazione di OR bit a bit tra W e R mettendo il risultato in D. Flag modificati dopo la sua esecuzione: Z = 1 se D = 0. MOVLW K Assegna a W il valore K. MOVF R,D Assegna a D il contenuto di R. Flag modificati dopo la sua esecuzione: Z = 1 se R = 0. MOVWF R Assegna a R il contenuto di W. NOP Non esegue nessuna operazione, ma crea un ritardo di OPTION Assegna al registro OPTION il contenuto di W µ s a 4MHz. RETFIE Restituisce il controllo al programma principale, questa istruzione deve essere inserita nella subroutine che gestisce l interrupt per terminarne l esecuzione. La RETFIE va utilizzata quando la subroutine viene chiamata da un interrupt. RETLW K Restituisce il controllo al programma principale e inserisce in W il valore di K (passaggio di parametro), questa istruzione deve essere inserita nelle subroutine chiamate da una CALL per terminarne l esecuzione.

11 RETURN Restituisce il controllo al programma principale, questa istruzione deve essere inserita nelle subroutine chiamate da una CALL per terminarne l esecuzione. RLF R,D Ruota di una posizione i bit del registro R verso sinistra (da quelli meno significativi a quelli più significativi) passando per il flag di carry C. Il risultato della rotazione viene messo nel registro D. Lo stato del bit C (C = 0 o C = 1), prima dell esecuzione della RLF, viene inserito nel primo bit del registro D e fatto scorrere con gli altri. RRF R,D Ruota di una posizione i bit del registro R verso destra (da quelli più significativi a quelli meno significativi) passando per il flag di carry C. Il risultato della rotazione viene messo nel registro D. Lo stato del bit C (C = 0 o C = 1), prima dell esecuzione della RRF, viene inserito nel primo bit del registro D e fatto scorrere con gli altri. SLEEP Blocca l esecuzione delle istruzioni e mette il PIC in standby. SUBLW K Sottrae alla costante K il contenuto di W e mette il risultato in W. Flag modificati dopo la sua esecuzione: Z = 1 se dopo l operazione W = 0 DC = 1 se dopo l operazione W > 15 C: o C = 1 se W(7) = 0. o C = 0 se W(7) = 1. SUBWF R,D Sottrae alla costante K il contenuto di R e mette il risultato in D. Flag modificati dopo la sua esecuzione: Z = 1 se dopo l operazione W = 0 11

12 C: o C = 1 se W(7) = 0. o C = 0 se W(7) = 1. SWAPF R,D Scambia i bit con i bit del registro R e mette il risultato in D. TRIS RT Memorizza in uno dei registri speciali TRIS il contenuto di W. I registri TRIS determinano il funzionamento delle porte di I/O del PIC, esiste un registro TRIS per ogni porta di I/O del PIC detti TRISA e TRISB. XORLW K Esegue l operazione di EX-OR bit a bit tra W e K mettendo il risultato in W. Flag modificati dopo la sua esecuzione: Z = 1 se W = 0. XORWF R,D Esegue l operazione di OR bit a bit tra W e R mettendo il risultato in D. Flag modificati dopo la sua esecuzione: Z = 1 se D = 0. 12

13 Capitolo 2: Variabili, registri funzionali e struttura della memoria 2.1 Struttura della memoria 2.2 Memoria RAM 2.3 Stack pointer 2.4 Memoria EEPROM Lettura della EEPROM Scrittura della EEPROM 2.5 Registri funzionali (SFR) 13

14 2.1 Struttura della memoria I PIC hanno una RAM e una ROM di tipo Flash (16F84) o di tipo EPROM (16C84); i 16C84 possono essere programmati solo una volta perché non possono più essere cancellati e riprogrammati. La RAM, mappata da 0h a CFh, contiene i registri funzionali e le variabili, la ROM, mappata da 0h a 3FFh, contiene il programma. La RAM e la ROM sono mappate utilizzando il bus di controllo e il bus indirizzi in modo che venga attivata solo la RAM o solo la ROM quando si accede ad un registro o alla memoria del programma. Esiste anche una RAM che funziona da stack e una EEPROM, accessibile tramite dei registri, che può essere usata per salvare dei dati durante l esecuzione del programma da mantenere anche in assenza di alimentazione. 2.2 Memoria RAM Il PIC 16F84 ha una RAM di 80 byte, utilizzatile dal programmatore in lettura e scrittura, con celle composte da registri a 8 bit con un preciso indirizzo fisico (univoco per ogni registro). In mancanza di alimentazione perde i dati memorizzati. Questa memoria è mappata da 0h a 4Fh, i primi 12 byte (da 0h a Bh) sono i registri funzionali del PIC che ne determinano il modo di funzionamento, i 68 byte consecutivi (da Ch a 4Fh) sono dei registri utilizzabili dal programmatore per definire le variabili del programma. La RAM è divisa in due banchi, bank 0 e bank 1, per accedere a uno o all altro banco si deve agire sul bit 5 del registro STATUS (bit 5 = 0 bank 0, bit 5 = 1 bank 1). I 68 registri utilizzabili per definire le variabili e quasi tutti i 12 registri funzionali si trovano sia nel bank 0 che nel bank 1. Fanno eccezione solo 5 registri che si trovano solo nel bank 1: TRISA, TRISB, OPTION, e altri due che si modificano solo durante operazioni di lettura e scrittura su un particolare settore della memoria. I registri presenti sia nel bank 0 che nel bank 1 sono duplicati dinamicamente, cioè vengono aggiornati in entrambi i banchi contemporaneamente, per evitare di commutare continuamente da un banco all altro. 2.3 Stack pointer Lo stack è una RAM inaccessibile direttamente dal programmatore con struttura FIFO (First Input First Output). Lo stack ha otto celle di memoria per memorizzare otto indirizzi di memoria programma quando viene eseguita un istruzione CALL o si verifica un interrupt. Con una CALL, la CPU, passa ad eseguire un sottoprogramma localizzato nella memoria programma, al termine del quale deve tornare ad eseguire il programma principale. Per tornare ad eseguire il programma principale deve salvare nello stack l indirizzo dell istruzione successiva alla CALL ed estrarlo, sempre dallo stack, quando nel sottoprogramma c è l istruzione RETURN. Con un interrupt si procede nello stesso modo: quando si verifica un interrupt, la CPU, deve eseguire un sottoprogramma di gestione dell interrupt localizzato nella 14

15 memoria programma, al suo termine (quando c è l istruzione IRET) deve tornare ad eseguire il programma principale. Con uno stack di 8 celle è possibile eseguire 8 sottoprogrammi consecutivi (senza mai trovare un istruzione RETURN): un sottoprogramma può eseguire un istruzione CALL ad un altro sottoprogramma e cosi via fino ad un livello di otto sottoprogrammi chiamati. Dopo otto chiamate lo stack è completo, quindi per salvare altri indirizzi il PIC cancella i primi inseriti perdendo la possibilità di tornare al programma principale. 2.4 Memoria EEPROM La EEPROM, è accessibile tramite 4 registri funzionali detti: EECON1, EECON2 (non implementato fisicamente), EEDATA e EEADR. La funzione dei 4 registri è la seguente: EEDATA: contiene il byte da leggere o scrivere nella cella di memoria della EEPROM. EEADR: contiene l indirizzo (di dimensione pari a un byte) della cella di memoria da leggere o scrivere. EECON1: contiene i bit di controllo, vedere nel prossimo paragrafo la sua spiegazione. EECON2: viene utilizzato dall hardware del PIC nelle operazioni di lettura e scrittura, in questo registro si può solo scrivere un valore, se viene letto fornisce il valore 0h. Nel PIC 16F84 la EEPROM è di 64 byte, l intervallo di indirizzi per leggerla e scriverla va da 0h a 3Fh Lettura della EEPROM Per leggere il contenuto di una cella di memoria della EEPROM si deve inserire nel registro EEADR l indirizzo della cella e impostare a uno il bit RD del registro EECON1, il byte letto sarà disponibile al prossimo ciclo macchina nel registro EEDATA che lo mantiene fino alla prossima lettura o scrittura nella EEPROM Scrittura della EEPROM Per scrivere in una cella di memoria della EEPROM si deve impostare ad uno il bit WREN di EECON1, inserire nel registro EEADR l indirizzo della cella e in EEDATA il byte da scrivere, inoltre, si deve usare una sequenza di istruzioni per ogni byte da scrivere nella EEPROM. Questa sequenza deve scrivere 55h in EECON2, scrivere AAh sempre in EECON2 ed infine impostare ad un uno il bit WR di EECON1. Inoltre è consigliabile disabilitare gli interrupt durante la scrittura. Una sequenza tipica può essere questa: bsf STATUS,RP0 15

16 bcf INTCON,GIE bsf EECON1,WREN movlw 55h movwf EECON2 movlw AAh movwf EECON2 bsf EECON1,WR bsf INTCON,GIE 2.5 Registri funzionali (SFR) In generale è consigliabile accedere solo al bank 0 per usare i registri durante l esecuzione del programma, ed accedere solo al bank 1 all inizio dell esecuzione per impostare i registri TRISA, TRISB e OPTION che regolano il funzionamento del PIC e in generale non devono essere modificati durante l esecuzione del programma. I registri funzionali, detti anche special function register (SFR), sono: INDF Una scrittura in questo registro provoca una scrittura all indirizzo di RAM puntato in quel momento dal registro FSR. Questa tecnica si chiama indirizzamento indiretto della memoria. FSR Contiene l indirizzo della cella di RAM nel quale si vuole scrivere il contenuto del registro INDF. STATUS Contiene i risultati di un operazione logica o matematica. Dopo l esecuzione di un istruzione logica o matematica i bit (detti flag) di questo registro si modificano come segue: C: carry; se o C = 1 l operazione ha generato un riporto. o C = 0 l operazione non ha generato un riporto. Z: zero; se o Z = 1 l operazione ha avuto zero come risultato. o Z = 0 l operazione ha avuto un risultato diverso da zero. RP0: bank selector; se o RP0 = 0 viene selezionato il bank 0. o RP0 = 1 viene selezionato il bank 1. IRP e RP1: vanno sempre tenuti a zero. 16

17 OPTION È il registro che contiene i bit di impostazione del PIC, si trova nel bank 1 quindi per accedervi si deve impostare RP0 a uno: PS0, PS1 e PS2: prescaler; per impostare la demoltiplicazione si deve inserire in questi tre bit i valori compresi tra 000b a 111b. Consentono demoltiplicazioni da o 1:2 a 1:256 se assegnati a TMR0. o 1:1 a 1:128 se assegnati al Watchdog. PSA: assegnatore del prescaler; se o PSA = 1 il prescaler viene assegnato al Watchdog. o PSA = 0 il prescaler viene assegnato a TMR0. T0CS: incremento di TMR0; se o T0CS = 0 il registro TMR0 viene incrementato ad ogni istruzione eseguita. o T0CS = 1 e T0SE = 1 il registro TMR0 viene incrementato quando sul piedino RA4/T0CKI c è un fronte di discesa. o T0CS = 1 e T0SE = 0 il registro TMR0 viene incrementato quando sul piedino RA4/T0CKI c è un fronte di salita. IEG: fronte per l interrupt sul piedino RB0/INT (configurato come input in TRISB); se o IEG = 1 si genera l interrupt sul fronte di salita. o IEG = 0 si genera l interrupt sul fronte di discesa. RBPU: PORTB pull-up resistor; se o RBPU = 0 tramite resistenze interne vengono portati a positivo (resistenze di pull-up) tutti i pin della porta B che devono essere configurati come input nel registro TRISB. INTCON Governa gli interrupt, i bit RBIF, INTF e T0IF vanno a uno al verificarsi della condizione a loro associata indipendentemente dal fatto che quel tipo di interrupt sia abilitato e dall abilitazione globale degli interrupt. Quando si abilita un interrupt si devono sempre abilitare due bit: il GIE e il bit relativo al tipo di interrupt (EEIE, T0IE, INTE, RBIE). Per disabilitare gli interrupt è sufficiente impostare il GIE a zero. I bit del registro INTCON sono i seguenti: GIE: abilitazione globale interrupt; se o GIE = 1 gli interrupt sono abilitati. o GIE = 0 gli interrupt sono disabilitati. EEIE: abilitazione interrupt di fine scrittura nella RAM; se o EEIE = 1 interrupt abilitato. o EEIE = 0 interrupt disabilitato. T0IE: abilitazione interrupt di overflow su TMR0; se o T0IE = 1 interrupt abilitato. o T0IE = 0 interrupt disabilitato. 17

18 INTE: abilitazione interrupt del cambio di stato su RB0/INT (questo piedino deve essere impostato come input per recepire il segnale di interrupt); se o INTE = 1 interrupt abilitato. o INTE = 0 interrupt disabilitato. RBIE: abilitazione dell interrupt del cambio di stato su almeno un piedino RB4,,RB7; se o RBIE = 1 interrupt abilitato. o RBIE = 0 interrupt disabilitato. T0IF = 1 quando TMR0 passa da FFh o 0h, deve essere rimesso a zero dal programmatore, altrimenti il PIC, dopo la RETFIE torna alla locazione 4h e riesegue la GOTO alla subroutine di interrupt finché T0IF = 1. INTF = 1 quando si ha la condizione di interrupt su RB0/INT, deve essere rimesso a zero dal programmatore, altrimenti il PIC, dopo la RETFIE torna alla locazione 4h e riesegue la GOTO alla subroutine di interrupt finché INTF = 1. RBIF = 1 quando almeno uno dei piedini RB4,,RB7 cambia stato, deve essere rimesso a zero dal programmatore, altrimenti il PIC, dopo la RETFIE torna alla locazione 4h e riesegue la GOTO alla subroutine di interrupt finché RBIF = 1. EECON 1 Governa la lettura e la scrittura dei 64 byte di EEPROM, si trova nel bank 1 quindi per accedervi si deve impostare RP0 a uno. I bit 5, 6 e 7 sono sempre posti a zero, mentre gli altri sono: EEIF = 1 quando l operazione di scrittura in una cella è completa. WRER = 1 quando l operazione di scrittura in una cella è andata a buon fine. WREN: abilitazione alla scrittura sulla EEPROM; se o WREN = 1 la scrittura è consentita. o WREN = 0 la scrittura non è consentita. WR: controllo per la scrittura; va impostato a uno quando inizia la scrittura e viene resettato automaticamente quando questa termina. Via software è solo possibile settarlo. RD: controllo per la lettura; va impostato a uno quando inizia la lettura e viene resettato automaticamente quando questa è termina. Via software è solo possibile settarlo. PORTA Gestisce la porta di input/output A che ha 5 piedini (da RA4 a RA0) per scambiare i dati con l esterno. I bit del registro PORTA corrispondono ai piedini della porta A come segue: i bit 7, 6 e 5 sono fissi a zero perché non hanno corrispondenza con dei piedini fisici del PIC, mentre il bit n ( 0 n 4 ) 18

19 corrisponde al valore (0 o 1) da leggere o scrivere sul piedino RAn (bit 4 RA4, bit 3 RA3, etc.) PORTB Gestisce la porta di input/output B che ha 8 piedini (da RB7 a RB0) per scambiare i dati con l esterno. I bit del registro PORTB corrispondono ai piedini della porta B come segue: il bit n ( 0 n 7 ) corrisponde al valore (0 o 1) da leggere o scrivere sul piedino RBn (bit 7 RB7, bit 6 RB6, etc.) TRISA Imposta i piedini delle porta A come input o come output. I bit di TRISA corrispondono ai piedini fisici come i bit del registro PORTA. Se o Il bit corrispondente ad un piedino = 1 il piedino è un input. o Il bit corrispondente ad un piedino = 0 il piedino è un output. TRISB Imposta i piedini delle porta B come input o come output. I bit di TRISB corrispondono ai piedini fisici come i bit del registro PORTB. Se o Il bit corrispondente ad un piedino = 1 questo è un input. o Il bit corrispondente ad un piedino = 0 questo è un output. PCL Contiene l indirizzo della successiva istruzione da eseguire, che non necessariamente è la successiva a quella in esecuzione. Per esempio se l istruzione corrente è una GOTO il PCL contiene l indirizzo di memoria programma indicato dalla GOTO. Questo registro viene anche chiamato program counter. TMR0 Viene incrementato automaticamente in base ai valori assunti dai bit T0SE e T0CS del registro OPTION. T0PRE Viene incrementato automaticamente ad ogni impulso di clock, quando arriva a FFh o dopo un reset (o un POR) riparte da 0h. PCLATH Determina la selezione delle pagine di memoria programma. La memoria programma è divisa in 4 pagine da 2048 celle da 16 bit ognuna (da 0h a 7FFh, da 800h a FFFh, da 1000h a 17FFh e da 1800h a 1FFFh), per accedere a una di queste pagine si devono modificare i bit più significativi del registro PCL scrivendo il valore desiderato nel registro PCLATH. Se l esecuzione del programma porta a passare da una pagina all altra, i bit del registro PCL 19

20 vengono modificati automaticamente. Nei PIC con una memoria programma minore o uguale a 2048 word non è richiesta la paginazione della memoria. 20

21 Capitolo 3: Collegamenti hardware e interrupt 3.1 Segnale di temporizzazione (clock) Temporizzazione con il quarzo (modo XT, LP e HS) Temporizzazione con un segnale esterno Temporizzazione con il circuito RC esterno 3.2 Tensione di alimentazione e reset del PIC 3.3 Interrupt Gestione della routine d interrupt Gestione degli interrupt Differenza tra CALL e interrupt Vantaggi dell interrupt rispetto al polling 21

22 3.1 Segnale di temporizzazione (clock) Il PIC, come tutti i processori, necessita di un circuito che scandisce l elaborazione dei dati e il passaggio da una istruzione alla successiva, sono supportati 4 modi di temporizzazione (segnale di clock): con un quarzo, con un quarzo high speed, con un quarzo slow speed e con un circuito RC esterno. I primi tre hanno il vantaggio della notevole stabilità in frequenza, l ultimo è il più economico. Il PIC 16F84 ha una frequenza massima di funzionamento il cui valore è serigrafato sul contenitore: ad esempio un PIC 16F84-04P può funzionare al massimo a 4 Mhz. Per farlo funzionare a 10Mhz o a 20Mhz si deve utilizzare la versione -10P o la -20P. La P indica il tipo di contenitore del circuito integrato (P = plastico) Temporizzazione con il quarzo (modo XT, LP e HS) Il quarzo è un componente piezoelettrico caratterizzato da una elevata stabilità in frequenza, indispensabile per far eseguire al controllore dei conteggi di tempo precisi. Inoltre non degrada significativamente le sue prestazioni nel tempo e al variare della temperatura. Il quarzo va collegato direttamente tra il pin 15 e il pin 16 e distante al massimo 3 cm dal PIC. È consigliabile saldare il suo contenitore metallico alla massa del circuito per limitare l influenza dei disturbi. Il manuale Microchip del PIC consiglia l inserimento di due piccoli condensatori, di valore compreso tra 12 e 33 pf (22 pf è il valore commerciale ottimo), tra ciascun piedino del quarzo e la massa. Per eseguire un istruzione di un ciclo macchina il controllore impiega 1 µs con quarzo di 4 Mhz, dato che la maggior parte delle istruzioni sono eseguite in un solo ciclo macchina (poche sono eseguite in 2 cicli) risulta immediato calcolare il tempo di esecuzione di un segmento di programma. Lo schema elettrico di temporizzazione con il quarzo è il seguente: (1) Valore consigliato di 22 pf per frequenze da 2 a 20 MHz. (2) Può essere richiesta per i quarzi con taglio AT. (3) Il suo valore deve essere compreso tra 2 e 10 MΩ. 22

23 3.1.2 Temporizzazione con un segnale esterno Per utilizzare un segnale esterno di temporizzazione si deve impostare il tipo di oscillatore come: XT, HS o LP, e collegare il segnale al piedino OSC1. Lo schema elettrico è il seguente: Temporizzazione con il circuito RC esterno Per utilizzare il circuito RC esterno, per temporizzate il PIC, si deve collegare un condensatore e una resistenza al piedino OSC1. Il condensatore Cext deve avere una capacità maggiore di 20 pf, la resistenza Rext deve avere un valore compreso tra 5 e 100 KΩ. Lo schema elettrico è il seguente: 3.2 Tensione di alimentazione e reset del PIC Il controllore va alimentato con una tensione stabilizzata di 5 V tra il pin 5 (GND) e il pin 14 (+VDD), il produttore consiglia di inserire anche un condensatore di 100 nf molto vicino ai pin di alimentazione per assorbire i disturbi ad alta frequenza (capacità di by-pass). Il pin 4 del PIC (MCLR) è un ingresso attivo a livello basso che esegue il reset del PIC: se attivato fa ripartire l esecuzione del programma dalla prima istruzione (ovvero dall indirizzo 0h della memoria programma) e resetta alcuni registri funzionali. Un reset automatico avviene anche al power-on cioè all arrivo della tensione di alimentazione. Collegando direttamente il pin 4 all alimentazione +5 V si usufruisce automaticamente della funzione POR (Power On Reset) che consiste in un impulso di reset al processore al salire dell alimentazione. Questa funzione non è reversibile, ovvero allo scendere della tensione, non viene generato il reset: MCLR è un ingresso triggerato sul fronte di salita. La casa costruttrice suggerisce di utilizzare un circuito di reset 23

24 esterno se la rampa di salita della tensione di alimentazione è molto lenta. In questo caso il processore potrebbe non accorgersi dello stato di power-on. Lo schema elettrico del circuito è il seguente (R < 40 KΩ): 3.3 Interrupt Un interrupt è un segnale generato da una periferica del PIC all accadere di un evento esterno. Se il PIC ha gli interrupt abilitati, all arrivo di un segnale di interrupt, l esecuzione del programma principale viene fermata e la CPU esegue una subroutine di gestione dell interrupt. Al termine della routine di interrupt il processore torna ad eseguire il programma principale al punto dov è stato interrotto; l evento interrupt al pari di una CALL determina l occupazione di una cella dello stack per salvare l indirizzo di memoria programma al punto di interruzione. La cella dello stack occupata viene liberata dall istruzione che conclude obbligatoriamente la subroutine di interrupt: RETFIE. I registri che determinano se e come usare l interrupt sono: OPTION (81h, bank 1) e INTCON (Bh, nel bank 0). Il punto 4 sulle fonti degli interrupt porta ad accedere alla memoria programma. Un esempio di utilizzo degli interrupt può essere un programma di controllo per una macchina utensile: il PIC controllerà l inserimento degli utensili, il posizionamento del pezzo in lavorazione, comandando i vari attuatori così come voluto dal programmatore. All attivarsi di un sensore che indica un pericolo per l operatore (per esempio il superamento di una barriera di protezione) la macchina deve operare per mettere in sicurezza l operatore, anziché continuare la lavorazione del pezzo. Quando arriva un interrupt, se questi sono abilitati, il PIC smette di eseguire il programma attuale per eseguire il programma di gestione dell interrupt, che in questo caso, prevedrà azioni volte alla cessazione di movimenti pericolosi per l operatore. Il sensore per inviare un segnale di interrupt deve essere collegato ad un ingresso del PIC abilitato a riceverlo Gestione della routine d interrupt All arrivo di un interrupt il PIC si porta, automaticamente, all indirizzo 4h della memoria programma dove deve trovare un istruzione GOTO che lo 24

25 spedisca direttamente alla prima istruzione della subroutine di gestione dell interrupt, indicata con un etichetta. Al termine di questa subroutine, all istruzione RETFIE, il processore esegue l istruzione successiva all ultima eseguita prima dell interruzione. Dopo un reset (o un POR), la CPU parte sempre dall istruzione alla cella 0h della memoria programma, quindi è necessario che nella cella 3h vi sia un istruzione GOTO all istruzione nella cella 5h. Senza questo accorgimento, ad ogni accensione, il PIC eseguirebbe la GOTO alla soubroutine senza che un interrupt ne faccia esplicita richiesta Gestione degli interrupt L interrupt può essere disabilitato, in tal caso se si verifica la condizione scatenante il PIC lo ignora. L abilitazione può essere data e revocata in ogni momento e anche più volte nel corso dello stesso programma: si può pensare ad una parte di programma molto delicata, che non deve essere interrotta per nessun motivo, quindi prima di questo segmento di programma si deve inserire il comando di disabilitazione degli interrupt. Quando si serve un interrupt, automaticamente questi vengono disabilitati, per evitare che la medesima causa scatenante generi tanti interrupt consecutivi. Essendo una sola la parte di programma dedicata, il processore non saprebbe più come gestire le richieste. Alla RETFIE gli interrupt vengono riabiliti automaticamente, nelle stesse condizioni. Il programmatore deve impostare a zero i bit T0IF, INTF e RBIF (o meglio solo quello che passa a uno quando il tipo di interrupt impostato viene attivato) altrimenti dopo la RETFIE il PIC torna alla locazione 4h e riesegue la GOTO alla subroutine di gestione dell interrupt finché quei bit non sono a zero Differenza tra CALL e interrupt La differenza con l istruzione CALL sta nel fatto che con un interrupt non si conosce il punto dove il processore ritorna, perché può essere interrotto in modo asincrono, cioè in qualunque momento, da una periferica. Con un istruzione RETURN si è certi di tornare all istruzione successiva alla CALL che ha chiamato il sottoprogramma Vantaggi dell interrupt rispetto al polling Il vantaggio dell interrupt, rispetto a una gestione polling, è quello di costringere immediatamente il processore a dedicarsi al suo problema, anziché interrogare ciclicamente ogni parametro ed eseguire la relativa azione se il parametro è fuori norma. Con la gestione in polling se il parametro ritenuto a norma impazzisce dopo il controllo, il PIC se ne accorge solo al suo ricontrollo. 25

26 Capitolo 4: Direttive del compilatore MPASM 4.1 Impostazioni di compilazione Radix Org End Include Config 4.2 Definizione di Variabili, dati e macro Cblock Dt De Equ Macro 4.3 Schema generale di un programma assembler 26

27 4.1 Impostazioni di compilazione RADIX Definisce la base numerica da utilizzare, cioè ogni numero non seguito da d (base decimale), h (base esadecimale, si può indicare anche con 0x davanti al numero), o (base ottale), b (base binaria) viene interpretato come numero espresso secondo la base definita da RADIX. Se la direttiva RADIX non viene utilizzata la base di default è quella esadecimale. La sintassi per la direttiva RADIX è la seguente: RADIX < base > base può assumere tre valori: hex, dec, oct. Per definire la base decimale si deve scrivere: RADIX dec. ORG Definisce l indirizzo di partenza nella memoria quando si compila il programma. Ogni volta che il compilatore trova un ORG inserisce le istruzioni o i dati compilati partendo dall indirizzo di memoria specificato dalla ORG. Nel programma ci possono essere più ORG per definire di volta in volta la posizione dei dati in memoria, in genere si usa una ORG per definire l indirizzo di partenza del programma. La sintassi per la direttiva ORG è la seguente: ORG < indirizzo > Per far partire il programma dall inizio della memoria si deve scrivere: ORG 0. END Definisce la fine del programma da compilare, quando il compilatore trova una END smette di compilare e fornisce il programma compilato. Tutte le istruzioni e le variabili dopo la END vengono ignorate dal compilatore. INCLUDE Definisce il file da includere durante la compilazione contenente la definizione dei nomi dei registri speciali associati al loro indirizzo in RAM (in questo modo si può scrivere direttamente il loro nome nel programma senza ricordarsi a quale indirizzo corrispondono), della massima memoria RAM utilizzabile (direttiva MAXRAM), delle zone di RAM riservate (direttiva BADRAM), ecc. La sintassi per la direttiva INCLUDE è la seguente: INCLUDE < nome del file da includere > 27

28 Per includere il file relativo al PIC 16F84 si deve scrivere: INCLUDE "P16F84.INC". CONFIG Definisce il valore da memorizzare nella word di configurazione. Prima di usare questa direttiva è necessario specificare quale PIC si sta usando con la direttiva LIST. Ogni famiglia di PIC ha la word di configurazione implementata su indirizzi diversi, per il 16F84 è all indirizzo 2007h. È necessario verificare che il programmatore di PIC sia in grado di leggere correttamente la word dal file.hex e di programmarla correttamente nel PIC. La struttura della word di configurazione è la seguente: bit 13 al bit 4: Code Protection bit (CP) o 1 = CP off. o 0 = CP on su tutta la memoria. bit 3: Power up Timer Enable bit (PWRTE ) o 1 = PWRTE off. o 0 = PWRTE on. bit 2: Watchdog Timer Enable bit (WDTE) o 1 = WDTE on. o 0 = WDTE off. bit 1 e 0: Oscillator Selection bits o 11 = oscillatore RC: oscillatore con circuito RC esterno. o 10 = oscillatore HS: oscillatore con quarzo high speed. o 01 = oscillatore XT: oscillatore con quarzo. o 00 = oscillatore LP: oscillatore con quarzo slow speed. Ipotizzando di programmare il PIC con la protezione del codice disabilitata (CP=1), il power up timer abilitato (PWRTE=0), il Watchdog disabilitato (WDTE=1) e l oscillatore in modo XT (FOSC1=0, FOSC2=1), la word di configurazione assume il valore: b. La direttiva risulta: CONFIG b o CONFIG 3FF1h. 4.2 Definizione di variabili, dati e macro CBLOCK Definisce le variabili del programma assembler. La sintassi per la direttiva CBLOCK è la seguente: CBLOCK < indirizzo di partenza > < variabile 1 > < : offset 1 >.. 28

29 [< variabile n > < : offset n >] ENDC < indirizzo di partenza > definisce l indirizzo di RAM dal quale iniziare a mappare le variabili, < variabile 1 > < variabile n > indicano i nomi delle variabili e < offset 1 > < offset n > indicano i byte da lasciare tra una variabile e l altra. Se < indirizzo di partenza > non viene messo il compilatore assume come indirizzo di partenza il valore 0h, se non viene messo un offset il compilatore non lascia nessun byte libero tra una variabile e la successiva. Per definire tre variabili si deve scrivere: CBLOCK 0xC ENDC somma num1 : 0x3 num2 Con questa definizione la variabile somma viene mappata all indirizzo Ch, la num1 all indirizzo Dh, e la num2 all indirizzo 10h. Un esempio di programma che usa tre variabili è il seguente: include p16f84.inc radix dec cblock 0xC ; dichiarazione variabili somma som2 endc org 0 ; istruzioni del programma movlw 10 ; W = 10 addlw 5 ; W = W + 5 = 15 movwf somma ; somma = W = 15 decf som2,som2 ; som2 = som2 1 sleep ; PIC in stanby end 29

30 In questo programma la variabile SOMMA, con dimensione pari a un byte, viene allocata nella RAM all indirizzo Ch, la variabile SOM2 viene allocata all indirizzo Dh. Il programma compilato per accedere alla variabile SOMMA utilizzerà l indirizzo Ch, mentre per SOM2 utilizzerà l indirizzo Dh. DT Riserva una o più word della memoria programma per memorizzare i byte di una stringa di testo (in codifica ASCII) o di un numero. I byte vengono memorizzati come delle istruzioni RETLW K (per ogni byte c è una RETLW): i bit più significativi della locazione contengono il codice operativo dell istruzione, quelli meno significativi il byte da memorizzare. Per leggere uno specifico byte si deve chiamare con una CALL l istruzione RETLW associata a quel byte. Le sintassi per la direttiva DT sono le seguenti: [< label >] DT < byte 0 > [, < byte 1 >,, < byte n >] Alcuni esempi di utilizzo di questa direttiva sono: cfr dt 5 num dt 3h, 67 msg dt Dati di prova, n dt s, k alfan dt 3, Prova, 45h Per leggere i byte memorizzati si deve eseguire una CALL all indirizzo indicato dall etichetta (label) sommando al PCL un indice per scorrere i dati successivi a quello indicato dall etichetta. La struttura del segmento di programma che legge i byte memorizzati deve eseguire una CALL, per ogni byte da leggere, a una subroutine che somma l indice al PCL e che contiene i byte dichiarati con la direttiva DT. Per leggere più byte è necessario un ciclo che incrementi l indice da sommare al PCL e che ripeta la CALL. Un programma tipico è il seguente (n e index sono due variabili): 30 < istruzioni del programma principale > movlw NB ; n = NB = numero di byte da leggere movwf n movlw BL ; index punta al primo byte da leggere (byte BL) movwf index ; se BL = 0 legge il byte 0 ciclo: call dati ; W conterrà il valore del byte n

31 incf index,f decfsz n goto ciclo ; index punta al prossimo byte da leggere ; se n = 0 finisce la lettura dei byte di alfan < istruzioni del programma principale > dati: ; blocco dei byte memorizzati movf index,w ; W = index addwf PCL,F ; PCL = PCL + index dt byte 0, byte 1,, byte NB-1 < istruzioni del programma principale > Il segmento di programma che legge i byte memorizzati con la DT esegue la CALL alla subroutine DATI che modifica il PCL, sommandogli il valore di INDEX, in modo che punti al byte N (N è la variabile che gestisce il ciclo). I byte sono memorizzati come delle RETLW, che quando sono eseguite, inseriscono nel registro W il valore del byte N e fanno tornare il PIC ad eseguire l istruzione successiva alla CALL che ha chiamato la subroutine DATI. In questo modo si modifica il PCL per leggere il byte voluto ma non si perde il controllo dell esecuzione del programma, perché il suo precedente valore viene salvato nello STACK ed estratto dopo la RETLW. DE Riserva uno o più byte della EEPROM per memorizzare i byte di una stringa di testo (in codifica ASCII) o di un numero. La sintassi per la direttiva DE è la seguente: ORG K [< label >] DE < byte 0 > [, < byte 1 >,, < byte n >] K è una costante che indica l indirizzo della cella di EEPROM nella quale incominciare a scrivere i byte: K = 2100h indica la prima cella. La EEPROM è di 64 byte quindi si deve fare attenzione a non uscire dal campo di indirizzi validi che va da 2100h a 2163h, in altre parole K + n h. Con la direttiva ORG K si imposta la scrittura nella EEPROM, altrimenti i byte vengono scritti nella ROM (memoria programma). La LABEL con questa direttiva è inutile perché la EEPROM non è direttamente accessibile se non tramite quattro specifici registri. Alcuni esempi di utilizzo sono: org 2100h de 10h, 67, My program. org 2122h 31

32 de programma di esempio EQU Definisce una costante, ogni volta che questa viene utilizzata in un istruzione assembler, durante la fase di compilazione, viene sostituita con il valore dichiarato dalla EQU. La sintassi per la direttiva EQU è la seguente: < nome costante > EQU < valore > Ad esempio per definire la costante HIGH pari a 5 si deve scrivere: high EQU 5. MACRO Permette di associare un etichetta (label) a una sequenza di istruzioni assembler e di sostituirle al posto di questa durante la fase di compilazione. La sintassi per definire una macro è la seguente: label MACRO < parametri > < istruzioni > ENDM Per esempio: azzera MACRO bcf PORTB,0 bcf PORTB,1 bcf PORTB,2 ENDM Oppure con passaggio di parametri: azzera MACRO v1,v2 bcf PORTB,v1 bcf PORTB,v2 bcf PORTB,2 ENDM 32

33 Nel listato del programma l etichetta di riferimento la si deve scrivere come una normale istruzione, nel caso di passaggio di parametri vanno indicati i valori di questi: AZZERA (senza parametri) oppure AZZERA 0,1 (con passaggio di parametri). 4.3 Schema generale di un programma assembler include "p16f84.inc" radix dec FUSES _PWRTE_OFF & _CP_OFF & _WDT_OFF & _XT_OSC cblock 0xC ; Dichiarazione delle variabili endc < variabili del programma > org 0 ; Inizio della memoria programma < istruzioni del programma > sleep ; fine del programma <label_1:> < istruzioni della subroutine 1 > return <label_n:> < istruzioni della subroutine n > return end 33

MICROCONTROLLORE PIC16F84A

MICROCONTROLLORE PIC16F84A MICROCONTROLLORE PIC16F84A Il microcontrollore pic16f84a, a differenza di un computer normale e' dotato in un unico integrato di tutti gli elementi fondamentali di un computer, che sono la Cpu, unita'

Dettagli

Lezione 1 Caratteristiche principali del PIC16C84 L'hardware

Lezione 1 Caratteristiche principali del PIC16C84 L'hardware Lezione 1 Nella prima lezione del corso, cercheremo di comprendere come sia fatto internamente il controller più conosciuto di Microchip, ovvero il PIC16C84 poi evoluto nel PIC16F84. Sebbene i microcontroller

Dettagli

Lezione 8. Figura 1. Configurazione del registro INTCON

Lezione 8. Figura 1. Configurazione del registro INTCON Lezione 8 In questa puntata, ci dedicheremo all'impiego dei cosiddetti "interrupt", che tanto incutono temore ai più inesperti. Ma che cosa sono questi interrupt? Come abbiamo già visto, un programma non

Dettagli

I microcontrollori. In sostanza i pic hanno le seguenti caratteristiche:

I microcontrollori. In sostanza i pic hanno le seguenti caratteristiche: I microcontrollori Con il termine di microcontrollori si intende un sistema integrato simile ad un microprocessore ma contente su un unico chip oltre la CPU, anche la memoria RAM, memoria dati, memoria

Dettagli

Microcontrollori. L ultima parte del corso prevede un approfondimento sui microprocessori, in particolare sul PIC 16F876.

Microcontrollori. L ultima parte del corso prevede un approfondimento sui microprocessori, in particolare sul PIC 16F876. 111 Microcontrollori L ultima parte del corso prevede un approfondimento sui microprocessori, in particolare sul PIC 16F876. In elettronica digitale il microcontrollore è un dispositivo elettronico integrato

Dettagli

Esercizi di verifica del debito formativo:

Esercizi di verifica del debito formativo: Esercizi di verifica del debito formativo: Disegnare il diagramma e scrivere la tabella delle transizioni di stato degli automi sequenziali a stati finiti che rappresentano il comportamento dei seguenti

Dettagli

Capitolo X del Testo Ettore Panella Giuseppe Spalierno Corso di Elettronica 3 Edizioni Cupido MICROCONTROLLORE PIC 16F84

Capitolo X del Testo Ettore Panella Giuseppe Spalierno Corso di Elettronica 3 Edizioni Cupido MICROCONTROLLORE PIC 16F84 Microcontrollore PIC 16F84 1 1. Generalità Capitolo X del Testo Ettore Panella Giuseppe Spalierno Corso di Elettronica 3 Edizioni Cupido MICROCONTROLLORE PIC 16F84 I microcontrollori sono dei circuiti

Dettagli

Lezione 4. Figura 1. Schema di una tastiera a matrice di 4x4 tasti

Lezione 4. Figura 1. Schema di una tastiera a matrice di 4x4 tasti Lezione 4 Uno degli scogli maggiori per chi inizia a lavorare con i microcontroller, è l'interfacciamento con tastiere a matrice. La cosa potrebbe a prima vista sembrare complessa, ma in realtà è implementabile

Dettagli

APPUNTI SUL PIC16F84

APPUNTI SUL PIC16F84 APPUNTI SUL PIC16F84 Gianluca 'gurutech' Mascolo v0.1 04/04/2004 mailto: gurutech_at_gurutech.it Hackit04 Il PIC16F84 è un microcontrollore a 8-bit dotato di due porte di I/O digitali, una da 5 bit e una

Dettagli

CIRCUITO DI TEST E SOFTWARE UTILIZZATI

CIRCUITO DI TEST E SOFTWARE UTILIZZATI CIRCUITO DI TEST E SOFTWARE UTILIZZATI Circuito di Test Nello schema elettrico di figura A è rappresentato un circuito, realizzabile anche senza l ausilio di un circuito stampato, che consente di testare

Dettagli

INTRODUZIONE alla PROGRAMMAZIONE di MICROCONTROLLORI

INTRODUZIONE alla PROGRAMMAZIONE di MICROCONTROLLORI LUCIDI LEZIONI SISTEMI ELETTRONICI INDUSTRIALI www.dismi.unimo.it (People Associated Pavan ) www.microchip.com com (Datasheet PIC - DS30292) (Mid Range Family Manual DS33023) Università degli Studi di

Dettagli

PROCESSOR 16F84A. ;configurazione FUSES: oscillatore XT, WDT disabilitato PWRT abilitato, CP disabilitato config 0x3FF1

PROCESSOR 16F84A. ;configurazione FUSES: oscillatore XT, WDT disabilitato PWRT abilitato, CP disabilitato config 0x3FF1 ---- ; Programma per ROBOT MDB3F2004-05 Evolution ; Autore: MICCI Antonello copyright 2005 ---- ------------------------- ;Piedino RA0 ingresso fotocellula dx livello basso rilevazione ostacolo ;Piedino

Dettagli

ESERCIZI SUI SISTEMI DI NUMERAZIONE

ESERCIZI SUI SISTEMI DI NUMERAZIONE ESERCIZI SUI SISTEMI DI NUMERAZIONE 1 ) Convertire in base 10 i seguenti numeri rappresentati nelle basi indicate: (1000101) 2 [R. 69] (477) 8 [R. 319] (40F) 16 [R. 1039] (5778) 9 [R. 4283] (126) 9 [R.

Dettagli

PUNTATORE LASER AUTOMATICO CON COMANDO VIA ETHERNET

PUNTATORE LASER AUTOMATICO CON COMANDO VIA ETHERNET Canzian Sara Liberali Marco 5AT A.S.2007/2008 PUNTATORE LASER AUTOMATICO CON COMANDO VIA ETHERNET Questo sistema permette di posizionare una luce laser in una determinata posizione data dalle coordinate

Dettagli

Il µcontrollore PIC 16F84

Il µcontrollore PIC 16F84 Il µcontrollore PIC 16F84 Microchip Tecnology D. Ch. 1 Il grande successo dei microcontrollori ha indotto tutte le grandi case costrutrici di semiconduttori come la Intel, la Philips Semiconductors, la

Dettagli

SISTEMA DI SVILUPPO MC-16

SISTEMA DI SVILUPPO MC-16 SISTEMA DI SVILUPPO MC-16 per microcontrollori PIC16F84 - PIC16F876 o MANUALE DI PROGRAMMAZIONE 2 Il sistema MC-16 contiene: Scheda di sviluppo a microcontrollore con PIC16F84 e PIC16F876. Unità di programmazione

Dettagli

PROGRAMMAZIONE ASSEMBLER

PROGRAMMAZIONE ASSEMBLER PROGRAMMAZIONE ASSEMBLER Esempio di semplice lampeggiatore a LED 072805 Sistemi Elettronici Dicembre 2006 Ultimo aggiornamento: 11 dicembre 2006 1 OBBIETTIVI 1 Discutere delle metodologie di progetto e

Dettagli

Architettura del PIC 18F452

Architettura del PIC 18F452 Controllo Digitale a.a. 2005-2006 Architettura del PIC 18F452 Ing. Federica Pascucci PIC 18F452 Caratteristiche Frequenza operativa: 40 MHz Memorie: Program FLASH memory: 32 KBytes, 16 K-istruzioni memorizzabili

Dettagli

Introduzione. Corso di Informatica Applicata. Università degli studi di Cassino

Introduzione. Corso di Informatica Applicata. Università degli studi di Cassino Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Introduzione Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.:

Dettagli

List p=16f84 ;Tipo di processore include "P16F84.INC" ;Definizioni di registri interni. goto Inizio

List p=16f84 ;Tipo di processore include P16F84.INC ;Definizioni di registri interni. goto Inizio ESEMPIO 1.1 Autore: Mikel Etxebarria (c) Microsystems Engineering (Bilbao) Esempio per simulazione Sommare due valori immediati (p.e. 5+7) il risultato va depositato nella posizione 0x10 List p=16f84 Tipo

Dettagli

Microcontrollori PIC Teoria, Esperimenti, Esercizi HARDWARE DEL PIC SOFTWARE DEL PIC MPLAB MEMORIA PORTE-IO TIMER DISPLAY AUDIO ADC INTERRUPT EEPROM

Microcontrollori PIC Teoria, Esperimenti, Esercizi HARDWARE DEL PIC SOFTWARE DEL PIC MPLAB MEMORIA PORTE-IO TIMER DISPLAY AUDIO ADC INTERRUPT EEPROM Microcontrollori PIC Teoria, Esperimenti, Esercizi HARDWARE DEL PIC SOFTWARE DEL PIC MPLAB MEMORIA PORTE-IO TIMER DISPLAY AUDIO ADC INTERRUPT EEPROM HARDWARE DEL PIC Il PIC6F684 (PIC=Peripheral Interface

Dettagli

09-05-07. Introduzione ai microcontrollori PIC

09-05-07. Introduzione ai microcontrollori PIC 09-05-07 Introduzione ai microcontrollori PIC Daniele Beninato: Nicola Trivellin: beninato@dei.unipd.it trive1@tin.it Che cosa è un microcontrollore? Un microcontrollore è un sistema a microprocessore

Dettagli

Ing. Paolo Domenici PREFAZIONE

Ing. Paolo Domenici PREFAZIONE Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte

Dettagli

8 Microcontrollori PIC

8 Microcontrollori PIC 8 Microcontrollori PIC 8.1 Descrizione generale Un microcontrollore è un dispositivo elettronico che opportunamente programmato è in grado di svolgere diverse funzioni in modo autonomo. Essenzialmente

Dettagli

Categorie di sistemi Digitali

Categorie di sistemi Digitali Vivian Marco 3isc AS 2007/08 Categorie di sistemi Digitali A Logica cablata Il comportamento di questi sistemi è legato dalla loro struttura fisica. Se si desidera modificarne il comportamento è necessario

Dettagli

Il precedente programma è scritto in linguaggio Assembly per Z80. Il programma indicato sopra deve essere tradotto in codice Assembly per PIC

Il precedente programma è scritto in linguaggio Assembly per Z80. Il programma indicato sopra deve essere tradotto in codice Assembly per PIC [LABEL:] CODICE OP1[,OP2][COMMENTO] MNEM LD E,0H PIO EQU 0CH ORG 100H LD E,0 ciclo: IN A,(PIO) LD B,A IN A,(PIO) LD C,A LD A,E ADD A,B SUB C CP 8CH JRZ (ciclo) LD A,1 OUT (PIO),A HALT END Il precedente

Dettagli

mendiante un ciclo e finché il segnale rimane alto, si valuta il tempo T3 usando il timer del microcontrollore e una variabile di conteggio.

mendiante un ciclo e finché il segnale rimane alto, si valuta il tempo T3 usando il timer del microcontrollore e una variabile di conteggio. Svolgimento (a) Il sensore di temperatura ha un uscita digitale a 9 bit, emettendo un codice binario proporzionale al valore Temp richiesto. Possiamo pensare si tratti di un dispositivo 1-Wire. Un sistema

Dettagli

A/D CON PIC 16F877. Sommario INTRODUZIONE... 2 SELEZIONARE I BANCHI... 2 ADCON0... 4 ADCS1, ADCS0... 4 CH2, CH1 E CH0... 5 GO/DONE... 6 ADON...

A/D CON PIC 16F877. Sommario INTRODUZIONE... 2 SELEZIONARE I BANCHI... 2 ADCON0... 4 ADCS1, ADCS0... 4 CH2, CH1 E CH0... 5 GO/DONE... 6 ADON... A/D CON PIC 16F877 Sommario INTRODUZIONE... 2 SELEZIONARE I BANCHI... 2... 4 ADCS1, ADCS0... 4 CH2, CH1 E CH0... 5 GO/DONE... 6 ADON... 7 ESEMPIO 1... 7 ADCON1... 8 ADFM... 8 PGF3, PGF1 E PGF0... 9 ESEMPIO

Dettagli

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune

Dettagli

MPLAB - IDE. Introduzione. 1. Benvenuti in MPLAB. Introduzione

MPLAB - IDE. Introduzione. 1. Benvenuti in MPLAB. Introduzione MPLAB - IDE Introduzione 1. Benvenuto in MPLAB 2. Creare un progetto 3. Creare un nuovo file assembler 4. Scrivere un programma 5. Toolbar icons 6. Simulatore MPSIM Introduzione MPLAB è un programma che

Dettagli

Architettura degli elaboratori (A)

Architettura degli elaboratori (A) Laurea in Informatica a.a. 2010-2011 Laboratorio del corso di Architettura degli elaboratori (A) Modulo 1: l Architettura dell 8086 Valeria Carofiglio Linguaggi a vari livelli e loro relazioni Programma

Dettagli

Corso di Informatica Applicata. Lezione 7. Università degli studi di Cassino

Corso di Informatica Applicata. Lezione 7. Università degli studi di Cassino Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Lezione 7 Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.: +39

Dettagli

Introduzione. Corso di Informatica Applicata. Università degli studi di Cassino

Introduzione. Corso di Informatica Applicata. Università degli studi di Cassino Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Introduzione Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.:

Dettagli

introduzione I MICROCONTROLLORI

introduzione I MICROCONTROLLORI introduzione I MICROCONTROLLORI Definizione Un microcontrollore è un dispositivo elettronico programmabile Può svolgere autonomamente diverse funzioni in base al programma in esso implementato Non è la

Dettagli

Università degli studi di Roma La Sapienza. Laboratorio di Automatica

Università degli studi di Roma La Sapienza. Laboratorio di Automatica Università degli studi di Roma La Sapienza DIS Dipartimento di Informatica e Sistemistica Laboratorio di Automatica Implementazione di un controllore PID digitale per il controllo di posizione di un motore

Dettagli

Assembly PIC16F8X. Dispensa di elettronica sull uso del microcontrollore PIC 16F8X

Assembly PIC16F8X. Dispensa di elettronica sull uso del microcontrollore PIC 16F8X Dispensa di elettronica sull uso del microcontrollore PIC 16F8X Anno scolastico 2010/2011 Corso di Sistemi, specializzazione elettronica ITIS Galileo Ferraris Prof. Aniello Celentano L obiettivo della

Dettagli

DISPLAY LCD HD44780U(LCD-II)

DISPLAY LCD HD44780U(LCD-II) DISPLAY LCD HD44780U(LCD-II) 1. Descrizione 1.1 Introduzione Molti dispositivi a microcontrollore usano un visualizzatore (display) LCD per mostrare delle informazioni, uno dei tipi più usati può mostrare

Dettagli

Programmazione dello Z80

Programmazione dello Z80 Il microprocessore si incarica di: gestire il programma e i suoi dati di eseguire i calcoli richiesti. Le azioni appena elencate rendono necessario che il microprocessore abbia da qualche parte, al suo

Dettagli

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S La programmazione dei PIC.

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S La programmazione dei PIC. Corso introduttivo sui microcontrollori A. S. 2007 2008 La programmazione dei PIC Nicola Amoroso namoroso@mrscuole.net NA L3 1 Il software per il PIC Come per qualsiasi sistema a microprocessore, anche

Dettagli

APPUNTI DI ASM PER PIC

APPUNTI DI ASM PER PIC APPUNTI DI ASM PER PIC Prefazione: questi sono gli appunti di un profano che ha iniziato a studiarsi l asm per pic senza avere nessuno o quasi conoscenza pregressa, mi scuso pertanto di eventuali imprecisioni

Dettagli

Sistemi di Elaborazione a Microprocessore 8259. (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda

Sistemi di Elaborazione a Microprocessore 8259. (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda 8259 (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Rebaudengo, M. Sonza Reorda Generalità L'8259 è stato progettato

Dettagli

Esempio di moltiplicazione come somma e spostamento

Esempio di moltiplicazione come somma e spostamento Esempio di moltiplicazione come somma e spostamento Implementare una moltiplicazione coinvolge algoritmi di shift e somma Istruzioni di Shift:movimento di bit: ROL Rd ROR Rd LSL Rd LSR ASR Rd Rd 22 x 35

Dettagli

UNA INTRODUZIONE AL MONDO DEI MICROCONTROLLORI

UNA INTRODUZIONE AL MONDO DEI MICROCONTROLLORI UNA INTRODUZIONE AL MONDO DEI MICROCONTROLLORI 1 Microcontrollori? Molti prodotti utilizzati quotidianamente contengono più intelligenza di quanto ogni utente possa immaginare. Uno studio indica che ogni

Dettagli

ENCODER SERIE Pxx EQUIPAGGIATO CON INTERFACCIA PROFIBUS-DP

ENCODER SERIE Pxx EQUIPAGGIATO CON INTERFACCIA PROFIBUS-DP Documentazione Profibus-DP ENCODER SERIE Pxx EQUIPAGGIATO CON INTERFACCIA PROFIBUS-DP PxxDocSTD R4/0/701 1 SOMMARIO DEGLI ARGOMENTI: 1. Procedura di installazione meccanica:...3 2. Procedura d installazione

Dettagli

Architettura di un sistema di calcolo

Architettura di un sistema di calcolo Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un

Dettagli

I PIC Partendo da Zero By link_89

I PIC Partendo da Zero By link_89 I PIC Partendo da Zero By link_89 Indice: 1. Introduzione 2. Che cosa serve 3. I più usati 4. I registri 5. Il Primo progetto Introduzione Con questa guida non pretendo di insegnarvi a usare perfettamente

Dettagli

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE 1. INTRODUZIONE In questo capitolo viene presentata la struttura, sia interna che esterna, di un microprocessore generico riprendendo i concetti esposti nella

Dettagli

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico- Principi di architetture dei calcolatori: l unità di controllo Mariagiovanna Sami L unità di controllo Per eseguire le istruzioni di macchina, occorre che vengano generati nell ordine corretto i segnali

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

CORSO di AUTOMAZIONE INDUSTRIALE

CORSO di AUTOMAZIONE INDUSTRIALE CORSO di AUTOMAZIONE INDUSTRIALE (cod. 8469-21029) APPELLO del 22 Giugno 2011 Prof. Andrea Cataldo Soluzioni Esercizio 1 (Domande generali) 1.a) Controllo Logico Dire se il seguente programma SFC è sintatticamente

Dettagli

Parte II.2 Elaboratore

Parte II.2 Elaboratore Parte II.2 Elaboratore Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 1, 2015 Elisabetta Elisabetta Ronchieri II Software Argomenti

Dettagli

release 3 Il microcontrollore PIC16F877A di Ippolito Perlasca Presentazione

release 3 Il microcontrollore PIC16F877A di Ippolito Perlasca Presentazione release 3 Il microcontrollore PIC16F877A di Ippolito Perlasca Presentazione Questa è una dispensa sul microcontrollore PIC16F877A. Non è completa: manca la descrizione di alcune periferiche, ma le più

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1

Dettagli

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S. 2007 2008. Microcontrollori Microchip PIC 8 bit. namoroso@mrscuole.

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S. 2007 2008. Microcontrollori Microchip PIC 8 bit. namoroso@mrscuole. Corso introduttivo sui microcontrollori A. S. 2007 2008 Microcontrollori Microchip PIC 8 bit Nicola Amoroso namoroso@mrscuole.net NA L2 1 Microcontrollori Microchip PIC 8 bit PIC: Peripheral Interface

Dettagli

USART PIC 16F876. R/W-0 R/W-0 R/W-0 R/W-0 U-0 R/W-0 R-1 R/W-0 CSRC TX9 TXEN SYNC _ BRGH TRMT TX9D Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

USART PIC 16F876. R/W-0 R/W-0 R/W-0 R/W-0 U-0 R/W-0 R-1 R/W-0 CSRC TX9 TXEN SYNC _ BRGH TRMT TX9D Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 USART PIC 16F876 L USART (Universal Synchronous Asynchronous Receiver Trasmitter) è uno dei due moduli di I/O seriali, esso è conosciuto anche come Serial Comunications Interface (SCI). L USART può essere

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Unità Periferiche. Rete Di Controllo

Unità Periferiche. Rete Di Controllo MODELLO LOGICO-FUNZIONALE DI UN ELABORATORE Centrale di canale Periferiche CPU Memoria centrale ALU CU Memoria Locale ALU = Aritmetic Logic Unit CU = Registri CU ISTRUZIONE Decodificatore Rete Di Controllo

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

Il precedente programma è scritto in linguaggio Assembly per Z80. Il programma indicato sopra deve essere tradotto in codice Assembly per PIC

Il precedente programma è scritto in linguaggio Assembly per Z80. Il programma indicato sopra deve essere tradotto in codice Assembly per PIC [LABEL:] CODICE OP1[,OP2][COMMENTO] MNEM LD E,0H PIO EQU 0CH ORG 100H LD E,0 ciclo: IN A,(PIO) LD B,A IN A,(PIO) LD C,A LD A,E ADD A,B SUB C CP 8CH JRZ (ciclo) LD A,1 OUT (PIO),A HALT END Il precedente

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

Architettura del computer (C.Busso)

Architettura del computer (C.Busso) Architettura del computer (C.Busso) Il computer nacque quando fu possibile costruire circuiti abbastanza complessi in logica programmata da una parte e, dall altra, pensare, ( questo è dovuto a Von Neumann)

Dettagli

39 Il linguaggio grafico a contatti

39 Il linguaggio grafico a contatti 39 Il linguaggio grafico a contatti Diagramma a contatti, ladder, diagramma a scala sono nomi diversi usati per indicare la stessa cosa, il codice grafico per la programmazione dei PLC con il linguaggio

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S. 2007 2008. Microprocessori - Microcontrollori. namoroso@mrscuole.net

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S. 2007 2008. Microprocessori - Microcontrollori. namoroso@mrscuole.net Corso introduttivo sui microcontrollori A. S. 2007 2008 Microprocessori - Microcontrollori Nicola Amoroso namoroso@mrscuole.net NA L1 1 Cosa e un microcontrollore? > Un piccolo computer, contenente al

Dettagli

Rappresentazione delle informazioni

Rappresentazione delle informazioni Rappresentazione delle informazioni Abbiamo informazioni (numeri, caratteri, immagini, suoni, video... ) che vogliamo rappresentare (e poter elaborare) in un calcolatore. Per motivi tecnologici un calcolatore

Dettagli

Introduzione ai PICmicro

Introduzione ai PICmicro www.tanzilli.com Introduzione ai PICmicro I PICmicro sono dei circuiti integrati prodotti dalla Microchip Technology Inc., che appartengono alla categoria dei microcontroller, ovvero quei componenti che

Dettagli

La tecnica DDS. Un generatore di toni DTMF

La tecnica DDS. Un generatore di toni DTMF La tecnica DDS 32 Un generatore di toni DTMF standard con selezione a tastiera è presentato in quest articolo come applicazione della tecnica DDS (Direct Digital Synthesys), mediante un microprocessore.

Dettagli

Architettura dei Microcontrollori Microchip PIC18F

Architettura dei Microcontrollori Microchip PIC18F Architettura dei Microcontrollori Microchip PIC18F A. Romani Elettronica dei Sistemi Digitali L-A Cos è un microcontrollore? Differenza tra Microprocessore e Microcontrollore à Microprocessore: normalmente

Dettagli

Capitolo 3 Operazioni di ingresso e uscita

Capitolo 3 Operazioni di ingresso e uscita Capitolo 3 Operazioni di ingresso e uscita 3.1. Per assicurare che i dati siano letti solo una volta. 3.2. Assumendo i registri dell interfaccia dello schermo in Figura 3.3, si può usare il seguente programma:

Dettagli

Qualche informazione sul microcontrollore PIC

Qualche informazione sul microcontrollore PIC Qualche informazione sul microcontrollore PIC Il Web contiene un ampia quantità di informazioni sui microcontrollori e sulla famiglia PIC in particolare. Accanto ai siti dei produttori hardware e software

Dettagli

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario L hardware di I/O Struttura Interazione tra computer e controllori

Dettagli

luciano trapa I MICROCONTROLLORI (µc o MCU o microcomputer single chip) ED IL PIC 16 F 877 A

luciano trapa I MICROCONTROLLORI (µc o MCU o microcomputer single chip) ED IL PIC 16 F 877 A 1 luciano trapa I MICROCONTROLLORI (µc o MCU o microcomputer single chip) ED IL PIC 16 F 877 A 2 MICROCONTROLLORE o MCU (Micro Controller Unit) o MICROCOMPUTER SINGLE CHIP 3 PREMESSA Dopo un prima parte

Dettagli

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO PROGRAMMA Descrizione funzionale di un calcolatore elementare, COS'E' UN ELETTRONICO HARDWARE SOFTWARE HARDWARE

Dettagli

Pilotare un motore passo-passo, in questo caso il modello della Sanyo le cui caratteristiche principali sono quelle di figura1.

Pilotare un motore passo-passo, in questo caso il modello della Sanyo le cui caratteristiche principali sono quelle di figura1. 10. Pilotaggio unipolare di un motore passo-passo Scopo della prova Pilotare un motore passo-passo, in questo caso il modello 103-547-52500 della Sanyo le cui caratteristiche principali sono quelle di

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

I MICROCONTROLLORI PIC (Microchip) PARTE I

I MICROCONTROLLORI PIC (Microchip) PARTE I I MICROCONTROLLORI PIC (Microchip) PARTE I Prof. Angelo Monfroglio Questa dispensa, ad uso degli studenti degli indirizzi Elettronica e Informatica e di tutti i progettisti e studiosi interessati, fornisce

Dettagli

AXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000

AXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000 AXO Achitettura dei Calcolatori e Sistema Operativo Instruction Set Architecture (ISA) e 68000 introduzione a ISA ISA - Instruction Set Architecture insieme delle istruzioni (instruction set) che possono

Dettagli

PROGRAMMA DI SISTEMI TERZA AET 2014/2015

PROGRAMMA DI SISTEMI TERZA AET 2014/2015 PROGRAMMA DI SISTEMI TERZA AET 2014/2015 Docente: Gamerra Giuseppe, Porta Giovanni Testo : manuali originali dello Z80, appunti in classe, dispense sulla intranet, simulatore OSHONSOFT A) Non sono state

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 15 Martedì 24-11-2015 Struttura logica del sottosistema di I/O Processi

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Codifica di dati e istruzioni. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Codifica di dati e istruzioni. Anno Accademico 2010/2011 Francesco Tortorella Corso di Fondamenti di Informatica Codifica di dati e istruzioni Anno Accademico 2010/2011 Francesco Tortorella La codifica dei dati e delle istruzioni La più piccola unità di informazione memorizzabile

Dettagli

ESERCIZI NEL LINGUAGGIO ASSEMBLATIVO DEL MICROCONTROLLORE PIC 16F84

ESERCIZI NEL LINGUAGGIO ASSEMBLATIVO DEL MICROCONTROLLORE PIC 16F84 ESERCIZI NEL LINGUAGGIO ASSEMBLATIVO DEL MICROCONTROLLORE PIC 16F84 1 ) Calcolare in binario e convertire in decimale il contenuto del registro W dopo l esecuzione delle seguenti istruzioni: MOVLW 150

Dettagli

Il sensore ad ultrasuoni

Il sensore ad ultrasuoni Il sensore ad ultrasuoni Caratteristiche elettriche Alimentazione: 5 Vcc Il sensore rileva oggetti da 0 cm fino a 6,45 metri. Tre diverse possibiltà per leggere il dato di uscita del sensore: 1. lettura

Dettagli

L architettura di riferimento

L architettura di riferimento Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/27

Dettagli

Corso introduttivo sui microcontrollori A. S. 2007 2008. Programmare i PIC in C. Timers Interrupts Prerequisiti: Lezione7 Lezione8.

Corso introduttivo sui microcontrollori A. S. 2007 2008. Programmare i PIC in C. Timers Interrupts Prerequisiti: Lezione7 Lezione8. Corso introduttivo sui microcontrollori A. S. 2007 2008 Programmare i PIC in C Prerequisiti: Lezione7 Lezione8 Nicola Amoroso namoroso@mrscuole.net NA L15 1 Timers - Interrupts I timers e gli Interrupts

Dettagli

Progetto di Microcontrollori. Cronotermostato per Caldaia

Progetto di Microcontrollori. Cronotermostato per Caldaia Progetto di Microcontrollori Cronotermostato per Caldaia Obiettivo del Progetto Realizzazione di un dispositivo elettronico capace di gestire l accensione di una caldaia mediante il controllo della temperatura

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:

Dettagli

GESTIONE DELLA MEMORIA CENTRALE

GESTIONE DELLA MEMORIA CENTRALE GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni LEZIONE 2 (HARDWARE) a.a. 2011/2012 Francesco Fontanella Tre concetti Fondamentali Algoritmo; Automa (o anche macchina); Calcolo; 2 Calcolatore MACCHINA

Dettagli

Lezione 2. Figura 1. Schema del circuito necessario per le prove

Lezione 2. Figura 1. Schema del circuito necessario per le prove Lezione 2 Inizializzazione porte Il primo argomento che tratteremo è la prima operazione da effettuare quando si programma un microcontrollore ovvero settare correttamente le porte ed inizializzare i registri

Dettagli

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO 1 Domanda [1 punto] Dato il formato in virgola mobile su 32 bit così definito (precisione singola): o 1

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

Dettagli

Calcolo numerico e programmazione Architettura dei calcolatori

Calcolo numerico e programmazione Architettura dei calcolatori Calcolo numerico e programmazione Architettura dei calcolatori Tullio Facchinetti 30 marzo 2012 08:57 http://robot.unipv.it/toolleeo Il calcolatore tre funzionalità essenziali:

Dettagli

Kit A72 MANUALE DEL SOFTWARE TWIDO PER IL DISTACCO UTENZE (CEI 0-16 ALLEGATO M)

Kit A72 MANUALE DEL SOFTWARE TWIDO PER IL DISTACCO UTENZE (CEI 0-16 ALLEGATO M) Kit A72 MANUALE DEL SOFTWARE TWIDO PER IL DISTACCO UTENZE (CEI 0-16 ALLEGATO M) INDICE 1 OBIETTIVO...2 2 CONFIGURAZIONE DEL PROGRAMMA...2 2.1 Configurazione oggetti di memoria...2 3 FUNZIONAMENTO...5 3.1

Dettagli

P R O G E T T O L A R S A A P P U N T I S U L P. L. C.

P R O G E T T O L A R S A A P P U N T I S U L P. L. C. P R O G E T T O L A R S A A P P U N T I S U L P. L. C. L automazione di un qualunque procedimento industriale si ottiene mediante un insieme d apparecchiature, opportunamente collegate tra loro, in modo

Dettagli

Appunti di Sistemi e Automazione

Appunti di Sistemi e Automazione Appunti di Sistemi e Automazione Il modello o macchina di Von Neumann rappresenta un computer con i suoi componenti principali e la sua organizzazione logico-funzionale. Tale progetto risale al 1945/1946.

Dettagli

Powered by: Relators:

Powered by: Relators: Powered by: Hacking Group Como www.hgcomo.org Relators: Beretta Matteo, matteo@hgcomo.org Pizzagalli Diego Ulisse ulisse@hgcomo.org Atmel AVR Studio 4 integra al suo interno un ambiente di programmazione

Dettagli