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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dettagli

INTRODUZIONE 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

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

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

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

Dettagli

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

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

Dettagli

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

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

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

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

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

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

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

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

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

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

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

DISPLAY LCD HD44780U(LCD-II)

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

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Architettura dei calcolatori I parte Introduzione,

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

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann Elementi di Informatica e Programmazione Architettura del calcolatore (prima parte) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Problema:

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Architettura dei calcolatori Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

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

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

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

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

ARCHITETTURA DI UN PERSONAL COMPUTER

ARCHITETTURA DI UN PERSONAL COMPUTER ARCHITETTURA DI UN PERSONAL COMPUTER Processore Tastiera Mouse CD-ROM Bus Memoria FD HD Stampante La struttura logica Fisicamente l unità centrale è costituita da:... la gabbia per le schede (rack)...

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

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

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

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

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

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

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

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

release 3 Il microcontrollore PIC16F877A di Ippolito Perlasca Presentazione

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

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

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

Dettagli

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

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

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

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

Dettagli

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

MACCHINA DI VON NEUMANN

MACCHINA DI VON NEUMANN I seguenti appunti non hanno la pretesa di essere esaustivi, ma hanno l unico scopo di illustrare in modo schematico i concetti necessari allo sviluppo del programma di Informatica della 1D del Liceo Scientifico

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

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

1.4a: Hardware (Processore)

1.4a: Hardware (Processore) 1.4a: Hardware (Processore) 2 23 nov 2011 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Ediz. Fino alla III : cap. 3.8, 3.9 IV ediz.: cap. 2.6, 2.7 Questi lucidi 23 nov 2011

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

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

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

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

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

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

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

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

Macchina di von Neumann

Macchina di von Neumann Il processore PD32 Macchina di von Neumann Unità di Ingresso Memoria di lavoro Unità di Uscita Unità di Calcolo Unità di Controllo Suddivisione SCA-SCO Unità di Ingresso Memoria di lavoro Unità di Uscita

Dettagli

Capitolo 4: Progettazione e realizzazione dell hardware e del software

Capitolo 4: Progettazione e realizzazione dell hardware e del software Progettazione e realizzazione di un trasmettitore infrarosso per ricevitori X-10 45 Capitolo 4: Progettazione e realizzazione dell hardware e del software 4.1 Introduzione Noto il protocollo Marmitek,

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

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

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

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

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

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

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

Parte II.2 Elaboratore

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

Dettagli

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

Architettura di un calcolatore: introduzione

Architettura di un calcolatore: introduzione Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

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

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

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

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

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

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

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

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

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

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

Appunti di Sistemi e Automazione

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

Dettagli