Programmazione del microcontrollore PIC 16F84

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 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

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

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

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

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

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

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

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

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

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

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

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

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

NOZIONI BASE DI ASSEMBLER PER PIC16C84

NOZIONI BASE DI ASSEMBLER PER PIC16C84 NOZIONI BASE DI ASSEMBLER PER PIC16C84 Aggiornato al 09 settembre 2005 Ermes ZANNONI (ermes@zannoni.to.it) (http://www.zannoni.to.it) Indice : 1. Introduzione 2. Cosa è un PIC 3. Achitettura interna 3.1

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

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

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

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

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 1 LABORATORIO DI SISTEMI OGGETTO: Progettare e collaudare un circuito digitale capace di copiare le informazioni di una memoria PROM in

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

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

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

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

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

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

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

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2

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

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

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

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura

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

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

Testi di Esercizi e Quesiti 1

Testi di Esercizi e Quesiti 1 Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica

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

PIC Set istruzioni. Sintassi Descrizione Microchip Operazione equivalente Effetto su STATUS

PIC Set istruzioni. Sintassi Descrizione Microchip Operazione equivalente Effetto su STATUS PIC Set istruzioni Questo è il set completo delle istruzioni dei Microchip PIC: Sintassi Descrizione Microchip Operazione equivalente Effetto su STATUS ADDLW k Add Literal and W W = W + k C, DC, Z ADDWF

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

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

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE PARCELLA FACILE PLUS INDICE MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella

Dettagli

Sistemi Operativi. 5 Gestione della memoria

Sistemi Operativi. 5 Gestione della memoria Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria

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

OSCILLATORI AL QUARZO: CONTASECONDI

OSCILLATORI AL QUARZO: CONTASECONDI ... OSCILLATORI AL QUARZO: CONTASECONDI di Maurizio Del Corso m.delcorso@farelettronica.com Come può un cristallo di quarzo oscillare ad una determinata frequenza? Quale spiegazione fisica c è dietro a

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

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

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

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

Manuale Terminal Manager 2.0

Manuale Terminal Manager 2.0 Manuale Terminal Manager 2.0 CREAZIONE / MODIFICA / CANCELLAZIONE TERMINALI Tramite il pulsante NUOVO possiamo aggiungere un terminale alla lista del nostro impianto. Comparirà una finestra che permette

Dettagli

Il Processore: i registri

Il Processore: i registri Il Processore: i registri Il processore contiene al suo interno un certo numero di registri (unità di memoria estremamente veloci) Le dimensioni di un registro sono di pochi byte (4, 8) I registri contengono

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

Gerarchia delle memorie

Gerarchia delle memorie Memorie Gerarchia delle memorie Cache CPU Centrale Massa Distanza Capacità Tempi di accesso Costo 2 1 Le memorie centrali Nella macchina di Von Neumann, le istruzioni e i dati sono contenute in una memoria

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

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica I componenti di un Sistema di elaborazione. Memoria centrale Memorizza : istruzioni dati In forma BINARIA : 10001010101000110101... È costituita da una serie di CHIP disposti su una scheda elettronica

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

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

DMA Accesso Diretto alla Memoria

DMA Accesso Diretto alla Memoria Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

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

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

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

Memorie ROM (Read Only Memory)

Memorie ROM (Read Only Memory) Memorie ROM (Read Only Memory) Considerando la prima forma canonica, la realizzazione di qualsiasi funzione di m variabili richiede un numero di porte AND pari al numero dei suoi mintermini e di prolungare

Dettagli

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

5-1 FILE: CREAZIONE NUOVO DOCUMENTO

5-1 FILE: CREAZIONE NUOVO DOCUMENTO Capittol lo 5 File 5-1 FILE: CREAZIONE NUOVO DOCUMENTO In Word è possibile creare documenti completamente nuovi oppure risparmiare tempo utilizzando autocomposizioni o modelli, che consentono di creare

Dettagli

Corso PLC - Manuale Pratico 1

Corso PLC - Manuale Pratico 1 Corso PLC - Manuale Pratico 1 "!#$ % L'unità centrale di un PLC, chiamata più semplicemente CPU, normalmente occupa il primo modulo del rack. Si individua subito in quanto tipicamente è dotata di un selettore,

Dettagli

Pronto Esecuzione Attesa Terminazione

Pronto Esecuzione Attesa Terminazione Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

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

Invio SMS. DM Board ICS Invio SMS

Invio SMS. DM Board ICS Invio SMS Invio SMS In questo programma proveremo ad inviare un SMS ad ogni pressione di uno dei 2 tasti della DM Board ICS. Per prima cosa creiamo un nuovo progetto premendo sul pulsante (Create new project): dove

Dettagli

BARCODE. Gestione Codici a Barre. Release 4.90 Manuale Operativo

BARCODE. Gestione Codici a Barre. Release 4.90 Manuale Operativo Release 4.90 Manuale Operativo BARCODE Gestione Codici a Barre La gestione Barcode permette di importare i codici degli articoli letti da dispositivi d inserimento (penne ottiche e lettori Barcode) integrandosi

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

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

Il memory manager. Gestione della memoria centrale

Il memory manager. Gestione della memoria centrale Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda

Dettagli

Interfacciamento con memorie Pagina 1 di 9

Interfacciamento con memorie Pagina 1 di 9 Interfacciamento con memorie Pagina 1 di 9 Supponiamo di voler interfacciare il microprocessore con un chip di memoria RAM da 2 Kbyte in modo che le 2048 locazioni del chip occupino i primi 2048 indirizzi

Dettagli

MANUALE UTENTE Fiscali Free

MANUALE UTENTE Fiscali Free MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

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

Gestione Risorse Umane Web

Gestione Risorse Umane Web La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...

Dettagli

I CONTATORI SINCRONI

I CONTATORI SINCRONI I CONTATORI SINCRONI Premessa I contatori sincroni sono temporizzati in modo tale che tutti i Flip-Flop sono commutato ( triggerati ) nello stesso istante. Ciò si realizza collegando la linea del clock

Dettagli

Organizzazione della memoria

Organizzazione della memoria Memorizzazione dati La fase di codifica permette di esprimere qualsiasi informazione (numeri, testo, immagini, ecc) come stringhe di bit: Es: di immagine 00001001100110010010001100110010011001010010100010

Dettagli

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4 ARCHITETTURE MICROPROGRAMMATE. 1 Necessità di un architettura microprogrammata 1 Cos è un architettura microprogrammata? 4 Struttura di una microistruzione. 5 Esempi di microprogrammi 9 Esempio 1 9 Esempio

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

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

Compilatore risorse display grafico LCD serie IEC-line

Compilatore risorse display grafico LCD serie IEC-line Compilatore risorse display grafico LCD serie IEC-line aggiornamento: 22-11-2012 IEC-line by OVERDIGIT overdigit.com 1. Il display grafico LCD I PLC della serie IPC-line possono disporre opzionalmente

Dettagli

Esempio: aggiungere j

Esempio: aggiungere j Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione delle istruzioni, il verificarsi di eventi

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli