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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

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

2 HARDWARE DEL PIC Il PIC6F684 (PIC=Peripheral Interface Controller=Controllore di interfaccia periferica) è un microcontrollore RISC (Reduced Instruction Set Computer = Computer con Set di Istruzioni Ridotto) con un set di sole 35 istruzioni. La sua memoria programma è separata dalla memoria dati, che ha estensione 8 bit. Questa separazione permette l utilizzo di una memoria programma con word a 4 bit. Grazie a ciò tutte le istruzioni sono codificate con una sola word e quindi vengono eseguite in un solo ciclo. Di conseguenza le dimensioni dei programmi risultano ridotte e la velocità esaltata rispetto ad altre famiglie di microchip. Il contenitore ha 4 pin: V DD RA5/TCKI/OSC/CLKIN RA4/AN3/TG/OSC2/CLKOUT RA3/MCLR/V PP RC5/CCP/PA RC4/C2OUT/PB RC3/AN7/PC V SS RA0/AN0/CIN+/ICSPDAT/ULPWU RA/AN/CIN-/V REF/ICSPCLK RA2/AN2/T0CKI/INT/COUT RC0/AN4/C2IN+ RC/AN5/C2IN- RC2/AN6/PD Il significato dei pin è descritto nella seguente tabella: NOME FUNZIONE DESCRIZIONE NOME FUNZIONE DESCRIZIONE VDD VDD Alimentazione VSS VSS massa Porta I/O con pull-up RA0/AN0/CIN+/I Porta I/O con pull-up RA5/TCKI/ OSC/CLKIN RA5 programmabile e interrupt per CSPDAT RA0 programmabile e interrupt per transizione /ULPWU transizione TCKI clock Timer AN0 input canale 0 A/D RA4/AN3/TG/ OSC2/CLKOUT RA3/MCLR/VPP OSC oscillatore al quarzo CIN+ ingresso comparatore CLKIN ingresso clock esterno, connessione oscillatore RC ICSPDAT I/O dati programmazione seriale RA4 Porta I/O con pull-up input potenza ultra-bassa wakeup programmabile e interrupt per ULPWU transizione AN3 input canale 3 A/D Porta I/O con pull-up RA/AN/CIN- RA programmabile e interrupt per /VREF/ICSPCLK transizione TG porta Timer AN input canale A/D OSC2 oscillatore al quarzo CIN- input comparatore CLKOUT uscita f OSC/4 VREF tensione di riderimento estena A/D RA3 MCLR input PortA con interrupt per transizione clear principale con pull-up interno RA2/AN2/T0CKI/I NT/COUT ICSPCLK clock programmazione seriale Si riporta di seguito lo schema a blocchi, con indicazione dei pin. La CPU (Central Processing Unit = Unità Centrale di Elaborazione) è il cervello del microcontrollore, riceve le istruzioni dalla memoria flash, attraverso il Bus Programma. Le istruzioni sono selezionate dal Program Counter PC. La CPU decodifica l istruzione, ovvero interpreta il suo significato e impartisce i comandi per eseguirla. In questo compito è supportata dal registro Accumulatore WREG, centro nevralgico per la circolazione dei dati e dalla ALU (Arithmetic and Logic Unit = Unità Aritmetico Logica), centralina di calcolo matematico. RA2 Porta I/O con pull-up programmabile e interrupt per transizione VPP tensione di programmazione AN2 input canale 2 A/D RC5/CCP/PA RC5 I/O PORTC T0CKI input clock Timer 0 CCP ingresso cattura/uscita confronto INT interrupt esterno PA uscita PWM COUT output comparatore RC4/C2OUT/ PB RC4 I/O PORTC RC0/AN4/C2IN+ RC0 I/O PORTC C2OUT uscita comparatore 2 AN4 input canale 4 A/D PB uscita PWM C2IN+ input comparatore 2 RC3/AN7/PC RC3 I/O PORTC RC/AN5/C2IN- RC I/O PORTC AN7 input canale 7 A/D AN5 input canale 5 A/D PC uscita PWM C2IN- input comparatore 2 RC2/AN6/PD RC2 I/O PORTC AN6 PD input canale 6 A/D uscita PWM

3 La RAM contiene i File Registers (Registri Archivio), che conservano l impronta del sistema. Se la CPU è il cervello del sistema, i fili register ne sono il cuore. I file register di tipo core contengono informazioni che disciplinano il comportamento del sistema nel suo insieme. I file register di tipo periferica mantengono memorizzate le informazioni di configurazione delle periferiche. Questi registri sono volatili, quindi vengono programmati di volta in volta. I dati di configurazione delle periferiche sono trasmessi attraverso il Bus Dati, così come i dati utili manipolati. I dati da conservare possono essere salvati sulla EEPROM. Non esiste un vero e proprio Bus Indirizzi. La RAM riceve l indirizzo di registro dalla CPU e la Flash dal PC. La EEPROM riceve l indirizzo dal bus dati e lo salva entro un registro dedicato, prima di ricevere il dato. Come tradizione la CPU gestisce l istruzione di programma in due fasi: la fase di Fetch e quella di Execute. Nella fase di fetch avviene il prelievo dell istruzione dalla memoria (fetch=ricerca), in quella di execute ha luogo l esecuzione vera e propria del comando impartito dall istruzione. Nel PIC è possibile una parziale sovrapposizione delle due fasi (Pipeline), con risparmio di tempo e conseguente aumento della velocità. Grazie alla separazione tra Bus Programma e Bus Dati, mentre è ancora in corso l esecuzione, la quale coinvolge il bus dati, la CPU può iniziare la lettura dell istruzione successiva, che coinvolge il bus programma. OSC/CLKIN OSC2/CLKOUT CPU 3 PC T0CKI TCKI TG CCP/PA PB PC PD CIN- CIN+ COUT C2IN- C2IN+ C2OUT RAM 28 bytes file registers Timer 0 Timer Timer 2 ECCP 2 comparatori analogici e riferimento Cat / Comp / PWM Progr Seriale IC Il chip incorpora le seguenti periferiche: B U S D A T I 8 4 Bus Programma EEPROM 256 bytes dati PORTA PORTC Convertitore Analogico Digitale INT flash 2K 4 memoria programma RA0 RA RA2 RA3 RA4 RA5 RC0 RC RC2 RC3 RC4 RC5 AN0 AN AN2 AN3 AN4 AN5 AN6 AN7 V REF Due porte di I/O per un totale di 2 pin con controllo individuale della direzione del dato. Le porte assicurano connessioni fisiche tra microprocessore e dispositivi esterni ad esso. Entrambe le porte dispongono di 6 terminali digitali, nella PORTC sono tutti bidirezionali, nella PORTA il terminale RA3 è solo di input. Timer0, Timer e Timer2 per la generazione di intervalli temporali. Il timer è un dispositivo basato su un registro contatore. Ad ogni quarto di periodo del clock esso incrementa il suo valore. La misurazione del contenuto del registro riflette allora una misutazione temporale utile in molte applicazioni. Convertitore Analogico Digitale A/D di risoluzione 0 bit a 8 canali di input per il dato analogico. Consente di tradurre segnali presenti sugli input analogici in formato digitale, adeguato all elaborazione matematica. Modulo con comparatori analogici. Contiene due comparatori analogici a due ingressi e una tensione nota di riferimento. Un comparatore stabilisce un confronto tra due segnali di tipo analogico, fornendo in uscita livello alto o basso, come risultato del confronto. Modulo Cattura, Compara, PWM Fornisce su quattro uscite impulsi digitali con periodo e duty cycle stabiliti programmaticamente (PWM = Pulse Width Modulation = Modulazione della Durata di Impulso). Programmazione seriale In-Circuit per la scrittura del programma con il chip nel circuito finale 2

4 Il PIC6F684 dispone di tre memorie: memoria di Programma memoria Register File memoria EEPROM MEMORIA DI PROGRAMMA PC<2:0> MEMORIA EEPROM byte 0 byte byte 2 byte 254 byte h 0h 0h FEh FFh Livello Stack Livello 2 Stack.. Livello 8 Stack Vettore di Reset Vettore di Interrupt Memoria programma 0000h 0004h 0005h 07FFh 0800h FFF Organizzazione memoria di programma La memoria di programma è di tipo flash, una memoria non volatile programmabile e cancellabile elettricamente fino a volte. Nella memoria di programma viene riversato, al momento della programmazione, il codice macchina a 4 bit. Il PIC dispone di un Program Counter PC<2:0> di 3bit, in grado di scandire una istruzione dopo l altra, puntando di volta in volta alla istruzione da eseguire. Il PC è virtualmente in grado di indirizzare 2 3 =4098byte=4k, dall indirizzo 0000h all indirizzo FFFh. Tuttavia, di questi, solo i primi 2k, da 0000h a 07FFh sono implementati. All indirizzo 0000h è collocato il vettore di reset. A questa locazione si dispone il PC al momento del reset; da qui inizia l esecuzione del programma. L indirizzo 0004h è riservato ai vettori di interrupt (vedi capitolo). E necessario mantenere vuoto questo spazio e collocare la prima istruzione del programma all indirizzo 005h. MEMORIA REGISTER FILE indirizz indiretto 00h indirizz indiretto 80h TMR0 0h OPTION_REG 8h PCL 02h PCL 82h STATUS 03h STATUS 83h FSR 04h FSR 84h PORTA 05h TRISA 85h 06h 86h PORTC 07h TRISC 87h 08h 88h 09h 89h PCLATH 0Ah PCLATH 8Ah INTCON 0Bh INTCON 8Bh PIR 0Ch PIE 8Ch 0Dh 8Dh TMRL 0Eh PCON 8Eh TMRH 0Fh OSCCON 8Fh TCON 0h OSCTUNE 90h TMR2 h ANSEL 9h T2CON 2h PR2 92h CCPRL 3h 93h CCPRH 4h 94h CCPCON 5h WPUA 95h PWMCON 6h IOCA 96h ECCPAS 7h 97h WDTCON 8h 98h CMCON0 9h VRCON 99h CMCON Ah EEDAT 9Ah Bh EEADR 9Bh Ch EECON 9Ch Dh EECON2 9Dh ADRESH Eh ADRESL 9Eh ADCON0 Fh ADCON 9Fh 20h General Purpose Registers 32 Bytes A0h BFh Registri uso Generale 96 Bytes ACCESSO 7Fh 70h-7Fh BANCO 0 BANCO F0h FFh Per questo si deve far precedere le istruzioni del programma dalla direttiva per il compilatore: org 0x005 e collocare all indirizzo 0x000 l istruzione di salto all indirizzo 0x005: org 0x000 goto 0x005 La direttiva org ha il significato di ORiGin (origine) per il programma. Sono presenti infine 8 livelli di stack (catasta) entro i quali il programma salva (push) l indirizzo di ritorno da sottoprogramma e lo ripristina (pop) all uscita dal sottoprogramma. 3

5 Organizzazione memoria Register File Register File significa Archivio Registri. E una memoria di 28 bytes 2 banchi di tipo RAM, quindi veloce ma volatile, necessaria per registrare, nel corso del programma, i dati di gestione dei dispositivi del microcontrollore e i dati manipolati dal programma. E divisa in due banchi: banco 0: spazio indirizzi 00h 7Fh banco : spazio indirizzi 80h FFh Entrambi sono selezionati dagli indirizzi base a 7 bit 00 7F. L indirizzo reale si ottiene completando l indirizzo base con il contenuto dei bit RP, RP0 del registro STATUS secondo le combinazioni: RPRP0 = 00 selezione banco 0 RPRP0 = 0 selezione banco I primi 32 byte dei banchi sono Special Function Registers (Registri Funzione Speciale) SFR. I rimanenti 96 bytes del banco 0 e solo 32 bytes del banco sono General Purpose Registers (Registri di Impiego Generale) GPR. Ogni File Register (Registro Archivio) dello spazio SFR controlla il comportamento di uno o più dispostivi del microcontrollore. Ci sono registri per la gestione del Timer, delle porte di I/O ecc. Questi saranno approfonditi ognuno in un proprio capitolo. Ogni registro dello spazio GPR può essere utilizzato liberamente per la registrazione di dati manipolati dal programma. Qui si possono memorizzare quelle che anche nei linguaggi ad alto livello sono note come variabili. Organizzazione memoria EEPROM La sigla EEPROM è l acronimo di Electrically Erasable Programmable Read Only Memory (Memoria di sola Lettura Cancellabile e Programmabile Elettricamente). E una memoria di tipo non volatile, impiegata per la conservazione di dati importanti per il processo gestito dal microcontrollore. Il suo contenuto permane anche a microcontrollore spento, pertanto può essere programmata una sola volta. Se necessario comunque è possibile cancellarla e riprogrammarla con opportune istruzioni, che agiscono elettricamente nei suoi circuiti interni, senza la necessità, come nelle EPROM, di esposizione a raggi ultravioletti per la cancellazione. La memoria è riprogrammabile di volte. Il tempo di conservazione del dato oltrepassa 40 anni. 4

6 SOFTWARE DEL PIC Set di istruzioni E composto dalle 35 istruzioni qui riportate: Mnemonico, operandi Descrizione Cicli Codice operativo di 4 bit MSB LSB Bit registro STATUS influenzati ISTRUZIONI SU FILE REGISTER ORIENTATE AL BYTE ADDWF ANDWF CLRF CLRW COMF DECF DECFSZ INCF INCFSZ IORWF MOVF MOVWF NOP RLF RRF SUBWF SWAPF XORWF f, d f, d f - f, d f, d f, d f, d f, d f, d f, d f - f, d f, d f, d f, d f, d Add W and f AND W with f Clear f Clear W Complement f Decrement f Decrement f, Skip if 0 Increment f Increment f, Skip if 0 Inclusive OR W with f Move f Move W to f No Operazione Rotate Left f through Carry Rotate Right f through Carry Subtract W from f Swap nibbles in f Exclusive OR W with f (2) (2) dfff dfff lfff 0xxx dfff dfff dfff dfff dfff dfff dfff lfff 0xx0 dfff dfff dfff dfff dfff ffff ffff ffff xxxx ffff ffff ffff ffff ffff ffff ffff ffff 0000 ffff ffff ffff ffff ffff C, DC, Z Z Z Z Z Z Z Z Z C C C, DC, Z Z ISTRUZIONI SU FILE REGISTER ORIENTATE AL BIT BCF BSF BTFSC BTFSS f, b f, b f, b f, b Bit Clear f Bit Set f Bit Test f, Skip if Clear Bit Test f, Skip if Set (2) (2) bb 0bb 0bb bb bfff bfff bfff bfff ffff ffff ffff ffff ISTRUZIONI CON LETTERALI E OPERAZIONI DI CONTROLLO ADDLW ANDLW CALL CLRWDT GOTO IORLW MOVLW RETFIE RETLW RETURN SLEEP SUBLW XORLW k k k - k k k - k - - k k Add literal and W AND literal with W Call subroutine Clear Watchdog Timer Go to address Inclusive OR literal with W Move literal to W Return from interrupt Return with literal in W Return from Subroutine Go into Standby mode Subtract W from literal Exclusive OR literal with W x 00 0kkk 0000 kkk xx xx x 00 kkkk kkkk kkkk 00 kkkk kkkk kkkk 0000 kkkk kkkk kkkk kkkk kkkk kkkk 000 kkkk kkkk kkkk 00 kkkk kkkk kkkk C, DC, Z Z TO, PD Z TO, PD C, DC, Z Z Campi codice operativo Campo Descrizione f indirizzo numerico o simbolico di un registro del register file (da 0x00 a 0x7F) W registro accumulatore b k d disposizione del bit entro un file register di 8 bit campo letterale, dato costante o etichetta selezione destinazione risultato; d=0 destinazione=w; d= destinazione= il file register f specificato nell istruzione 5

7 Il set di istruzioni del PIC6F684 è suddiviso nelle seguenti categorie: istruzioni orientate al byte istruzioni orientate al bit istruzioni letterali e di controllo Ogni istruzione, codificata con 4 bit, è ripartita in un campo codice operativo, che specifica il tipo di istruzione e un campo operando, che specifica ulteriormente il/i dati sui quali l istruzione opera. Istruzioni orientate al byte Per le istruzioni orientate al byte, f designa il nome di un operando di tipo file register, d specifica se la destinazione del risultato è W (d=0) oppure il file register stesso (d=). esempio movwf f significa copia il contenuto del registro W entro il registro f. Nella specifica istruzione, al posto dell identificatore generico f, ci sarà il nome di un qualsiasi file register. Ad esempio, ipotizzando WREG=0x3F, l istruzione: movwf TRISA copia il valore esadecimale 3F entro il registro TRISA. Si noti una importante caratteristica comune a tutte le istruzioni: gli operandi coinvolti formano parte dell istruzione, il sorgente a sinistra e la destinazione a destra. esempio incf f,d Il contenuto del registro f viene incrementato. Se d è 0 il risultato viene posto nel registro W. Se d è il risultato viene posto in f. Ad esempio, ipotizzando la variabile UNITA inizializzata a 0, l istruzione: incf UNITA, incrementa di il valore di UNITA. Una variabile è un registro utente dello spazio di memoria General Purpose Register. Per accedere a questo spazio mediante simboli anziché mediante indicazione dell indirizzo, si deve dichiarare un blocco di variabile all inizio del programma. I nomi di variabile vengono associati, nell ordine di dichiarazione, con i registri a partire dall indirizzo indicato. Ad esempio il seguente segmento: cblock 0x20 UNITA DECINE endc associa la variabile UNITA al registro 20h e la variabile DECINE all indirizzo 2h. esempio xorwf f,d Il contenuto del registro W è posto in OR esclusivo con il registro f. Se d è 0 il risultato viene posto nel registro W. Se d è il risultato viene posto in f. L utilità dell istruzione risiede nella possibilità di verificare l uguaglianza di due registri, testando il valore del flag di zero del registro STATUS. L operazione infatti influenza il flag di zero in questo modo: risultato operazione=0 Flag di zero settato Z= risultato operazione= Flag di zero resettato Z=0 Ad esempio, ipotizzando WREG=0, UNITA=0, l istruzione: xorwf UNITA,0 imposta Z=. IRP RP RP0 TO PD Z DC C Per completezza si riportano di seguito le specifiche del registro STATUS. STATUS - REGISTRO DI STATO (INDIRIZZO: 03h O 83h) riservato riservato IRP RP RP0 TO PD Z DC C bit 7-6 sono riservati e devono essere mantenuti a 0 WREG 3F + STATUS FSR TRISA TRISC ADCON0 83h 84h 85h 86h 87h Fh 0 20h General Pur pose Registers 2h 22h bit 5 bit 4 RP0: Register bank select bit (Bit di selezione del banco registri) = Banco (80h FFh) 0 = Banco 0 (00h 7Fh) TO: Time Out bit (Bit di Time-out) è posto a dopo l accensione o un istruzione CLRWDT o SLEEP è posto a 0 quando il Watchdog Timer va in Time-out 6

8 bit 3 bit 2 bit bit 0 PD: Power Down bit (Bit di Power Down) è posto a dopo un istruzione CLRWDT è posto a 0 all esecuzione dell istruzione SLEEP Z: Zero bi (Flag di Zero) è posto a quando il risultato di una operazione logica o aritmetica è zero è posto a 0 quando il risultato di una operazione logica o aritmetica è diverso da zero DC: Digital Carry/borrow bit (Bit di Riporto/prestito di una cifra) è posto a se è presente un riporto dal quarto bit della cifra meno significativa del risultato è posto a 0 se non è presente un riporto dal quarto bit della cifra meno significativa del risultato C: Carry/borrow bi (Bit di Riporto/prestito) è posto a se è presente un riporto dal bit più significativo del risultato è posto a 0 se non è presente un riporto dal bit più significativo del risultato Istruzioni orientate al bit Per le istruzioni orientate al bit, b designa il numero del bit influenzato dall operazione, mentre f rappresenta il file register nel quale il bit è collocato. esempio btfss f,b Se il bit b del registro f è 0 viene eseguita l istruzione successiva. Se il bit b del registro f è l istruzione successiva viene annullata e al suo posto viene eseguita una istruzione NOP. In altri termini in questo ultimo caso l istruzione successiva viene saltata. Questo è appunto il significato dell acronimo: btfss = Bit Test File Register Skip Set = Esegui il test del bit del file register e salta se è settato Ad esempio l istruzione: btfss STATUS,Z testa il flag di zero e salta l istruzione successiva se è settato. Si tratta di un cosiddetto salto condizionato, ovvero l inibizione del normale avanzamento all istruzione successiva di esecuzione sostituita dal salto all istruzione susseguente. Questo tipo di istruzione è fondamentale per effettuare test sul valore delle variabili. Sostituisce in pratica il costrutto if else dei linguaggi di programmazione ad alto livello, come evidenziato a fianco. Nel seguente segmento di programma ad esempio, viene effettuato l XOR tra WREG e UNITA. Se sono uguali il flag di zero risulta settato e l istruzione btfss rinvia al corpo delle istruzione relative all if. Se il flag di zero è resettato invece vengono eseguite le istruzioni relative all else. Si noti la presenza dell istruzione goto finetest, senza la quale verrebbe eseguito sia il corpo dell if che quello dell else. xorwf UNITA,0 btfss STATUS,Z goto else ; corpo istruzioni if goto finetest else ; corpo istruzioni else finetest if SI corpo istruzioni if WREG=UNITA?.. NO else corpo istruzioni else Istruzioni letterali e di controllo Nelle istruzioni letterali e di controllo k rappresenta un dato immediato come un numero o una lettera, oppure una etichetta di salto o una costante dichiarata. Le costanti vengono dichiarate all inizio del programma con la clausola #define. Ad esempio; #define PortA_input B'00' dichiara una costante di nome PortA_input alla quale viene assegnato il valore binario 00. Per dichiarare un valore in formato esadecimale si deve utilizzare il modificatore 0x e in decimale il punto. Ad esempio le due seguenti dichiarazioni sono equivalenti alla precedente: #define PortA_input 0x3F #define PortA_input.63 Il vantaggio nell uso delle costanti è dovuto alla possibilità di utilizzare simboli al posto di sequenze complesse di numeri. esempio movlw k 7

9 Il letterale k viene copiato nel registro W. Ad esempio: movlw.0 copia in WREG il numero 0 movlw PortA_input copia in WREG il numero rappresentato dalla costante PortA_input movlw a copia in WREG la lettera a, memorizzata come carattere ASCII numero.6h. Tra le istruzioni di controllo si annoverano le istruzioni di salto e di chiamata a sottoprogramma. esempio goto k Il GOTO è un salto incondizionato. k viene posto in modo immediato nei primi undici bit <0:0> della parte bassa del Program Counter PCL. I bit alti vengono copiati dal PCLATH<4:3> nella parte alta PCH. Il Program Counter, ovvero contatore di programma, è un registro di 3 bit che conserva l indirizzo dell istruzione in corso di esecuzione. Mantenere memorizzata questa informazione è fondamentale per tenere traccia delle istruzioni eseguite e poter avanzare regolarmente nella sequenza di esecuzione. Il PC punta dunque all istruzione corrente; dopo la sua esecuzione, il PC viene automaticamente incrementato per puntare all istruzione successiva, come descritto a fianco. PC PC+ Spesso serve saltare ad una locazione del programma PC diversa da quella successiva, per questo è necessario introdurre un salto incondizionato con una istruzione goto. Incondizionato significa che il salto viene fatto in tutti i casi, indipendentemente dallo stato del microcontrollore. Quando incontra una istruzione goto k il sistema sostituisce k al posto dei primi bit del PC, alterando il suo valore. Come conseguenza diretta si ha l esecuzione al passo successivo dell istruzione di indirizzo k, come descritto a fianco C GOTO 0xc goto fine MOVLW 0 movlw A0 MOVWF 0x20 movwf UNITA 0000A 3000 MOVLW 0 movlw B 0A MOVWF 0x2 movwf DECINE fine 0000C 008 RETURN return Nel segmento di programma sopra riportato, nel quale è presente a sinistra la versione disassemblata, cioè con i veri codici di memoria al posto dei simboli, si vede che l istruzione goto fine, codificata come GOTO 0xc, determina il salto all indirizzo 00C. esempio call k Chiamata di sottoprogramma. L indirizzo di ritorno (PC+) viene inserito nello stack. Il valore di k viene posto in modo immediato negli undici bit <0:0> del PC. I bit alti del PC vengono caricati dal PCLATH. La chiamata a sottoprogramma determina il salto incondizionato alla locazione della prima istruzione del sottoprogramma. Un sottoprogramma è una sezione di programma separata dal programma principale. Lo scopo di questa divisione è di razionalizzare la scrittura dei programmi, affidando compiti diversi a sezioni distinte di programma, richiamabili anche ripetutamente. PC=5 programma principale 5 call sottoprogramma sottoprogramma 00 call sottoprogramma return B memoria programma memoria programma sottoprogramma return 0005h 0006h 0007h 0008h 0009h 0005h 0006h 0007h 0008h 0009h 000Ah 000Bh 000Ch 8

10 Come si vede nella figura sopra, a differenza dell istruzione goto, che prevede solo il salto iniziale, l istruzione call deve assicurare il ritorno al programma principale e la prosecuzione all istruzione successiva alla call stessa. Per questo è necessario che il sistema, all atto della chiamata di sottoprogramma, registri il valore corrente del PC, in quanto il PC viene caricato con l indirizzo della prima istruzione del sottoprogramma. A conclusione del sottoprogramma il sistema recupera il vecchio valore di PC e lo incrementa per puntare alla successiva istruzione. Il salvataggio degli indirizzi di ritorno viene fatto nello stack. Nel PIC lo stack è una catasta di 8 parole di 3 bit (3=numero di bit del PC). Come descritto dalla figura seguente, gli indirizzi, man mano che vengono salvati, risultano impilati uno sopra l altro, con una organizzazione di tipo LIFO Last In First Out, ovvero l ultimo a entrare è anche il primo a uscire. Ad ogni salto a sottoprogramma, anche nel caso di sottoprogrammi che richiamano altri sottoprogrammi, l indirizzo di ritorno viene salvato sopra la pila. Per percorrere a ritroso il ritorno al programma principale, gli indirizzi di ritorno vengono prelevati uno ad uno fino a svuotare la catasta. PC=5 PC=00 PC=00 PC=PC+ PC=5 PC=PC prima di call sottoprogramma call sottoprogramma call sottoprogramma2 return return Ad ogni nuovo salvataggio un registro stack pointer viene incrementato, per puntare alla nuova locazione vuota disponibile per il salvataggio. 9

11 Descrizione delle istruzioni ADDLW Add Literal and W Sintassi: [label] ADDLW k Operandi: 0 k 255 Operazione: (W) + k (W) Bit STATUS influenzati: C, DC, Z Descrizione: Il contenuto del registro W è sommato al letterale k e il risultato è posto in W BCF Bit Clear f Sintassi: [label] BCF f,b Operandi: 0 f 27 0 b 7 Operazione: 0 (f<b>) Bit STATUS influenzati: None Descrizione: Il bit 'b' del registro 'f' viene impostato a 0. ADDWF Add W and f Sintassi: [label] ADDWF f,d Operandi: 0 f 27 d [0,] Operazione: (W) + (f) (Destinazione) Bit STATUS influenzati: C, DC, Z Descrizione: Il contenuto del registro W viene sommato al file register f. Se d è 0 il risultato viene posto nel registro W. Se d è il risultato viene posto in f. BSF Bit Set f Sintassi: [label] BSF f,b Operandi: 0 f 27 0 b 7 Operazione: (f<b>) Bit STATUS influenzati: None Descrizione: Il bit 'b' del registro 'f' viene impostato a. ANDLW AND Literal with W Sintassi: [label] ANDLW k Operandi: 0 k 255 Operazione: (W).AND. (k) (W) Bit STATUS influenzati: Z Descrizione: Il contenuto del registro W è posto in AND con il letterale k. Il risultato è posto in W. BTFSS Bit Test f, Skip if Set Sintassi: [label] BTFSS f,b Operandi: 0 f 27 0 b < 7 Operazione: skip if (f<b>) = Bit STATUS influenzati: None Descrizione: Se il bit b del registro f è 0 viene eseguita l istruzione successiva. Se il bit b del registro f è l istruzione successiva viene annullata e al suo posto viene eseguita una istruzione NOP. ANDWF AND W with f Sintassi: [label] ANDWF f,d Operandi: 0 f 27 d [0,] Operazione: (W).AND. (f) (Destinazione) Bit STATUS influenzati: Z Descrizione: Il contenuto del registro W è posto in AND con il file register f. Se d è 0 il risultato viene posto nel registro W. Se d è il risultato viene posto in f. BTFSC Bit Test, Skip if Clear Sintassi: [label] BTFSC f,b Operandi: 0 f 27 0 b 7 Operazione: skip if (f<b>) = 0 Bit STATUS influenzati: None Descrizione: Se il bit b del registro f è viene eseguita l istruzione successiva. Se il bit b del registro f è 0 l istruzione successiva viene annullata e al suo posto viene eseguita una istruzione NOP. CALL Call Subroutine Sintassi: [ label ] CALL k Operandi: 0 k 2047 Operazione: (PC)+ TOS, k PC<0:0>, (PCLATH<4:3>) PC<2:> Bit STATUS influenzati: None Descrizione: Chiamata di sottoprogramma. L indirizzo di ritorno (PC+) viene inserito nello stack. Il valore di k viene posto in modo immediato negli undici bit <0:0> del PC. I bit alti del PC vengono caricati dal PCLATH. CLRWDT Clear Watchdog Timer Sintassi: [ label ] CLRWDT Operandi: None Operazione: 00h WDT 0 WDT prescaler, TO PD Bit STATUS influenzati: TO, PD Descrizione: Resetta il Watchdog Timer. Il prescaler del WDT e il bit TO del registro STATUS vengono impostati a. CLRW Clear W Sintassi: [ label ] CLRW Operandi: None Operazione: 00h (W) Z Bit STATUS influenzati: Z Descrizione: Il contenuto del registro W viene cancellato e il bit Z viene posto a. INCFSZ Increment f, Skip if 0 Sintassi: [ label ] INCFSZ f,d Operandi: 0 f 27 d [0,] Operazione: (f) + (Destinazione), skip if result = 0 Bit STATUS influenzati: None Descrizione: Il contenuto del registro f viene incrementato. Se d è 0 il risultato viene posto nel registro W,. Se d è il risultato viene posto in f. Se il risultato è viene eseguita l istruzione successiva. Se il risultato è 0 viene eseguita l istruzione NOP. CLRF Clear f Sintassi: [label] CLRF f Operandi: 0 f 27 Operazione: 00h (f) Z Bit STATUS influenzati: Z Descrizione: Il contenuto del registro f viene cancellato e il bit Z viene posto a. DECF Decrement f Sintassi: [label] DECF f,d Operandi: 0 f 27 d [0,] Operazione: (f) - (Destinazione) Bit STATUS influenzati: Z Descrizione: Il contenuto del registro f viene decrementato. Se d è 0 il risultato viene posto nel registro W. Se d è il risultato viene posto in f. GOTO Unconditional Branch Sintassi: [ label ] GOTO k Operandi: 0 k 2047 Operazione: k PC<0:0> PCLATH<4:3> PC<2:> Bit STATUS influenzati: None Descrizione: Il GOTO è un salto incondizionato. k viene posto in modo immediato nei primi undici bit <0:0> del PC. I bit alti vengono copiati dal PCLATH<4:3>. COMF Complement f Sintassi: [ label ] COMF f,d Operandi: 0 f 27 d [0,] Operazione: (f) (Destinazione) Bit STATUS influenzati: Z Descrizione: Il contenuto del registro f viene complementato. Il risultato viene posto nel registro W. Se d è il risultato viene posto in f. DECFSZ Decrement f, Skip if 0 Sintassi: [ label ] DECFSZ f,d Operandi: 0 f 27 d [0,] Operazione: (f) - (Destinazione); skip if result = 0 Bit STATUS influenzati: None Descrizione: Il contenuto del registro f viene decrementato. Se d è 0 il risultato viene posto nel registro W,. Se d è il risultato viene posto in f. Se il risultato è viene eseguita l istruzione successiva. Se il risultato è 0 viene eseguita l istruzione NOP. IORLW Inclusive OR Literal with W Sintassi: [ label ] IORLW k Operandi: 0 k 255 Operazione: (W).OR. k (W) Bit STATUS influenzati: Z Descrizione: Il contenuto del registro W è posto in OR con il letterale k. Il risultato viene posto nel registro W. 0

12 INCF Increment f Sintassi: [ label ] INCF f,d Operandi: 0 f 27 d [0,] Operazione: (f) + (Destinazione) Bit STATUS influenzati: Z Descrizione: Il contenuto del registro f viene incrementato. Se d è 0 il risultato viene posto nel registro W. Se d è il risultato viene posto in f. IORWF Inclusive OR W with f Sintassi: [ label ] IORWF f,d Operandi: 0 f 27 d [0,] Operazione: (W).OR. (f) (Destinazione) Bit STATUS influenzati: Z Descrizione: Il contenuto del registro W è posto in OR con il registro f. Se d è 0 il risultato viene posto nel registro W. Se d è il risultato viene posto in f. MOVF Move f Sintassi: [ label ] MOVF f,d Operandi: 0 f 27 d [0,] Operazione: (f) (Destinazione) Bit STATUS influenzati: Z Il contenuto del registro f viene copiato entro un registro di destinazione. Se d è 0 la destinazione è il registro W. Se d è la destinazione è f. Il caso d= è utile per testare un file register, poiché viene influenzato il flag Z. NOP No Operation Sintassi: [ label ] NOP Operandi: None Operazione: No Operazione Bit STATUS influenzati: None Descrizione: Nessuna operazione. MOVLW Move Literal to W Sintassi: [ label ] MOVLW k Operandi: 0 k 255 Operazione: k (W) Bit STATUS influenzati: None Descrizione: Il letterale k viene copiato nel registro W. RETFIE Return from Interrupt Sintassi: [ label ] RETFIE Operandi: None Operazione: TOS PC, GIE Bit STATUS influenzati: Nessuno MOVWF Move W to f Sintassi: [ label ] MOVWF f Operandi: 0 f 27 Operazione: (W) (f) Bit STATUS influenzati: None Descrizione: Copia il contenuto del registro W nel registro f. RETLW Return with Literal in W Sintassi: [ label ] RETLW k Operandi: 0 k 255 Operazione: k (W); TOS PC Bit STATUS influenzati: None Descrizione: Il registro W viene caricato con il letterale k. Il program counter viene aggiornato con il byte alto dello stack (indirizzo di ritorno). E una istruzione a due cicli. RLF Rotate Left f through Carry Sintassi: [ label ] RLF f,d Operandi: 0 f 27 d [0,] Operazione: Vedi descrizione sotto Bit STATUS influenzati: C Descrizione: Il contenuto del registro f viene fatto ruotare di un bit a sinistra attraverso il Carry. Se d è 0 il risultato viene posto nel registro W. Se d è il risultato viene posto in f. SLEEP Sintassi: [ label ] SLEEP Operandi: None Operazione: 00h WDT, 0 WDT prescaler, TO, 0 PD Bit STATUS influenzati: TO, PD Descrizione: Il bit PD di power-down del registro STATUS, il Watchdog Timer e il prescaler vengono cancellati. Il bit di timeout TO del registro STATUS viene settato. Il processore viene posto in stato di SLEEP con l oscillatore fermo. RETURN Return from Subroutine Sintassi: [ label ] RETURN Operandi: None Operazione: TOS PC Bit STATUS influenzati: None Descrizione: Ritorno da sottoprogramma. Il byte in cima allo stack viene estratto e caricato nel program counter. SUBLW Subtract W from Literal Sintassi: [ label ] SUBLW k Operandi: 0 k 255 Operazione: k - (W) (W) Bit STATUS influenzati: C, DC, Z Descrizione: Il contenuto del registro W viene sottratto dal letterale k (metodo complemento a due). Il risultato viene posto nel registro W. RRF Rotate Right f through Carry Sintassi: [ label ] RRF f,d Operandi: 0 f 27 d [0,] Operazione: Vedi descrizione sotto Bit STATUS influenzati: C Descrizione: Il contenuto del registro f viene fatto ruotare di un bit a destra attraverso il Carry. Se d è 0 il risultato viene posto nel registro W. Se d è il risultato viene posto in f. SUBWF Subtract W from f Sintassi: [ label ] SUBWF f,d Operandi: 0 f 27 d [0,] Operazione: (f) - (W) (Destinazione) Bit STATUS influenzati: C, DC, Z Descrizione: Il contenuto del registro W viene sottratto a f (metodo complemento a due). Se d è 0 il risultato viene posto nel registro W. Se d è il risultato viene posto in f. SWAPF Swap Nibbles in f Sintassi: [ label ] SWAPF f,d Operandi: 0 f 27 d [0,] Operazione: (f<3:0>) (Destinazione<7:4>), (f<7:4>) (Destinazione<3:0>) Bit STATUS influenzati: None Descrizione: Vengono scambiati il nibble basso e alto del registro f. Se d è 0 il risultato viene posto nel registro W. Se d è il risultato viene posto in f. XORWF Exclusive OR W with f Sintassi: [label] XORWF f,d Operandi: 0 f 27 d [0,] Operazione: (W).XOR. (f) (Destinazione) Bit STATUS influenzati: Z Descrizione: Il contenuto del registro W è posto in OR esclusivo con il registro f. Se d è 0 il risultato viene posto nel registro W. Se d è il risultato viene posto in f. XORLW Exclusive OR Literal with W Sintassi: [label] XORLW k Operandi: 0 k 255 Operazione: (W).XOR. k (W) Bit STATUS influenzati: Z Descrizione: Il contenuto del registro W è posto in OR con il letterale k. il risultato viene posto in W.

13 IDE MPLAB MPLAB (MicrochiP LABoratory) è un ambiente di sviluppo integrato, o IDE (Integrated Development Environment), che incorpora tutti gli strumenti utili per la programmazione dei microcontrollori PIC: editor: per la scrittura del programma; automaticamente colora il codice sorgente per assicurarne la correttezza compilatore: per convertire il codice simbolico assembler in codice macchina, 0 debugger: per la simulazione del programma: consente, osservando registri e simboli, di identificare i bug, cioè i quasi inevitabili errori programmatore: per trasferire il programma sviluppato on board nel microcontrollore, scrivendolo (burn) nella sua memoria di programma. ) Inserire il CD Blu/Rosso, attendere l autocaricamento e cliccare sul punto indicato per avviare l installazione 2) Dopo l installazione fare doppio click sull icona nel desktop. Compare la schermata del MPLAB IDE. 3) Selezionare Configure Select Device. Selezionare il PIC6F684. I led verdi indicano i componenti supportati dall MPLAB IDE. 4) Iniziare a creare un nuovo progetto. Predisporre una cartella con il nome del progetto e entro essa un file con estensione asm di un precedente lavoro, per disporre di una base di partenza dalla quale iniziare il lavoro. In questo capitolo è utilizzato il file esempio.asm della cartella Applicazioni\MPLAB\esempio. Si consiglia di utilizzare Esplora Risorse e lavorare per trascinamento. 5) Selezionare nel menu Project Project Wizard Nella finestra che si apre selezionare AVANTI 6) Selezionare il dispositivo 2

14 7) Selezionare il linguaggio 8) immettere il nome del progetto e selezionare, con l ausilio del pulsante browse, la cartella predisposta. Cliccare su AVANTI. 9) Aggiungere al progetto il file con estensione.asm premento ADD>> Cliccare su AVANTI. 0) Nella finestra che si apre selezionare Fine ) Fare doppio click sul nome del file sotto la voce Source Files, per aprire la finestra con il listato del programma. SI if UNITA =0? NO UNITA=0 INCREMENTA DECINE SI if DECINE=0 DECINE =6? goto Inizio NO Il programma di esempio è un contatore da 0 a 59. Esso risponde al diagramma di flusso riportato a fianco. Viene confrontato il valore delle unità con 0: se risulta uguale vuole dire che il 9 è stato superato, quindi UNITA deve essere azzerato e si deve far progredire la cifra delle DECINE. Un controllo simile viene eseguito sulle decine: se risulta DECINE=6 vuol dire che il 5 è stato superato, pertanto si deve forzare DECINE=0. Ad ogni ciclo l istruzione call reset? chiama il sottoprogramma reset?. Questo controlla se il bit 3 della porta A è settato; in caso affermativo resetta sia UNITA che DECINE. Si riporta di seguito il listato completo. 3

15 ;DIRETTIVE list p=6f684 ; direttiva list per definizione del processore #include <p6f684.inc> ; definizione variabili specifiche processore errorlevel -302 ; ;bit di configurazione che specificano modalità operative del PIC: Code protect off, Watchdog ;timer off, Power-up timer on CONFIG _CP_OFF & _CPD_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT ;DEFINIZIONE COSTANTI E VARIABILI #define PortA_input B'00' cblock 0x20 UNITA DECINE endc ;INIZIALIZZAZIONE org 0x000 ; vettore di reset del processore goto Initialize org 0x005 ; vettore di inizio del programma Initialize bsf STATUS, RP0 ; selezione banco movlw PortA_input movwf TRISA ; imposta alti tutti bit porta A bcf STATUS, RP0 ; selezione banco 0 ;PROGRAMMA Inizio call reset? incf UNITA, ; incrementa numero movlw.0 xorwf UNITA,0 ; se UNITA=0 riprende il conteggio da 0 btfss STATUS,Z ; salta se Z=0 goto controllodecine clrf UNITA ; azzera UNITA incf DECINE, ; incrementa DECINE controllodecine movlw.6 ; se DECINE=6 pone DECINE=0 xorwf DECINE,0 btfsc STATUS,Z clrf DECINE goto Inizio ;SOTTOPROGRAMMA reset? btfss PORTA,3 goto fine movlw.0 movwf UNITA movlw.0 movwf DECINE fine return end ; testa se Switch premuto ; azzera unità e decine Ora si passa alla fase di analisi/debugging del programma. Analizzeremo una ad una le istruzioni più significative, osservandone gli effetti sui registri e le variabili. Le istruzioni analizzate sono le stesse all uopo enucleate e spiegate nel capitolo precedente. 2) Per avviare lo strumento debugger selezionare Debugger Select Tool MPLAB SIM. Di seguito si riportano le opzioni di debugging con le relative spiegazioni. Run Halt Animate Step Over Step Into Step Out Reset AZIONE DESCRIZIONE Run Il programma viene eseguito in tempo reale, in pratica alla massima velocità consentita dal PC Halt Il programma viene arrestato Animate Step Into Step Over Step Out Resest Il programma viene eseguito passo passo con avanzamento automatico Il programma viene eseguito passo passo con avanzamento manuale; se sono presenti sottoprogrammi, anche questi vengono percorsi passo passo Il programma viene eseguito passo passo con avanzamento manuale; se sono presenti sottoprogrammi, non vengono mostrate passo passo le istruzioni interne Il sottoprogramma corrente viene abbandonato L esecuzione viene riportata all inizio del programma; i registri vengono reinizializzati 4

16 3) Compilare il programma selezionando Project Build All; chiudere la finestra Output dei risultati di compilazione. 4) Impostare la velocità di animazione selezionando Debugger Settings Digitare 50 nel campo Animate step time della scheda Animation/Realtime Updates. Questo è il tempo di scansione automatica delle istruzioni. In modalità Animate il programma viene eseguito automaticamente come nella modalità Run, ma in modo rallentato. Questo permette di osservare la progressione dei dati coinvolti nell algoritmo. 5) Ridurre la finestra del programma premendo sull icona di ripristino (due quadrati sovrapposti); invocare la finestra Watch selezionando View Watch e accostarla a fianco della finestra di programma, come sotto mostrato. Per visualizzare i numeri d ordine delle istruzioni cliccare con il tasto destro sulla banda grigia a sinistra e selezionare Properties Nella scheda Editor spuntare la casella Line Numbers. La finestra Watch permette di osservare in tempo reale i valori degli elementi coinvolti nel programma. Un menu a sinistra permette di selezionare un file register; premendo Add SFR esso viene aggiunto all elenco di visualizzazione. Nel menu a destra sono selezionabili i singoli bit dei registri o simboli vari, come le variabili dichiarate, premendo Add Symbol essi vengono aggiunti all elenco di visualizzazione. 6) Selezionare le due variabili UNITA e DECINE e aggiungerle alla visualizzazione. 7) Eseguire il programma in modalità Animate. Si può osservare il conteggio effettuato sulla variabile unità e l incremento delle decine. Il programma effettua un conteggio da 0 a 59 e riprende da zero. Di seguito eseguiremo istruzioni singole passo passo, per verificare quanto descritto nel capitolo precedente, valutando di volta in volta l effetto dell istruzione su registri e simboli. 8) Aggiungere alla finestra Watch il registro TRISA. Portarsi in modalità Step Over all istruzione numero 9 del programma ed eseguirla: 9 movwf TRISA Il dato 0x3F presente in W viene copiato nel file register TRISA 5

17 0X3F 9) Portarsi in modalità Step Over all istruzione numero 24 del programma: 24 incf UNITA, Il dato presente nella variabile UNITA viene incrementato di ; il risultato viene riversato nella variabile stessa. 0X0 20) Aggiungere alla finestra Watch il registro STATUS. Eseguire continuamente il programma in modalità Step Over per far avanzare il valore di UNITA. 0XF Quando si verifica l uguaglianza UNITA=0x0A, la coppia di istruzioni: xorwf UNITA,0; btfss STATUS,Z; cambia STATUS da: STATUS=0x8= a: STATUS=0xC= ovvero setta il flag di zero. 2) Aggiungere alla finestra Watch il simbolo WREG. Resettare il programma e portarsi in modalità Step Over all istruzione numero 8 del programma: movlw. PortA_input Il valore della costante PortA_input, prefissato a B 00 =0x3F viene copiato nell accumulatore WREG. 0X3F 22) Questo programma è in grado di interagire con un input, il pin3 della porta A. Per impostare un dato, o stimulus, su una linea di input, si deve abbinare ad essa un pulsante virtuale. Per questo selezionare Debugger Stimulus Controller New Scenario; compare la seguente finestra: Nella colonna Pin selezionare il pin RA3. La colonna Action offre quattro modalità di azione del pulsante: Set High: sempre premuto Set Low: sempre non premuto Pulse High: premuto per una istruzione Pulse Low: non premuto per una istruzione Toggle: inversione stato pulsante ad ogni istruzione. Selezionare Set High e premere Fire per innescare l azione. Eseguendo il programma in modalità Step Into si può osservare che il conteggio viene resettato. Se invece si imposta Set Low il conteggio procede regolarmente. 6

18 23) Per osservare gli elementi di interesse nel caso di istruzioni di salto conviene invocare la finestra del listato disassemblato, selezionando View Disassembling Listing. Disassemblare significa convertire il listato assembler simbolico nei codici macchina di codifica delle istruzione, con indicazione degli indirizzi delle word dove le istruzioni sono collocate. Disporre le finestre in modo tale da poter osservare il programma, il listato disassemblato e la finestra Watch. Portarsi all istruzione 28 goto controllodecine, che come si può vedere nella finestra del disassemblato, è codificata all indirizzo 0x000E. Aggiungere il registro PCL alla finestra Watch. Il PCL segna giustamente 0x0E. Avanzare di un passo: viene eseguito il salto all istruzione movlw.6, che è collocata all indirizzo 0x00. La finestra Watch mostra il valore PCL=0X. 0X 24) Per osservare il comportamento dello stack nel caso di una istruzione call visualizzare la finestra Hardware Stack selezionando View Hardware Stack. Portarsi all istruzione numero 23 call reset?. Come si può vedere dal disassemblato essa è codificata all indirizzo 0x0009; la successiva al 0x000A. Proseguire in modalità Step Into: in questo modo si entra nel sottoprogramma. Il valore 0x0A dell indirizzo di ritorno, cioè dell istruzione successiva a call reset?, viene subito salvato nello stack, come si può osservare dalla finestra Hardware Stack. All esecuzione dell istruzione return, lo stack viene svuotato, il PCL riacquista l indirizzo di ritorno e il programma riprende dall istruzione successiva alla call. 25) Il programma di esempio è un contatore da 0 a 59, con due variabili UNITA e DECINE. Per osservare l incremento delle decine passo passo è necessario ogni volta scandire tutte le unità da 0 a 9. Questo comporta uno spreco di tempo e richiede una grande dose di pazienza. Si ricorre in questo e in numerosi altri casi simili e più complessi al Breakpoint. Il Breakpoint (punto di arresto) introduce, come suggerisce il termine inglese, un punto di arresto nella sequenza delle istruzioni. In questo caso conviene introdurlo in coincidenza con l istruzione movlw.6. Per questo si fa doppio click in un punto qualsiasi dell istruzione, appare di conseguenza una B circondata da un cerchio rosso. Si può ora agire sul tasto Run anziché Step Over, in quanto il programma comunque si arresta al Breakpoint. Se c è aperta la finestra Watch con l indicazione di UNITA e DECINE, si potrà osservare l avanzamento delle UNITA ad ogni passaggio per il breakpoint. 7

19 Esercizi es Scrivere un programma che effettui, con una variabile UNITA, il conteggio da 0 a 9. Confrontare UNITA con 0, quando sono uguali forzare UNITA=0. Per il test sul valore di UNITA utilizzare l'istruzione btfsc anzichè btfss. es2 Scrivere un programma che effettui, con una variabile UNITA, il conteggio da un valore MIN compreso a un valore MAX escluso. Dichiarare MIN e MAX come costanti e assegnarvi il valore desiderato. Confrontare UNITA con MAX, quando sono uguali forzare UNITA=MIN. es3 Scrivere un programma che effettui, con una variabile UNITA, il conteggio da 0 a 9 in avanti oppure all'indietro da 9 a 0. La direzione del conteggio viene imposta dal valore della costante DIREZIONE dichiarata nel programma. Se DIREZIONE= conteggio avanti, se DIREZIONE=0 conteggio indietro. Per controllare il valore di DIREZIONE immettere. in WREG con l'istruzione movlw. e far seguire l'istruzione xorlw DIREZIONE, la quale confronta WREG con il letterale DIREZIONE. Nel conteggio avanti confrontare UNITA con 0, quando sono uguali forzare UNITA=0. Nel conteggio indietro confrontare UNITA con 255, quando sono uguali forzare UNITA=9. es4 Scrivere un programma che effettui, con una variabile UNITA, il conteggio da 0 a 9 in avanti oppure all'indietro da 9 a 0. La direzione del conteggio viene imposta dal livello RA3 del bit3 della Porta A. Se RA3= conteggio avanti, se RA3=0 conteggio indietro. Nel conteggio avanti confrontare UNITA con 0, quando sono uguali forzare UNITA=0. Nel conteggio indietro confrontare UNITA con 255, quando sono uguali forzare UNITA=9. Provare il programma con un pulsante virtuale. 8

20 MEMORIA Tra le principali attività di un microprocessore ci sono le operazioni di lettura e scrittura entro la memoria dati. Nel PIC sono presenti tre diverse sezioni di memoria: memoria di PROGRAMMA dove viene scritto il programma che il microcontrollore deve eseguire memoria REGISTER FILE dove sono presenti i registri Special Function Register SFR e General Pur pose Register GPR. memoria EEPROM dove possono essere salvati i dati permanentemente. Nei registri SFR sono presenti i dati di configurazione dei vari dispositivi che corredano il PIC. Nei registri GPR sono presenti i dati utente, ovvero i dati che il programma manipola. Un gruppo di registri GPR può contenere i numeri di un calcolo matematico, oppure le lettere di un brano testuale. Ancora: può registrare i byte di configurazione dei pixel di una immagine o i campioni di un brano musicale. Il capitolo ha lo scopo di descrivere come questi dati possano essere gestiti, con una panoramica su algoritmi base di gestione della memoria. Nel PIC lo spazio GPR del banco 0 è compreso tra gli indirizzi 20h e 7Fh. Le modalità di accesso ai 96 bytes di questo spazio sono due: indirizzamento diretto indirizzamento indiretto. Indirizzamento Diretto Nelle istruzioni con indirizzamento diretto l indirizzo del byte GPR da manipolare è specificato direttamente nell istruzione. Ad esempio nell istruzione movwf 0x0020 è specificato in esadecimale l indirizzo 20h. Il significato dell istruzione è: copia il valore dell accumulatore w nel byte di indirizzo 20h. WREG L istruzione duale movfw 0x0020 copia invece il valore del byte di indirizzo 20h nell accumulatore h Esperimento \Memoria\diretto Scrivere un programma che inizializzi il blocco dei registri GPR dall indirizzo 20h all indirizzo 24h con i numeri 0,, 2, 3, 4. ;DIRETTIVE list p=6f684 ; direttiva list per definizione del processore #include <p6f684.inc> ; definizione variabili specifiche processore errorlevel -302 ;INIZIALIZZAZIONE org 0x000 ; vettore di reset del processore goto Initialize org 0x005 ; vettore di inizio del programma Initialize bcf STATUS, RP0 ; selezione banco 0 movlw.0 ; carica 0 in w movwf 0x0020 ; copia w nel File Register di indirizzo 20h movlw. movwf 0x002 movlw.2 movwf 0x0022 movlw.3 movwf 0x0023 movlw.4 movwf 0x0024 end Ogni coppia di istruzioni mov è costituita da una prima istruzione di tipo letterale che carica un numero in w e una seconda istruzione che copia w nel File Register, di indirizzo specificato in modo diretto. Selezionare View File Registers per visualizzare la finestra File Registers. In essa è visualizzato tutto lo spazio Register File. Ogni riga visualizza 6 registri, dislocati in altrettante colonne. Si può vedere che all indirizzo 0020di riga, nelle prime quattro colonne, ovvero agli indirizzi 20h, 2h, 22h, 23h, 24h il programma ha registrato i rispettivi numeri 0,, 2, 3, 4. 9

21 Indirizzamento Indiretto Nelle istruzioni di implementazione dell indirizzamento indiretto l indirizzo del byte GPR da manipolare è specificato nel registro FSR (File Select Register = Registro di Selezione Archivio). La lettura e la scrittura del byte GPR prevede che l indirizzo venga scritto nel registro FSR. Per indicare che l operazione avviene in modo indiretto si utilizza poi la parola chiave INDF (Indirect File). Ad esempio nel seguente gruppo di istruzioni: movlw 0x0020 movwf FSR movfw INDF la prima carica in w l indirizzo 20h, la seconda lo copia in FSR, la terza sposta nell accumulatore il contenuto del registro, il cui indirizzo è presente in FSR. In questa ottica FSR assume il ruolo di un puntatore, ovvero di un registro che con il suo contenuto punta alla locazione da leggere. INDF complica un po il meccanismo, esso ha il ruolo di alias del registro FSR. FSR 20h 5 20h WREG 5 Esperimento \Memoria\indiret Scrivere un programma che sposti un blocco di 5 byte dall'indirizzo iniziale 20h all'indirizzo 30h, mediante indirizzamento indiretto. 20h 30h blocco sorgente blocco destinazione Lo spostamento di blocchi di memoria avviene byte per byte: si deve copiare il byte di indirizzo 20h all indirizzo 30h, quello di indirizzo 2h all indirizzo 3h etc. Per comprendere a pieno il concetto di indirizzamento indiretto studiamo prima la soluzione con indirizzamento diretto. Essa comporta l utilizzo di una coppia di istruzioni, una per spostare il byte sorgente in WREG e una per spostare WREG nel byte destinazione. Per il primo byte ad esempio, si ha: movfw 0x0020 movwf 0x0030 Come descritto dalla figura a fianco, la prima istruzione copia il byte di indirizzo 20h in WREG e la seconda copia WREG in 30h. Si noti che la copia diretta da 20h a 30h senza WREG è impossibile, in quanto tutte le istruzioni sono implementate da WREG, che è il solo registro che ha nervature con tutto il resto dell architettura. 20h 30h byte sorgente byte destinazione WREG Questo è un evidente esempio dove l utilizzo dell indirizzamento indiretto è indispensabile: per la copia di un blocco ad esempio di 00 byte verrebbero impiegate 200 istruzioni; per la copia (ipotetica) di un blocco di bytes, il programmatore dovrebbe scrivere (!) istruzioni. In questo e in tutti i casi analoghi, si procede in modo iterativo con indirizzamento indiretto, collocando un ridotto numero di istruzioni con indirizzamento diretto entro un ciclo. PUNTATORE 20h 20h 0 byte sorgente APPOGGIO PUNTATORE2 30h 30h 0 byte destinazione

22 L algoritmo utilizza 4 variabili: due puntatori PUNTATORE e PUNTATORE2 per puntare alla coppia di byte corrente, APPOGGIO per la copia temporanea di un byte e CICLI per il numero di iterazioni. I due puntatori vengono inizializzati all indirizzo iniziale dei due blocchi, rispettivamente 20h e 30h. L operazione di trasferimento del byte sorgente entro APPOGGIO è implementata dalle seguenti istruzioni: movfw PUNTATORE movwf FSR movfw INDF movwf APPOGGIO ; copia il contenuto di PUNTATORE in WREG ; copia WREG in FSR ; copia il byte puntato da FSR in WREG ; copia WREG in APPOGGIO Il contenuto di PUNTATORE, che inizialmente è l indirizzo 20h viene copiato in WREG e da qui in FSR. FSR punta quindi al primo byte. La terza istruzione copia il contenuto del primo byte in WREG e la quarta lo salva in APPOGGIO. La seconda quaterna di istruzioni agisce in modo speculare, copiando APPOGGIO nel primo byte del secondo blocco: movfw PUNTATORE2 movwf FSR movfw APPOGGIO movwf INDF ; copia il contenuto di PUNTATORE2 in WREG ; copia WREG in FSR ; copia APPOGGIO in WREG ; copia WREG nel byte puntato da FSR Successivamente i due puntatori vengono incrementati per puntare ai byte successivi dei blocchi e viene decrementato CICLI. Infine viene eseguito un test su CICLI. Se CICLI è diverso da zero l algoritmo viene iterato, altrimenti il programma termina. Esperimento \Memoria\indiret ;DIRETTIVE list p=6f684 ; direttiva list per definizione del processore #include <p6f684.inc> ; definizione variabili specifiche processore errorlevel -302 ;DEFINIZIONE COSTANTI E VARIABILI cblock 0x50 PUNTATORE PUNTATORE2 APPOGGIO CICLI endc ;INIZIALIZZAZIONE org 0x000 ; vettore di reset del processore goto Initialize org 0x005 ; vettore di inizio del programma Initialize bcf STATUS, RP0 ; selezione banco 0 movlw.0 ; carica 0 in w movwf 0x0020 ; copia w nel File Register di indirizzo 20h movlw. movwf 0x002 movlw.2 movwf 0x0022 movlw.3 movwf 0x0023 movlw.4 movwf 0x0024 movlw 0x0020 ; inizializza puntatori movwf PUNTATORE movlw 0x0030 movwf PUNTATORE2 ;PROGRAMMA movlw.5 movwf CICLI Inizio movfw PUNTATORE ; copia il contenuto di PUNTATORE in WREG movwf FSR ; copia WREG in FSR movfw INDF ; copia il byte puntato da FSR in WREG movwf APPOGGIO ; copia WREG in APPOGGIO movfw PUNTATORE2 movwf FSR movfw APPOGGIO movwf INDF incf PUNTATORE, incf PUNTATORE2, decfsz CICLI, goto Inizio end ; copia il contenuto di PUNTATORE2 in WREG ; copia WREG in FSR ; copia APPOGGIO in WREG ; copia WREG nel byte puntato da FSR ; punta alle successive locazioni ; se CICLI<>0 itera 2

23 Per analizzare l algoritmo passo-passo conviene invocare in MPLAB le finestre File Registers e Watch. Nella Watch aggiungere i seguenti simboli e variabili: WREG, FSR, PUNTATORE, PUNTATORE2, APPOGGIO, CICLI, Osservarne l evoluzione in modalità di debugging. A fianco è rappresentata Watch in corrispondenza della quarta passata del ciclo. La tabella che segue riporta i valori assunti da simboli e variabili di interesse in corrispondenza di ciascuna istruzione. ISTRUZIONE W PUNTA PUNTA APPOG FSR REG TORE TORE2 GIO CICLI 20h 2h 22h 23h 24h movlw.0 0 movwf 0x movlw. movwf 0x002 movlw.2 2 movwf 0x movlw.3 3 movwf 0x movlw.4 4 movwf 0x movlw 0x movwf PUNTATORE 20 movlw 0x movwf PUNTATORE2 30 ;PROGRAMMA movlw.5 5 movwf CICLI 5 Inizio movfw PUNTATORE 20 movwf FSR 20 movfw INDF 0 movwf APPOGGIO 0 movfw PUNTATORE2 30 movwf FSR 30 movfw APPOGGIO 0 ISTRUZIONE W PUNTA PUNTA APPOG FSR REG TORE TORE2 GIO CICLI 30h 3h 32h 33h 34h movwf INDF 0 incf PUNTATORE, 2 incf PUNTATORE2, 3 decfsz CICLI, 4 goto Inizio Esperimento \Memoria\somma Scrivere un programma che sommi i bytes da 20h al 24h e depositi il risultato in 25h. byte0 + byte + byte2 + byte3 + byte4 20h byte 0 2h byte 22h byte 2 23h byte 3 24h byte 4 25h Risultato 22

MICROCONTROLLORE PIC16F84A

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

Dettagli

Lezione 1 Caratteristiche principali del PIC16C84 L'hardware

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

Dettagli

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

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

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

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

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

LABORATORIO DI SISTEMI

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

Dettagli

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

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

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

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

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

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

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

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

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

Esame di INFORMATICA

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

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

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

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

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

Dispensa di Informatica I.1

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

Dettagli

Architettura hardware

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

Dettagli

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

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

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

Dettagli

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

INFORMATICA 1 L. Mezzalira

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

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

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

Dettagli

DESKTOP. Uso del sistema operativo Windows XP e gestione dei file. Vediamo in dettaglio queste parti.

DESKTOP. Uso del sistema operativo Windows XP e gestione dei file. Vediamo in dettaglio queste parti. Uso del sistema operativo Windows XP e gestione dei file DESKTOP All accensione del nostro PC, il BIOS (Basic Input Output System) si occupa di verificare, attraverso una serie di test, che il nostro hardware

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

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

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

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

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare. Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare. E stato previsto l utilizzo di uno specifico prodotto informatico (denominato

Dettagli

EasyPrint v4.15. Gadget e calendari. Manuale Utente

EasyPrint v4.15. Gadget e calendari. Manuale Utente EasyPrint v4.15 Gadget e calendari Manuale Utente Lo strumento di impaginazione gadget e calendari consiste in una nuova funzione del software da banco EasyPrint 4 che permette di ordinare in maniera semplice

Dettagli

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

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

Dettagli

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 : Un Sistema Operativo è un insieme complesso di programmi che, interagendo tra loro, devono svolgere una serie di funzioni per gestire il comportamento del computer e per agire come intermediario consentendo

Dettagli

1. Le macro in Access 2000/2003

1. Le macro in Access 2000/2003 LIBRERIA WEB 1. Le macro in Access 2000/2003 Per creare una macro, si deve aprire l elenco delle macro dalla finestra principale del database: facendo clic su Nuovo, si presenta la griglia che permette

Dettagli

Laboratorio di Informatica

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

Dettagli

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

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

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

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

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

Dettagli

Cap. 3. APERTURA NUOVO PROGETTO

Cap. 3. APERTURA NUOVO PROGETTO GUIDA ALL USO DI CSM.1 Cap. 3. APERTURA NUOVO PROGETTO 1 3.1 Inizio della procedura 3. PERCORSO: APERTURA NUOVO PROGETTO/CORSI Dopo essersi iscritti ed avere inserito i dati inerenti l Agenzia / Ente di

Dettagli

Esempio di moltiplicazione come somma e spostamento

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

Dettagli

Introduzione all'architettura dei Calcolatori

Introduzione all'architettura dei Calcolatori Introduzione all'architettura dei Calcolatori Introduzione Che cos è un calcolatore? Come funziona un calcolatore? è possibile rispondere a queste domande in molti modi, ciascuno relativo a un diverso

Dettagli

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

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

Dettagli

5-1 FILE: CREAZIONE NUOVO DOCUMENTO

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

Dettagli

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC BMSO1001 Virtual Configurator Istruzioni d uso 02/10-01 PC 2 Virtual Configurator Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Concetti

Dettagli

Una volta inseriti tutti i parametri necessari premere.

Una volta inseriti tutti i parametri necessari premere. Esercitazione n 1 Questa esercitazione guidata ha lo scopo di mostrare come creare un semplice progetto per pilotare l accensione e lo spegnimento di un led attraverso uno degli switch della XSA board.

Dettagli

Informatica - A.A. 2010/11

Informatica - A.A. 2010/11 Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire

Dettagli

GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER MANUALE DI INSTALLAZIONE GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER

GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER MANUALE DI INSTALLAZIONE GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER MANUALE DI INSTALLAZIONE GUARINI PATRIMONIO CULTURALE SOMMARIO 1. Installazione guarini patrimonio culturale MSDE... 3 1.1 INSTALLAZIONE MOTORE MSDE...4 1.2 INSTALLAZIONE DATABASE GUARINI PATRIMONIO CULTURALE

Dettagli

Istruzioni operative instal azione FirmaVerifica3.0 Pag.1 di 27

Istruzioni operative instal azione FirmaVerifica3.0 Pag.1 di 27 Istruzioni operative installazione FirmaVerifica3.0 Pag.1 di 27 Generalità... 3 Operazioni preliminari... 4 Requisiti tecnici... 5 Installazione applicazione...6 Visualizzazione fornitura... 14 Gestione

Dettagli

Powered by: Relators:

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

Dettagli

PROGRAMMA DI SISTEMI TERZA AET 2014/2015

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

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

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

Dettagli

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

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

Dettagli

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

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1 La microarchitettura. anno accademico 2006 2007 pagina 1 Integer Java virtual machine Ogni microprocessore può avere una microarchitettura diversa, ma la modalità di funzionamento per certi aspetti è generale.

Dettagli

CONTROLLO DI GESTIONE DELLO STUDIO

CONTROLLO DI GESTIONE DELLO STUDIO CONTROLLO DI GESTIONE DELLO STUDIO Con il controllo di gestione dello studio il commercialista può meglio controllare le attività svolte dai propri collaboratori dello studio nei confronti dei clienti

Dettagli

Dott.ssa Michela Nelli. Dott.ssa Ilaria Giannelli. Dott. Francesco Pennasilico. Aggiornato al 03/06/2013

Dott.ssa Michela Nelli. Dott.ssa Ilaria Giannelli. Dott. Francesco Pennasilico. Aggiornato al 03/06/2013 MANUALE SIDIP - Versione per Cancelleria- Dott.ssa Michela Nelli Dott.ssa Ilaria Giannelli Dott. Francesco Pennasilico Aggiornato al 03/06/2013 1 INDICE CAPITOLO 1: Consultazione e stampa dei documenti

Dettagli

CdL in Medicina Veterinaria - STPA AA 2007-08

CdL in Medicina Veterinaria - STPA AA 2007-08 CdL in Medicina Veterinaria - STPA AA 2007-08 Microsoft Windows Funzionalità di un S.O. Gestione dei file Gestione dei dispositivi di ingresso/uscita Comandi per l attivazione e la gestione di programmi

Dettagli

Il microprocessore 8086

Il microprocessore 8086 1 Il microprocessore 8086 LA CPU 8086 Il microprocessore 8086 fa parte della famiglia 80xxx della INTEL. Il capostipite di questa famiglia è stato l 8080, un microprocessore ad 8 bit che ha riscosso un

Dettagli

MODULO STAMPA BOLLETTINO PDF

MODULO STAMPA BOLLETTINO PDF MODULO STAMPA BOLLETTINO PDF MODULO STAMPA BOLLETTINO PDF pagina 2 di 7 INTRODUZIONE Il modulo STAMPA BOLLETTINO PDF è una applicazione stand-alone, sviluppata in linguaggio Java, che permette di produrre

Dettagli

Gerarchia delle memorie

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

Dettagli

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

Linea guida di inserimento dati Antiriciclaggio-XP DM-143

Linea guida di inserimento dati Antiriciclaggio-XP DM-143 La linea guida consente tramite la procedura operativa per il primo inserimento dei dati di raggiungere una corretta creazione dei registri soggetti e prestazioni ai fini DM-143. Procedura operativa al

Dettagli

L unità di elaborazione pipeline L unità Pipelining

L unità di elaborazione pipeline L unità Pipelining Struttura del processore L unità di elaborazione pipeline Corso ACSO prof. Cristina SILVANO Politecnico di Milano Incremento delle Per migliorare ulteriormente le si può: ridurre il periodo di clock aumentare

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

IRSplit. Istruzioni d uso 07/10-01 PC

IRSplit. Istruzioni d uso 07/10-01 PC 3456 IRSplit Istruzioni d uso 07/10-01 PC 2 IRSplit Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Installazione 4 3. Concetti fondamentali

Dettagli

Unità Periferiche. Rete Di Controllo

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

Dettagli

Calcolo numerico e programmazione Architettura dei calcolatori

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

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

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

Dettagli

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE

Dettagli

MANUALE UTENTE. Computer Palmare WORKABOUT PRO

MANUALE UTENTE. Computer Palmare WORKABOUT PRO MANUALE UTENTE Computer Palmare WORKABOUT PRO INDICE PROCEDURA DI INSTALLAZIONE:...3 GUIDA ALL UTILIZZO:...12 PROCEDURA DI AGGIORNAMENTO:...21 2 PROCEDURA DI INSTALLAZIONE: Per il corretto funzionamento

Dettagli

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

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

Dettagli

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

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM Il computer è un apparecchio elettronico che riceve dati di ingresso (input), li memorizza e gli elabora e fornisce in uscita i risultati (output). Il computer è quindi un sistema per elaborare informazioni

Dettagli

Autoware Ladder Tool (per Arduino ) Basic Tutorial

Autoware Ladder Tool (per Arduino ) Basic Tutorial Per iniziare. Utilizzare il ns. pacchetto Autoware Ladder Tool (in breve Ladder Tool) per Arduino è veramente semplice. Elenchiamo qui di seguito i passi necessari per eseguire la ns. prima esercitazione.

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

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine. Quinto Homework 1) Si vuole progettare una cache a mappatura diretta per un sistema a 32 bit per una memoria da 2 GB (quindi sono solo 31 i bit utili per gli indirizzi) e blocchi di 64 byte. Rispondere

Dettagli

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

PROVA INTRACORSO TRACCIA A Pagina 1 di 6 PROVA INTRACORSO DI ELEMENTI DI INFORMATICA MATRICOLA COGNOME E NOME TRACCIA A DOMANDA 1 Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento

Dettagli

Manuale Operativo per la firma digitale

Manuale Operativo per la firma digitale Manuale Operativo per la firma digitale Indice 1. Introduzione... 3 2. Installazione del lettore di smart card... 3 3. Installazione del Dike... 8 4. Attivazione della smart card... 9 5. PIN per la firma

Dettagli

TiAxoluteNighterAndWhiceStation

TiAxoluteNighterAndWhiceStation 09/09-01 PC Manuale d uso TiAxoluteNighterAndWhiceStation Software di configurazione Video Station 349320-349321 3 INDICE 1. Requisiti Hardware e Software 4 2. Installazione 4 3. Concetti fondamentali

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

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15 WG TRANSLATE Pagina 1 di 15 Sommario WG TRANSLATE... 1 1.1 INTRODUZIONE... 3 1 TRADUZIONE DISPLAY FILE... 3 1.1 Traduzione singolo display file... 4 1.2 Traduzione stringhe da display file... 5 1.3 Traduzione

Dettagli

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

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

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

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

Dettagli

UTILIZZO DEL MODULO DATA ENTRY PER L IMPORTAZIONE DEI DOCUMENTI (CICLO PASSIVO)

UTILIZZO DEL MODULO DATA ENTRY PER L IMPORTAZIONE DEI DOCUMENTI (CICLO PASSIVO) Codice documento 10091501 Data creazione 15/09/2010 Ultima revisione Software DOCUMATIC Versione 7 UTILIZZO DEL MODULO DATA ENTRY PER L IMPORTAZIONE DEI DOCUMENTI (CICLO PASSIVO) Convenzioni Software gestionale

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

MERIDESTER SOFTWARE DI COMUNICAZIONE PER PC

MERIDESTER SOFTWARE DI COMUNICAZIONE PER PC MERIDESTER SOFTWARE DI COMUNICAZIONE PER PC Requisiti del sistema sistema operativo Windows XP o Vista processore Pentium 4 o equivalente RAM 512 Mb Video 1024x768 Porta USB USB 1.1 o 2.0 full speed Scheda

Dettagli

Corso PLC - Manuale Pratico 1

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

Dettagli

Testi di Esercizi e Quesiti 1

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

Dettagli

Assegnamento di un indirizzo IP temporaneo a dispositivi Barix

Assegnamento di un indirizzo IP temporaneo a dispositivi Barix Assegnamento di un indirizzo IP temporaneo a dispositivi Barix V 1.0 GUIDA RAPIDA Introduzione L obiettivo di questa guida rapida è fornire all utente un modo per poter assegnare un indirizzo IP temporaneo

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

ALL FOR SCAN Versione Twain Manuale Utente. Versione 2.0A00. Luccarelli Srl

ALL FOR SCAN Versione Twain Manuale Utente. Versione 2.0A00. Luccarelli Srl ALL FOR SCAN Versione Twain Manuale Utente Versione 2.0A00 1. Cos è ALL FOR SCAN All For Scan è un software per l archiviazione ottica dei documenti, per scanner che usano le interfaccie Kofax o Twain.

Dettagli

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE 1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma

Dettagli

2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento.

2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento. Uso del computer e gestione dei file 57 2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento. All interno

Dettagli