Il µcontrollore PIC 16F84

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il µcontrollore PIC 16F84"

Transcript

1 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 Nec, la Texas Instruments, La Amtel, la Zilog, la Microchip Tecnology e altre, ad offrire sul mercato una vasta gamma di µc. I microcontrollori si distinguono per il parallelismo di memoria (8, 16, 32 bit), per il set istruzioni più o meno esteso, per la complessità circuitale interna che può comprendere comparatori, convertitori A/D, generatori di segnali PWM, per la potenza di calcolo come i DSP (digital signal processor) progettati per elaborare grandi quantità di segnali (audio, immagini) in brevissimo tempo. I PIC Programmable Integrated Controller sono la famiglia di µc prodotti dalla Microchip Tecnology. Il PIC 16F84 è un microcontrollore di fascia medio-bassa con un parallelismo di 8 bit, di facile impiego e soprattutto ricco di letteratura.

2 I microcontrollori I µcontrollori sono dei sistemi single chip completi di CPU, Memoria, Porte di I/O, Contatori, Timer ecc. Sono stati concepiti per applicazioni industriali di controllo. Il programma, una volta messo a punto, risiede all interno del chip. D. Ch. 2 I microcontrollori sono praticamente dei completi microelaboratori integrati su un unico chip. Sono ormai impiegati in tutte le moderne applicazioni elettroniche che vanno dagli elettrodomestici intelligenti all automobilismo, dagli apparati per le telecomunicazioni alla robotica, dagli apparati elettromedicali alla alta fedeltà, alla elaborazione dei segnali audio e video, alla sicurezza. Vengono detti embedded perché, una volta programmati per una particolare applicazione, vengono incorporati nell apparecchio che devono controllare. Hanno praticamente rimpiazzato i soffisticati circuiti di controllo analogici e digitali.

3 . Il PIC 16F84: ha CPU RISC ha struttura Harvard ha semplice modalità di indirizzamento D. Ch. 3 A differenza dei classici microprocessori con struttura di tipo Von Neumann (aventi un unica memoria, come già visto nella prima parte del corso) il PIC ha la strutture di tipo Harvard (Università dove è stato creato) caratterizzato dal fatto che la memoria dati e la memoria istruzioni sono diverse e separate e ciascuna con il proprio bus; in questo modo la CPU può operare una singola istruzione ma su dati multipli o anche istruzioni multiple su dati multipli. Il PIC 16F84 ha un parallelismo di memoria di 8 bit ossia è capace di trattare 8 bit con un solo accesso in memoria ed è un microcontrollore con CPU RISC (Reduced Instruction Set Computing) dotata di un set di sole 37 istruzioni tutte della stessa lunghezza, ciascuna di 14 bit di cui 35 comuni a tutti i PIC e 2 proprie del 16F84; Anche i modi di indirizzamento sono pochi e semplici (diretto ed indiretto) e di conseguenza è sufficiente un semplice hardware di decodifica. Tutto questo fa si che il PIC abbia una grande velocità operativa.

4 D. Ch. 4 Il vero fattore velocizzante della operatività del PIC è la modalità di lavoro in pipeline (Metodo che consente l'elaborazione di nuovi dati senza necessità di attendere che i dati precedentemente inviati termino la loro elaborazione). Le istruzioni del PIC oltre che poco numerose sono anche molto brevi; durano tutte 8 cicli T(ad eccezione delle istruzioni si salto). Di questi, i primi 4 cicli sono utilizzati per il caricamento del codice operativo (fase di fetch) mentre i 4 successivi sono dedicati alla fase di execute (l esecuzione del microprogramma). Al fine di raddoppiare la velocità di esecuzione del programma, grazie anche all architettura che lo consente, si fa in modo che nelle istruzioni consecutive le fasi operative si sovrapongano creando il pipeline flow. Praticamente, mentre si esegue l execute di una istruzione si esegue contemporaneamente anche il fetch dell istruzione successiva. Così facendo ogni istruzione dura solo 4 cicli T anziché 8 ( nel caso di un clock di 20 MHz ogni istruzione durerà appena 200 ns mentre nelle nostre applicazioni dove utilizziamo un clock di 4MHz ogni istruzione dura 1 µs).

5 RIEPILOGANDO: T_Fetch = T_ Execute Separazione dei canali dei dati e delle istruzioni Pipelining (sovrapposizione del fetch di un istruzione e del execute della precedente.) velocizzazione Poche istruzioni Pochi modi di indirizzamento Hw di decodifica semplice velocizzazione D. Ch. 5 In questa slide sono sintetizzati i motivi grazie ai quali il PIC ha una velocità operativa superiore ai comuni microprocessori.

6 Schema a blocchi interno del PIC D. Ch. 6 L architettura interna del PIC è quella di un µcontrollore completo. Si distinguono: L ALU: unità centrale I Registri: W: Accumulatore, a 8 bit coinvolto nelle istruzioni di trasferimento. STACK:Registro LIFO a 8 livelli; il programmatore può creare fino a 8 subroutine nidificate. PC: Program Counter, a 13 bit con i quali è possibile indirizzare 8K locazioni di Memoria Programma (in effetti sono ridondanti per il PIC 16F84 visto che esso ha solo 1K di Memoria Programma). Il PC è composto da due registri: PCL di 8 bit e PCH di 5 bit; nel registro PCH non si può accedere direttamente (come nel PCL) ma bisogna coinvolgere il registro PCLATH ( vedi slide n. 12). La Memoria: EEPROM Programma: a 14 bit (1024 locazioni) EEPROM dati a 8 bit (64 locazioni) RAM a 8 bit suddivisa in 22 Registri speciali ( ) 68 Registri dati di uso generale Le Porte : Port A (5 linee) Port B (8 linee) Le linee delle porte sono configurabili sia in input che in output, sono compatibili TTL e possono erogare / assorbire fino ad un massimo di 25 ma. Timing generation: Circuiteria sia per la generazione di clock all interno del PIC sia per la ricezione di un clock dall esterno. RTCC: (Real Time Counter/ Clock) fa riferimento al registro TMR0 a 8 bit ( vedi slide n. 12).

7 Il pinout del PIC 16F84 (18 pin di cui ben 13 disponibili per l I/O) Fig. (α ) Fig. ( β ) D. Ch. 7 Il PIC 16F84 è un integrato a 18 pin di cui ben 13 sono dedicati all I/O. In figura (α) è riportato lo schema funzionale mentre in figura (β) è riportato in pinout del PIC. Si distinguono: il PortA (5pin), il PortB (8 pin), i 2 pin di alimentazione e massa (V DD e GND), il master Reset (MCLR) attivo basso e due pin (OSC1 e OSC2) dedicati al clock; fra questi due pin si collega l oscillatore esterno.

8 D. Ch. 8 Descriviamo ora la funzione dei pin dell integrato: OSC1/ CLKIN e OSC1/ CLKOUT: sono pin rispettivamente di ingresso e di uscita; fra questi solitamente va collegato un oscillattore a quarzo esterno che unitamente all amplificatore interno al PIC costituisce il generatore di clock del sistema. Oltre il quarzo (4MHz o di high speed fino a 20MHz), come oscillatore esterno è possibile anche l utilizzo di una rete RC o anche di un risonatore ceramico fino a 200 khz. Il MCLR (Master Reset): è un pin di input ed è attivo basso. Ogni volta che viene attivato carica il Program Counter con l indirizzo 000H da dove poi riparte il programma. RA0 RA4: sono le 5 linee di I/O del Port A e possono essere utilizzate sia in input che in output; In particolare, fare attenzione su RA4 quando viene utilizzata in out bisogna inserire un resistore di pull up esterno perché è un pin open drain. RA4 inoltre può essere utilizzata anche come ingresso per il clock del Registro TMR0. RB0 RB7: sono le 8 linee di I/O del PORT B e possono essere utilizzate sia in input che in output; In particolare, RB0 può essere utilizzata anche come linea di input di interrupt; In particolare anche RB4 RB7 possono essere utilizzate come input di interrupt ma attive edge triggered (attive sul cambiamento di stato). (vedi registro INTCON, slide 13).

9 RAM EEPROM (1K) Memoria di Programma 14 bit Banco 0 EEPROM Dati 8 bit 64 locazioni 1k Banco 1 D. Ch. 9 LA MEMORIA DEL PIC 16F84 La memoria del PIC 16F84 è organizzata in 3 blocchi: a) Una Memoria Programma di tipo EEPROM a 16 bit con 1024 locazioni dove tra altro sono contenuti i codici operativi di due istruzioni chiave: RESET nella locazione 000H e INTERRUPT nella locazione 004H; b) Una Memoria RAM a 8 bit di 90 locazioni dislocate in uno spazio di 256 locazioni totali (da 00h a FFh) e divisa in due blocchi detti Banchi (Banco 0 e Banco 1). L organizzazione della RAM prevede 22 Registri speciali (11 per ogni Banco) e 68 Registri di uso generale. Dei Registri speciali ci occuperemo dettagliatamente più avanti. c) Infine esiste una terza memoria a 8 bit di 64 locazioni, di tipo EEPROM utilizzata esclusivamente come Memoria Dati.

10 D. Ch. 10 LA MEMORIA RAM La memoria RAM, come gia detto, è organizzata in 2 Banchi consecutivi, qui rappresentati affiancati. Per selezionare il Banco su cui si vuole lavorare bisogna coinvolgere i bit RP1 ed RP0 del Registro STATUS: 00 seleziona il Banco 0 mentre 01 seleziona il Banco 1; in effetti nel PIC 16F84 il bit RP1 è sempre a 0 per cui è sufficiente impostare solo RP0 (vedi slide n. 29).

11 D. Ch. 11 I Registri Speciali del Banco 0: Il Registro TMR0 è un registro contatore che può funzionare in modalità timer oppure in modalità counter: In modalità counter esso conta gli impulsi applicati dall esterno al pin RA4/T0CKI del porta. Si può anche inizializzare TMR0 ad un valore desiderato e poi farlo incrementare fino a creare un overflow; questo overflow può essere utilizzato per generare un interrupt (vedi registro INTCON, slide 15). Nella modalità timer il TMR0 conta gli impulsi di un segnale interno avente frequenza pari ad ¼ del segnale del clock. E possibile dividere ulteriormente questa frequenza per 2, per 4, per 256 per ottenere impulsi del timer lunghi; questa funzione prende il nome Prescaler. Il Prescaler si attiva attraverso i bit PS2 PS1 PS0 del registro OPTION. I Registri PORTA e PORTB contengono il valore dei vari pin delle Porte. Se i pin sono configurati come ingressi essi assumono il valore della periferica collegata mentre se i pin sono configurati come uscite il loro valore è stabilito dal programma. I pin di questi registri possono essere trattati sia singolarmente sia come un unica parola Il Registro STATUS, appartiene sia al banco 0 che al banco 1; è utilizzato per la selezione del Banco 0 o Banco 1 Il Registro INTCON appartiene sia al banco 0 che al banco 1; viene utilizzato esclusivamente per la gestione degli interrupt. I Registri EEDATA e EEADR abilitano la memoria dati I Registri PCLATH (5 bit) e PCL (8 bit) contengono i 13 bit (i 5 alti + gli 8 bit bassi) del Program Counter. I Registri FSR e INDF sono utilizzati nell indirizzamento indiretto.

12 D. Ch. 12 Alcuni Registri Speciali del Banco 1: Il PIC 16F84 per gestire le linee di I/O utilizza una coppia di registri per ciascuna Porta: tali registri sono TRIS A e PORT A per la porta A e TRIS B e PORT B per la porta B (di ogni coppia però uno risiede nel banco 0 e uno nel banco 1) I Registri TRIS A e TRIS B sono utilizzati per configurare le porte A e B (o i loro singoli bit) in ingresso o in uscita: Mettere un pin di questi registri a 0 implica configurare il corrispondente pin della porta come uscita mentre mettere un pin a 1 implica configurare il corrispondente pin della porta come ingresso; p.e. TRIS B: configura B4, B1 e B0 come input mentre tutti gli altri saranno configurati come out. (in tal caso se volessimo collegare un LED lo collegheremo su B7 o su B6 o su B5 oppure su B3 o su B2). I Registri EECON1 e EECON2 abilitano la memoria dati. Il Registro OPTION viene utilizzato prevalentemente per programmare il funzionamento del registro TMR0.

13 D. Ch. 13 Il Registro STATUS: il bit RP0 è utilizzato per la selezione del Banco 0 o del Banco 1; IRP e RP1 sono sempre a 0; TO: è attivo basso, manda il WDT in time out; (*) PD: attivo basso, si attiva quando viene eseguita una istruzione di sleep; (**) Z: flag di zero, si attiva (a 1) quando il risultato di un operazione aritmetica o logica è zero; DC: indica se c è riporto o prestito sul bit meno significativo; C: indica se c è riporto o prestito sul bit più significativo. (*) La funzione WDT (Watchdog time) rileva eventuali blocchi della CPU, resetta il PIC e lo riavvia per farlo riprendere la normale esecuzione del programma. (**) Lo Sleep Mode o Power Down Mode è uno stato di funzionamento in Stand by in cui gran parte della circuiteria del PIC viene disalimentata in attesa di uno sporadico evento esterno (si pensi alla premuta di un tasto del telecomando); il PDM è utile per limitare il consumo di energia che farebbe scaricare la pila durante i lunghi tempi di inattività del PIC.

14 * ** *** * ** *** D. Ch. 14 Il Registro INTCON viene utilizzato esclusivamente per la gestione degli interrupt. Nel PIC 16F84 esistono 3 possibili modalità di attivazione di interrupt: a) l overflow del TMR0: viene abilitata attraverso il pin TOIE; b) l attivazione del segnale RB0/INT: viene abilitata attraverso il pin INTE; c) i segnali (cambio del livello) delle linee RB4, RB5, RB6, e RB7: viene abilitata attraverso il pin RBIE; Esistono anche 3 pin FLAG che segnalano l avvenuta interrupt (e che devono essere azzerati via software prima di uscire dalla subroutine di gestione): TOIF segnala l avvenuta interrupt da RMR0; INTF segnala l avvenuta interrupt da RB0/INT; RBIF segnala l avvenuta interrupt da RB4 RB7. GIE: se attivo (1) abilita gli interrupt (qualsiasi tipologia). Questo pin viene disattivato (0) automaticamente subito dopo il verificarsi del interrupt affinchè sia possibile che avvenga un nuovo interrupt; a questo è preposta l istruzione RETFIE che chiude ogni subroutine di gestione di un interrupt. EEIE: abilita la scrittura in memoria dati.

15 D. Ch. 15 Il Registro OPTION viene utilizzato prevalentemente per programmare il funzionamento del registro TMR0; infatti a questo sono dedicati ben 6 bit del registro (PS0, PS1, PS2, PSA, TOSE e TOCS). PS2, PS1, PS0 selezionano il rapporto di prescaler ( il divisore di f T ); PSA stabilisce se il prescaler verrà utilizzato da TMR0 oppure da watch dog timer (WDT); TOSE stabilisce se TMR0 funzionerà con il fronte positivo oppure negativo del clock; TOCS stabilisce se come clock del registro TMR0 sarà utilizzato il fronte di un segnale esterno applicato a RA4/TOCK1 oppure il clock interno al pic. INTEDG stabilisce se l interrupt RB0/INT sarà abilitata con il fronte positivo oppure negativo; RBPU abilita o disabilita i resistori di pull-up interni della porta B.

16 LE ISTRUZIONI DEL PIC Ogni istruzione del PIC corrisponde ad un opcode a 14 bit. (Il 16F84 ha 37 opcode diversi) Esempio: B 0100H CLRw (notaz. Bin) (notaz. Hex) (cod. mnemonico Assembler) D. Ch. 16 Ogni istruzione del PIC corrisponde ad un codice operativo a 14 bit. Ogni codice operativo viene memorizzato in una memoria di programma costituita da una EEPROM di 1024 locazioni a 14 bit (come già detto nella slide 10) in cui ogni locazione, infatti, contiene una sola istruzione.

17 LE ISTRUZIONI DEL PIC 16F84 (1 / 3) (Letterali e di Controllo) D. Ch. 17 Le istruzioni del PIC sono raggruppate in tre tipologie: letterali e di controllo, orientate al byte e orientate al bit. a) Istruzioni letterali e di controllo; quasi tutte operano su grandezze alfanumeriche e molte fanno uso del registro accumulatore W. Durano tutte 1 ciclo macchina (1µs) pari a 4 cicli di clock ad eccezione delle istruzioni di salto che durano 2 cicli (p.e. CALL, GOTO, RETURN,..) Esaminiamo alcune delle istruzioni letterali: MOVLW 0C: sposta la costante 0C(hex) nel registro W. MOVLW B : sposta la costante (bin) nel registro W. MOVLW D 11 : sposta la costante 11(dec) nel registro W. MOVLW 0xFF: sposta la costante FF(hex) nel registro W (per esigenze del compilatore, quando la costante inizia per lettera si fa precedere per 0x oppure per 0). ADDLW 03: addiziona la costante 03h al contenuto del registro W. GOTO 10A: salta nella locazione 10A della memoria programma.

18 LE ISTRUZIONI DEL PIC 16F84 (2 / 3) (Orientate al Byte) D. Ch. 18 b) Istruzioni orientate al byte; operano con parole lunghe 1 byte e spesso sul contenuto dei registri; molte fanno uso del registro accumulatore W. Esaminiamo alcune delle istruzioni orientate al byte tenendo presente che f è un registro generico a cui possiamo dare un nome qualsiasi e a cui il compilatore attribuirà il giusto indirizzo e che d è un parametro binario: se d=0 il risultato dell istruzione verrà posto in W mentre se d=1 il risultato sarà posto in f stesso). MOVWF 06: sposta il contenuto di W nel registro con indirizzo 06 (ossia scrivi il contenuto di W nel PortB). DECFSZ 1A: decrementa il contenuto del registro alla locazione 1Ah e salta la prossima istruzione se il contenuto è zero. SUBWF 0A,0: sottrai il contenuto di W dal registro 0A0h e metti il risultato in W. ADDWF 03,1: addiziona il contenuto di W al contenuto del registro 03h e il risultato mettilo in 03h.

19 LE ISTRUZIONI DEL PIC 16F84 (3 / 3) (Orientate al bit) D. Ch. 19 c) Istruzioni orientate al bit; operano sul contenuto del singolo bit dei registri. (f è un registro generico, b è il bit su cui opera l istruzione) BCF 06,3: metti a 0 il bit 3 del registro alla locazione 06 ossia metti a 0 il bit RB3. BSF 06,3: metti a 1 il bit RB3. BTFSC 03,2: esegui il test sul bit 2 del registro alla locazione 03 ossia testa il bit ZERO del registro STATUS e se lo trovi a zero salta la prossima istruzione. Le due istruzioni particolari del PIC 16F84: TRIS f [dove f può essere 05 (PORT A) oppure 06 (PORT B)]; questa istruzione trasferisce il contenuto di W nel registro TRIS A o TRIS B e consente di configurare i pin delle porte in ingresso o in uscita (vedi slide n. 29). OPTION: trasferisce il contenuto di W nel registro OPTION in modo da evitare lo scambio di banco tramite RP0 di STATUS.

20 Notepad.exe Edit.exe Word (file.testo) Differente per ogni tipo di PIC (P16F84.INC) Trasforma il mnemonico in opcode (MPASMWIN.EXE) (File testo) (mnem. opcode) (Contiene i codici operativi) D. Ch. 20 La Compilazione e la Programmazione Programmare in assembler è una attività da Progettista; l assembler è un linguaggio dedicato alla particolare macchina (µprocessore o µcontrollore) e dunque il Progettista deve conoscere bene l architettura dell hardware per stilare adeguatamente il programma. La programmazione del PIC richiede due fasi: la costruzione di un hardware e la gestione di due software per la Compilazione e la Programmazione vera e propria. La Compilazione: Il programma in assembler è scritto in linguaggio alfanumerico e, affinchè possa venire riconosciuto dalle circuiterie dovrà essere tradotto in codice macchina. A questo provvede un apposito software detto Assemblatore (nel nostro caso MPASMWIN.EXE). Tutti i microcontrollori della famiglia dei PIC, anche se ciascuno con la propria architettura interna, hanno lo stesso set di istruzioni; per questo motivo è possibile utilizzare un unico assemblatore al quale però bisognerà fornire, insieme al file sorgente (che contiene il programma utente ), anche un file con le specifiche del PIC da programmare. Questo file ha estensione INC e nel nostro caso è il P16F84.INC. L assemblatore fornisce più file, alcuni di servizio come il XX.ERR attraverso la lettura del quale il Progettista può risalire agli errori di compilazione (fornisce anche la linea del sorgente assembler in cui sono stati rilevati gli errori) e quindi rimuoverli e come il XX.LST contenente il listato degli OP. COD. in formato testo. Infine il file XX.HEX contenente i codici operativi delle istruzioni sarà l unico ad essere trasferito all interno della memoria programma del PIC attraverso una successiva fase detta di Programmazione.

21 LA COMPILAZIONE ASSEMBLER Fig. 1 Fig. 2 D. Ch. 21 La compilazione assembler è affidata al programma MPASM della MICROCHIP. Una volta lanciato il programma MPASMWIN.EXE si apre la finestra di figura 1 dove dopo aver selezionato il nostro file sorgente, il processore utilizzato e i file che desideriamo generare avvieremo la compilazione clickando su Assemble. L assemblatore eseguirà la compilazione e fornirà il report di figura 2; se ci saranno errori la striscia colorata sarà rossa e ci sarà anche il numero di errori da correggere.

22 IL PROGRAMMATORE D. Ch. 22 Il programmatore è un circuito molto semplice contenente pochi semplici componenti tra cui uno zoccolo DIL con adeguato numero di pin (18 nel caso del 16F84) e un connettore seriale per la connessione alla porta del computer. Per programmare il PIC basta inserirlo sullo zoccolo del programmatore, collegarlo alla porta seriale del computer e lanciare il software di programmazione. Il circuito programmatore non necessita di alimentatore perché viene alimentato dalla porta COM selezionata del computer. Prestare sempre attenzione all inserimento del PIC nello zoccolo del programmatore anche se il rischio di danneggiarlo durante la programmazione, nel caso di errato inserimento, è basso viste le modeste intensità di corrente in gioco.

23 LA PROGRAMMAZIONE DEL PIC D. Ch. 23 La Programmazione: Dopo aver inserito il PIC nello zoccolo del programmatore e collegato quest ultimo alla seriale del PC lanceremo il software NTPicprog.exe. Si apre la finestra di dialogo nella quale dobbiamo impostare alcuni parametri come mostrato in figura: il mode 16C84 va bene anche per il 16F84, mentre come COM dovrà essere selezionata quella disponibile ed effettivamente adoperata, dobbiamo indicare il tipo di clock che sarà utilizzato nell applicativo finale (oscillatore RC, circuito con risonatore ceramico (LP), quarzo a media frequenza (XT), o quarzo high speed (HS)). A questo punto lanciamo Load per caricare il file XX.HEX e comandiamo Write per trasferire i dati nel PIC. Talvolta è utile precedere le operazioni dal comando Erase che pulisce la memoria del programma mentre è sempre consigliabile controllare l avvenuta scrittura facendo un operazione di Read. Al termine della programmazione non resta che staccare il PIC programmato dallo zoccolo del programmatore ed inserirlo nel circuito di destinazione finale.

24 Riepilogando.. per programmare il PIC: D. Ch. 24 Per programmare il PIC: Scrivere il file source con Blocco Note o altro editor(se si usa word salvare come XX.txt) e salvarlo come XXX.ASM Copiare il file XXX.ASM nella cartella Pasmwin Lanciare il programma Mpasmwin (file exe ); nella finestra cercare il file XXX.ASM (Browse) e cliccare su Assemble. Verranno creati i file: XXX.COD XXX.ERR XXX.HEX XXX.LST Controllare il file ERR e correggere eventuali errori. Inserire il PIC sul programmatore e collegarlo sulla seriale del PC (COM1, COM2,.) Lanciare NTPicprog (Scegliere COM1 o COM2 Scegliere XT e PuT Eseguire i comandi: Erase Load (il file XXX.HEX) Write Prelevare infine il PIC dal programmatore ed inserirlo nel circuito a cui è destinato.

25 Hardware standard di base Fig. (a) Fig. (b) D. Ch. 25 Per presentare lo schema hardware applicativo di base faremmo riferimento allo schema funzionale del PIC; Questa è una parte comune a tutti i PIC della famiglia. La parte standard riguarda la parte sinistra dello schema che sostanzialmente contiene le circuiterie del Clock e del Reset. Come circuito di Clock, abbiamo già anticipato, utilizzeremmo un quarzo a 4MHz. Nella tabella di figura (b) sono riportati i valori consigliati per i condensatori nel caso si intenda usare un cristallo diverso. Il circuito di Reset è un classico circuito RC; i valori in figura sono indicativi: il condensatore deve essere del ordine di qualche centinaio di nf mentre il Resistore di qualche decina di KOhm.

26 Come collegare una semplice Periferica D. Ch. 26 Il collegamento delle periferiche Le 13 linee del PIC dedicate all I/O presentano livelli compatibili TTL e sono in grado, quando configurate in uscita, di erogare correnti (di source e drain) fino a 25 ma. Prestare attenzione al pin RA4 al quale bisogna collegare un resistore di pull up esterno se lo si vuole utilizzare come uscita perché è open drain. In figura sono riportati alcuni possibili schemi applicativi per collegare un LED, uno switch, un relè. Sulle linee del PIC può essere collegata qualsiasi periferica, ovviamente opportunamente interfacciata.

27 Il REGISTER FILE ( è un insieme di locazioni RAM denominate registri ) Registri speciali 48 byte direttamente indirizzabili Per accedere alla pag 1 e per uscirne, si fa uso del bit ausiliario RP0: bsf STATUS, RP0 bcf STATUS, RP0 D. Ch. 27 Riportiamo qui un riepilogo dei registri speciali del PIC perché saranno coinvolti nella stesura dei software applicativi.

28 Procedure software di base 1/4 bsf STATUS, RP0 movlw B movwf TRIS B bcf STATUS, RP0 Fig. ( a ) loop call delay btfsc PORT B,0 goto spegni bsf PORT B,0 goto loop spegni bcf PORTB, 0 bsf PORT B, 0 bcf PORT B, 0 goto loop Fig. (c ) Fig. ( b ) D. Ch. 28 Primi passi Per eseguire i primi passi nella programmazione assembler assumiamo di voler far lampeggiare (ininterrottamente) un LED applicato sul pin RB0 del PIC. Con la procedura di figura (a) abbiamo configurato in uscita il bit 0 del PORT B; la prima istruzione bsf STATUS,RP0 fa accedere al banco 1 dove alloggia TRISB; la seconda e la terza istruzione caricano la parola binaria nel registro TRISB (tramite il registro W) configurando tutti i pin in input tranne l RB0 che è messo in output; l ultima istruzione fa ritornate al banco 0. Le due istruzioni di figura (b), in ordine, settano e resettano il bit 0 del PORT B cosi che il LED collegato potrà accendersi e spegnersi. A questo punto facciamo due osservazioni: 1) bisogna testare lo stato del pin, in modo da far accendere il LED se è spento e farlo spegnere se è acceso, altrimenti si rischia di tenerlo sempre acceso o sempre spento (istruzione btfsc Port B, 0 ); 2) affinchè il lampeggiamento sia visibile bisognerà lasciar acceso e spento il LED per un tempo sufficientemente prolungato (istruzione call delay ). Queste due problematiche vengono risolte nel listato della figura (c). In questa procedura notiamo anche il concetto di label (etichetta), di loop, del uso di salto (goto) e di chiamata di una subroutine (call delay).

29 Procedure software di base 2/4 ( Delay ) COUNT = 0 DECREMENTA COUNT NO SI SI RETURN Clrf COUNT Dec Decfsz COUNT, 1 Goto Dec Return Fig. (b) Fig. (a ) D. Ch. 29 Per creare un ritardo, problema molto frequente in programmazione, si usa far eseguire ripetutamente per un certo numero di volte una o più istruzioni. In figura (a) consideriamo il generico registro COUNT di 8 bit (una locazione della RAM), lo carichiamo con B e lo facciamo decrementare fin quando, passando da 255, 254,.., non arrivi di nuovo a 0. Al termine saranno eseguite 256 istruzioni decfsz F (da 1µs) e 256 istruzioni goto (da 2 µs) per un tempo totale di circa 770 µs.

30 Procedure software di base 3/4 COUNT+1 = 0 N0 COUNT = 0 DECREM. COUNT = 0 SI DECREM. COUNT+1 = 0 Dec Clrf COUNT+1 Clrf COUNT decfsz COUNT,1 goto Dec decfsz COUNT+1,1 goto Dec Return Fig.( b ) N0 Fig. ( a ) SI RETURN D. Ch. 30 In figura (a) sono eseguiti due cicli annidati che creano un ritardo di circa 0,5 sec sufficienti affinchè l occhio umano percepisca il lampeggiamento (0,5 s acceso e 0,5 s spento).

31 Procedure software di base 4/4 (direttive obbligatorie) PROCESSOR 16F84 RADIX DEC INCLUDE P16F84.INC LED EQU 0 ORG 0CH COUNT RES 2 ORG 00H D. Ch. 31 Le direttive non sono istruzioni e non hanno un corrispondente codice operativo; sono delle semplici dichiarazioni che contengono indicazioni per il compilatore. PROCESSOR 16F84: indica al compilatore qual è il processore in uso; RADIX DEC: informa il compilatore che i numeri senza indicazione specifica vanno intesi decimali; INCLUDE P16F84.INC: informa il compilatore che troverà incluso nel source anche il file P16F84.INC ; LED EQU 0: questa direttiva significa che la parola LED equivale a 0; potrebbe essere usata nello scrivere bsf PORTB, LED anziché bsf PORTB, 0 (e analogamente bcf PORTB, LED anziché bcf PORTB, 0 ). Questo facilita la correzione del programma nel caso volessimo spostare il Led su un altro pin del PORT. COUNT RES 2: significa che vogliamo riservare 2 locazioni di RAM per i due contatori (COUNT e COUNT+1) a partire dall indirizzo 0CH dichiarato con la direttiva ORG 0CH. Le locazioni riservate saranno 0Ch e 0DH; ORG 00H: indica al compilatore l origine (inizio) della EEPROM memoria di programma.

32 PROCESSOR 16F84 RADIX DEC INCLUDE "P16F84.INC LED EQU 0 ORG 0CH Count RES 2 ;Reset Vector Lampeggiatore ad un LED ;Subroutine Delay clrf Count clrf Count+1 Dec decfsz Count,1 ;Punto di inizio del programma al reset della CPU goto Dec ORG 00H decfsz Count+1,1 bsf STATUS,RP0 goto Dec movlw B return movwf TRISB END movlw B movwf TRISA bcf STATUS,RP0 bsf PORTB,LED Loop call Delay btfsc PORTB,LED goto Spegni bsf PORTB,LED goto Loop Spegni bcf PORTB,LED D. Ch. 32 goto Loop Le scritte precedute da ; sono commenti e non vengono prese in considerazione dal compilatore. L istruzione return chiude la subroutine e fa tornare nel main program mentre l istruzione END chiude tutto il programma.

33 Esercizio applicativo 4 SW e 4 LED D. Ch. 33 Esercizio applicativo Sia dato il circuito rappresentato in figura: Si hanno quattro LED e quattro switch applicati al PORT B del PIC 16F84; Scrivere un programma in assembler che testi lo stato degli interruttori e faccia accendere i LED in modo che ogni LED si accenda solo se viene premuto il suo corrispondente SW. Programmare il PIC e realizzare l applicativo.

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

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

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

Programmazione del microcontrollore PIC 16F84

Programmazione del microcontrollore PIC 16F84 Programmazione del microcontrollore PIC 16F84 2 Indice Capitolo 1: Set di istruzioni del PIC 16F84 1.1 Descrizione sintetica 1.2 Simbologia adottata 1.3 Sintassi 1.4 Descrizione completa Capitolo 2: Variabili,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

IL DSP - Digital Signal Processor

IL DSP - Digital Signal Processor IL DSP - Digital Signal Processor Processore dei segnali digitali 1. Generalità Il Digital Signal Processor (DSP, processore di segnali digitali) è un particolare tipo di microprocessore, ottimizzato per

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

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

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

Un micro FPGA. skills. come il core ABC. il core ABC sia la suite di sviluppo di AC-

Un micro FPGA. skills. come il core ABC. il core ABC sia la suite di sviluppo di AC- skills di Un micro FPGA che parte dall ABC Quando in molti progetti è necessario unire alla logica programmabile la funzionalità di un piccolo microprocessore le soluzioni semplici come il core ABC possono

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

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

La macchina di Von Neumann. Central Processing Unit (CPU) Elementi base. Architettura computer. Bus di sistema MEMORIA CENTRALE PERIFERICHE A B INTR

La macchina di Von Neumann. Central Processing Unit (CPU) Elementi base. Architettura computer. Bus di sistema MEMORIA CENTRALE PERIFERICHE A B INTR Architettura di un computer La macchina di Von Neumann Architettura organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton.

Dettagli

Lezione 3: Architettura del calcolatore

Lezione 3: Architettura del calcolatore Lezione 3: Architettura del calcolatore Architettura di Von Neumann BUS, CPU e Memoria centrale Ciclo di esecuzione delle istruzioni Architettura del calcolatore Il calcolatore è: uno strumento programmabile

Dettagli

Microcontrollore. Ora invece passiamo a spiegare come funzionano i convertitori A/D interni ai microcontrollori

Microcontrollore. Ora invece passiamo a spiegare come funzionano i convertitori A/D interni ai microcontrollori Microcontrollore Il microcontrollore è un sistema a microprocessore completo,integrato in un unico chip, progettato per avere la massima autosufficienza e versatilità. Infatti visto il loro prezzo esiguo,

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

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

Il Microcontrollore. Microcontrollore PIC

Il Microcontrollore. Microcontrollore PIC Il Microcontrollore Per realizzare un automatismo l elettronica ci mette a disposizione diverse possibilità. La prima, la più tradizionale, si basa su componenti transistor, mosfet, integrati con porte

Dettagli

Corso di Sistemi di Elaborazione A.A. 2008/2009

Corso di Sistemi di Elaborazione A.A. 2008/2009 Università di Ferrara Facoltà di Ingegneria Docente: Ing. Massimiliano Ruggeri Mail: m.ruggeri@imamoter.cnr.it mruggeri@ing.unife.it Tel. 0532/735631 Corso di Sistemi di Elaborazione A.A. 2008/2009 Durata:

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

E&E E&E. Elettronica E&E. Elettronica. Per il secondo biennio. Edizione Riforma. Scienze e Tecnologia. E. Cuniberti L. De Lucchi.

E&E E&E. Elettronica E&E. Elettronica. Per il secondo biennio. Edizione Riforma. Scienze e Tecnologia. E. Cuniberti L. De Lucchi. E&E_b_pack_Layout 0// 5.44 Pagina Il corso B COMPOSIIONE DEL CORSO Volume A + Volume B + DVD-Rom ISBN 978-88-494-738-8 E&E Offline Volume A + Volume B + DVD-Rom ISBN 978-88-494-739-5 B Edizione Riforma

Dettagli

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 11/01/08 Nota Questi lucidi sono

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

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

Architetture DSP. Capitolo 6

Architetture DSP. Capitolo 6 Capitolo 6 Architetture DSP Un convertitore analogico-digitale (ADC) trasforma un segnale a tempo continuo in una sequenza di bit; viceversa un convertitore digitale-analogico (DAC) trasforma una sequenza

Dettagli

Capitolo 4. Realizzazione del sistema di controllo

Capitolo 4. Realizzazione del sistema di controllo Realizzazione del sistema di controllo 4.1 Sensori I sensori utilizzati sono di varia natura: elettronici elettromeccanici I sensori elettromeccanici sono i più lenti tra i due, quindi sono usati per le

Dettagli

progettare & costruire di GIOVANNI DI MARIA

progettare & costruire di GIOVANNI DI MARIA progettare & costruire di GIOVANNI DI MARIA Interfacciare il PC con il mondo esterno LA PORTA SERIALE DEL PC in uscita con il PIC In questa puntata interfacceremo il Personal Computer con le nostre apparecchiature

Dettagli

Anatomia e fisiologia del computer: l architettura del calcolatore

Anatomia e fisiologia del computer: l architettura del calcolatore Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 01 Anatomia e fisiologia del computer: l architettura del calcolatore Marzo 2009 L architettura del calcolatore 1 Nota bene Alcune parti

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

Architettura di tipo registro-registro (load/store)

Architettura di tipo registro-registro (load/store) Caratteristiche principali dell architettura del processore MIPS E un architettura RISC (Reduced Instruction Set Computer) Esegue soltanto istruzioni con un ciclo base ridotto, cioè costituito da poche

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

PICLOCK. Classe 4 EA indirizzo elettronica ed elettrotecnica. Ivancich Stefano. Tecnologie e progettazione di sistemi elettrici ed elettronici

PICLOCK. Classe 4 EA indirizzo elettronica ed elettrotecnica. Ivancich Stefano. Tecnologie e progettazione di sistemi elettrici ed elettronici PICLOCK Classe 4 EA indirizzo elettronica ed elettrotecnica Ivancich Stefano Tecnologie e progettazione di sistemi elettrici ed elettronici Istituto tecnico C. Zuccante Mestre A.S. 2013/2014 progetto n

Dettagli

Calcolatori Elettronici L-A

Calcolatori Elettronici L-A 1 Calcolatori Elettronici L-A Obiettivo del modulo è lo studio dei seguenti aspetti dell hardware dei calcolatori: l architettura i principi di funzionamento le tecniche di progettazione l impatto dell'architettura

Dettagli

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing

Dettagli

Lezione 16: L architettura LC-3

Lezione 16: L architettura LC-3 Lezione 16: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 15 Maggio 2013 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

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

' Z80:' archite:ura'ed'esperienze'di' laboratorio' ' P.'Vicini' ' P.Vicini'('Lab.'Sistemi'e'Segnali' 1'

' Z80:' archite:ura'ed'esperienze'di' laboratorio' ' P.'Vicini' ' P.Vicini'('Lab.'Sistemi'e'Segnali' 1' ' Z80:' archite:ura'ed'esperienze'di' laboratorio' ' P.'Vicini' ' P.Vicini'('Lab.'Sistemi'e'Segnali' 1' Calcolatori Prodotto di una tecnologia estremamente vitale con alto impatto economico e sociale Tecnologia

Dettagli

CAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm

CAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm Struttura interna del sistema Operativo Linux CAP. 4: Aspetti generali del Sistema Operativo Linux CAP. 5: Funzionalità del calcolatore l http://home.dei.polimi.it/silvano/acso.htm Funzionalità del Sistema

Dettagli

CALCOLATORI ELETTRONICI

CALCOLATORI ELETTRONICI CALCOLATORI ELETTRONICI Giuseppe Coldani Tel. 0382 985678 e-mail: giuseppe.coldani@unipv.it giuseppe.coldani@tin.it orario delle lezioni: Mercoledì 14.00-18.00 orario di ricevimento: su appuntamento 1

Dettagli

APPUNTI FAMIGLIA PIC16F87X SUI MICROCONTROLLORI. prof. Duilio De Marco, prof. Ercole Mitrotta, prof. Giorgio Tombola

APPUNTI FAMIGLIA PIC16F87X SUI MICROCONTROLLORI. prof. Duilio De Marco, prof. Ercole Mitrotta, prof. Giorgio Tombola APPUNTI SUI MICROCONTROLLORI FAMIGLIA PIC16F87X prof. Duilio De Marco, prof. Ercole Mitrotta, prof. Giorgio Tombola 1 Indice generale I MICROCONTROLLORI... 4 La famiglia PIC16F87X... 4 Riassunto caratteristiche

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

Le componenti fisiche di un computer: l hardware

Le componenti fisiche di un computer: l hardware Le componenti fisiche di un computer: l hardware In questa sezione ci occuperemo di come è strutturato e come funziona l hardware di un computer. In particolare, nella Sezione ci occuperemo del punto di

Dettagli

l progetto descritto in queste pagine è un programmatore multifunzione adatto a tutti (o quasi)

l progetto descritto in queste pagine è un programmatore multifunzione adatto a tutti (o quasi) Elettronica Innovativa di Sandro Reis Completo sistema di programmazione per tutti i moderni microcontrollori Microchip con memoria programma di tipo Flash, cancellabile elettricamente. La scheda dispone

Dettagli

La Macchina Virtuale

La Macchina Virtuale Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2008/2009 Docente: ing. Salvatore

Dettagli

Versione A: caricamento ed esecuzione del codice

Versione A: caricamento ed esecuzione del codice Versione A: caricamento ed esecuzione del codice «Nella sua prima versione, la CPU si compone soltanto di registri utili ad accedere alla memoria per leggere il codice operativo da eseguire, come di vede

Dettagli

Il processore SHARC ADSP-21262

Il processore SHARC ADSP-21262 2 Il processore SHARC ADSP-21262 Il processore ADSP-21262, utilizzato nel presente lavoro, appartiene ad una vasta famiglia di Digital Signal Processors della Analog Devices, denominata SHARC, particolarmente

Dettagli

Introduzione ai ai Microcontroller

Introduzione ai ai Microcontroller Corso di Robotica - Prof.ssa Cecilia Laschi 26/04/2007 Introduzione ai ai Microcontroller Dr. Virgilio Mattoli (mattoli@crim.sssup.it) Processori Embedded I microprocessori embedded sono contenuti in tutto

Dettagli

Introduzione ai Microcontrollori Workshop 08/06/2011 Dott.Ing.Marco Frosini Qprel srl Dott.Ing.Lorenzo Giardina Qprel srl Slide 1 di 27 L'elettronica digitale PRIMA dei microcontrollori Elemento base:

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

Fondamenti di informatica: un po di storia

Fondamenti di informatica: un po di storia Fondamenti di informatica: un po di storia L idea di utilizzare dispositivi meccanici per effettuare in modo automatico calcoli risale al 600 (Pascal, Leibniz) Nell ottocento vengono realizzati i primi

Dettagli

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Il calcolatore elettronico Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Introduzione Un calcolatore elettronico è un sistema elettronico digitale programmabile Sistema: composto da

Dettagli

I sistemi di elaborazione

I sistemi di elaborazione 2 I sistemi di elaborazione 2.0 I sistemi di elaborazione c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 2.0 0 2 I sistemi di elaborazione Architettura

Dettagli

SISTEMI A MICROPROCESSORE

SISTEMI A MICROPROCESSORE Istituto Tecnico Industriale Statale EUGENIO BARSANTI 80038 POMIGLIANO D ARCO (NA) Via Mauro Leone, 105 Specializzazioni: Meccanica Tel. (081) 8841350 - Fax (081) 8841676 Elettrotecnica e Automazione Distretto

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

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

Z80: archite:ura ed esperienze di laboratorio. P. Vicini. P.Vicini - Lab. Sistemi e Segnali

Z80: archite:ura ed esperienze di laboratorio. P. Vicini. P.Vicini - Lab. Sistemi e Segnali Z80: archite:ura ed esperienze di laboratorio P. Vicini 1 Calcolatori Prodotto di una tecnologia estremamente vitale con alto impatto economico e sociale Tecnologia pervasiva: calcolo, controllo,......

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

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

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione RCHITETTUR DI UN ELORTORE MCCHIN DI VON NEUMNN Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for dvanced Study, anni 40). UNITÀ FUNZIONLI fondamentali Processore (CPU) Centrale

Dettagli

Architettura del Calcolatore. Prof.Ing.S.Cavalieri

Architettura del Calcolatore. Prof.Ing.S.Cavalieri Architettura del Calcolatore Prof.Ing.S.Cavalieri 1 Evoluzione: tecnologia Sistemi Meccanici Sistemi Elettro-Meccanici (uso di Valvole) Sistemi Interamente Elettronici (basati su Valvole) Sistemi Interamente

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

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

Introduzione ai Microcontroller

Introduzione ai Microcontroller Corso di Percezione Robotica - Prof.ssa Cecilia Laschi 23/04/2009 Introduzione ai Microcontroller Dr. Virgilio Mattoli (mattoli@crim.sssup.it) Processori Embedded I microprocessori embedded sono contenuti

Dettagli

Lezione n.9. Introduzione al linguaggio macchina

Lezione n.9. Introduzione al linguaggio macchina Lezione n.9 Autore:Luca Orrù 1 Sommario Esecuzione delle istruzioni Architettura interna ed esterna Linguaggio assembler e modi d indirizzamento Consideriamo ora la singola istruzione e la scomponiamo

Dettagli

Microprocessori, Microcontrollori e DSP (Digital Signal Processors)

Microprocessori, Microcontrollori e DSP (Digital Signal Processors) Microprocessori, Microcontrollori e DSP (Digital Signal Processors) Il microprocessore è un dispositivo integrato digitale che può essere programmato con una serie di istruzioni per effettuare una specifica

Dettagli

Von Neumann. John Von Neumann (1903-1957)

Von Neumann. John Von Neumann (1903-1957) Linguaggio macchina Von Neumann John Von Neumann (1903-1957) Inventore dell EDVAC (Electronic Discrete Variables AutomaFc Computer), la prima macchina digitale programmabile tramite un soiware basata su

Dettagli

ITIS MAX PLANCK ( Lancenigo di Villorba )

ITIS MAX PLANCK ( Lancenigo di Villorba ) ITIS MAX PLANCK ( Lancenigo di Villorba ) CORSO SERALE ( CLASSE 5^ ZTE ) Area di progetto anno scolastico 2006/2007 Allievi : Enrico De Marchi-Alessio Borin Tutor : Prof. Italo Zaniol GIUOCO DEL BINGO

Dettagli

Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) - Arduino è orientato all'applicazione, - Permette di provare, partendo dal piccolo e crescendo pezzo per pezzo (sviluppo modulare); - Lo sviluppo è aiutato da una enorme community online con esempi e

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

K8048 PIC PROGRAMMER BOARD

K8048 PIC PROGRAMMER BOARD K8048 PIC PROGRAMMER BOARD Velleman Kits Welcome to the exciting world of Velleman Kits. Velleman Kit is known all over the world for our High Quality electronic kits. Our range goes from easy to build

Dettagli

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica prof. ing. Corrado Santoro Schema a blocchi di una CPU Arithmetic Logic Unit Control Unit Register File BUS Control

Dettagli

Microcontrollori. Automazione. Vincenzo Suraci 28/10/2015

Microcontrollori. Automazione. Vincenzo Suraci 28/10/2015 Microcontrollori Automazione 28/10/2015 Vincenzo Suraci STRUTTURA DEL NUCLEO TEMATICO MICROCONTROLLORI CARATTERISTICHE GENERALI PERIFERICHE INTEGRATE PROGRAMMAZIONE PROGRAMMABLE INTERFACE COMPUTER (PIC)

Dettagli

Arethusa V22 User manual

Arethusa V22 User manual Arethusa V22 User manual Parsic Italia Via Santerno,8 48010 Savio di Cervia Sito web : www.parsicitalia.it www.parsicitalia.com Copyright e-mail info@parsicitalia.com Copyright Nessuna parte del presente

Dettagli

eln Elettronica E. Cuniberti L. De Lucchi Elettronica Componenti analogici e programmabili Scienze e Tecnologie

eln Elettronica E. Cuniberti L. De Lucchi Elettronica Componenti analogici e programmabili Scienze e Tecnologie eln 2 Elettronica E. Cuniberti L. De Lucchi Elettronica Componenti analogici e programmabili Scienze e Tecnologie E. Cuniberti L. De Lucchi Elettronica Componenti analogici e programmabili eln 2 Scienze

Dettagli

Sistemi Elettronici #1. Sistemi Elettronici. Definizioni e concetti generali. Sistemi Elettronici Laurea Triennale in Elettronica A.A.

Sistemi Elettronici #1. Sistemi Elettronici. Definizioni e concetti generali. Sistemi Elettronici Laurea Triennale in Elettronica A.A. Sistemi Elettronici Definizioni e concetti generali Concetti generali Il microcontrollore è un dispositivo che raggruppa su un unico chip un processore ed un insieme di dispositivi CPU Memoria RAM Memoria

Dettagli

Programma ARCHITETTURA DI UN ELABORATORE MACCHINA DI VON NEUMANN CPU & MEMORIA UNITÀ DI ELABORAZIONE (CPU) Questa settimana:

Programma ARCHITETTURA DI UN ELABORATORE MACCHINA DI VON NEUMANN CPU & MEMORIA UNITÀ DI ELABORAZIONE (CPU) Questa settimana: Progma La settimana scorsa: cos è l informatica? cos è un algoritmo? cos è un progma? come si descrive un algoritmo? di cosa si compone un? che cos è il software? a cosa serve? Questa settimana: qual è

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

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi a.a. 2010/2011 Francesco Fontanella Il Sistema Operativo Sistema Operativo 2 Il Sistema Operativo Il Sistema Operativo è uno strato

Dettagli

ARCHITETTURA DELL ELABORATORE

ARCHITETTURA DELL ELABORATORE 1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOY ARCHITETTURA DELL ELABORATORE Prof. G. Ciaschetti 1. Tipi di computer Nella vita di tutti giorni, abbiamo a che fare con tanti tipi di computer, da piccoli o piccolissimi

Dettagli

CORSO DI FORMAZIONE AS 2010/11. I MICROCONTROLLORI e ARDUINO. DOCENTE: Prof. Francesco Contalbi

CORSO DI FORMAZIONE AS 2010/11. I MICROCONTROLLORI e ARDUINO. DOCENTE: Prof. Francesco Contalbi CORSO DI FORMAZIONE IPSIA CASTIGLIANO AS 2010/11 I MICROCONTROLLORI e ARDUINO DOCENTE: Prof. Francesco Contalbi INTRODUZIONE E GENERALITA prof. Francesco Contalbi 2 Perché i Microcontrollori? Sono usatissimi

Dettagli

Il Personal Computer

Il Personal Computer Il Personal Computer 18 Hardware 1 Hardware: componenti fisiche dell elaboratore; la forma e le prestazioni dell hardware variano in funzione del tipo di elaboratore Principali componenti hardware: unità

Dettagli