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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 Corso introduttivo sui microcontrollori A. S Microprocessori - Microcontrollori Nicola Amoroso namoroso@mrscuole.net NA L1 1

2 Cosa e un microcontrollore? > Un piccolo computer, contenente al suo interno tutti i circuiti necessari al suo funzionamento, senza necessita` di circuiti integrati esterni. > Il microprocessore vero e proprio (core) e` il cuore del sistema e si occupa di eseguire le operazioni matematiche (ALU), di spostare i dati fra le varie parti della memoria, di incrementare i numerosi contatori necessari al funzionamento. > Tutti i dispositivi, interni, controllati dal microprocessore prendono il nome di periferiche NA L1 2

3 Cosa e un microcontrollore? Un microcontrollore (µc ) è un dispositivo di elaborazione dati simile al microprocessore (µp ) Sul µp sono basati tutti i calcolatori dai personal computer ai mainframe Sul µc sono basati dispositivi per scopi industriali o per applicazioni particolari (autronica, domotica, telefoni cellulari, lettori DVD, video-camere, etc ) NA L1 3

4 Cosa e un microcontrollore? Il microcontrollore contiene gli stessi elementi principali di un sistema programmabile: Processore Memoria Elementi di Input/output In un PC, questi sottosistemi, sono elementi (chips) separati collegati tra loro mediante una connessione a bus [1], su un unico circuito stampato; il sistema completo è comunque gestito da una unità centrale che prende il nome di CPU [microprocessore (µp)]. Ogni sistema può essere configurato per applicazioni particolari con CPU, memorie e gestione di I/O opportune. [1] Connessione a bus => Opportune linee in parallelo che collegano tra loro sistemi, device, etc. Il numero delle linee dipende dai collegamenti da effettuare, comunque in genere si utilizzano bus a 4, 8, 16, 32, 64, linee. NA L1 4

5 Cosa e un microcontrollore? In un microcontrollore (µc), tutti gli elementi indicati, sono presenti su un unico chip! Il µc gestisce tutte le condizioni di I/O, i calcoli ed eventuali controlli Sia i µc che i µp sono sistemi programmabili cioè non possono operare senza opportuno codice (programma) che è una lista di istruzioni, mantenute in memoria opportuna che viene eseguita in modo sequenziale in modo tale da soddisfare al processo richiesto. Per questi sistemi programmabili bisogna considerare oltre allo sviluppo hardware (Interfacciamento), anche un opportuno sviluppo software in funzione del processo da eseguire. NA L1 5

6 Memorie Fondamentalmente vi sono due tipi di memoria: Volatili Non volatili Le memorie volatili [RAM Random Access Memory] perdono i dati immagazzinati quando non sono più alimentate. Le memorie non volatili [ROM Read Only Memory] mantengono i dati immagazzinati anche in assenza di alimentazione. In un PC una piccola ROM (2-4 Mb) è usata per memorizzare le condizioni Hw e Sw per lo start del sistema; esso contiene il programma BIOS (Basic Input Output System); il sitema operativo della macchine (es. MS Windows TM ) e le applicazioni del sistema (es. MS Word) vengono invece caricate in RAM prima di essere eseguite e questo richiede abbastanza tempo. NA L1 6

7 Memorie E facile chiedersi: perché il SO non viene memorizzato in una ROM? Diventa così facilmente e velocemente accessibile! La RAM è veloce, sicura, compatta e semplice da gestire; il SO può essere cambiato o aggiornato senza toccare l hw del sistema, inoltre gli attuali SO sono molto grandi e composti da più sw collegati tra loro, ogni sw viene caricato in RAM nel momento in cui serve mentre le altre applicazioni sono caricati su memorie statiche molto capienti (es. HD, etc ) e caricati in RAM solo quando servono. Memorie ROM di tipo FLASH (Elettricamente riscrivibili) sono usate invece in sistemi mobili di capacità limitata (es MP3 players, memory card, USB pen, etc ) questo perché questi sistemi utilizzano sw di gestione facilmente aggiornabili, infatti essi contengono microcontrollori la cui program-memory può essere riprogrammata. NA L1 7

8 Input e Output Un sistema digitale programmabile non è molto utile senza la possibilità di poter scambiare (Leggere/Scrivere Read/Write) dati (Segnali elettrici) con l esterno! Le porte sono insiemi di Pin (Collegamenti mediante piedini), basati su registri e insiemi di control-registers (registri di controllo) che permettono lo scambio In/Out di dati in modo controllato mediante un opportuno protocollo di comunicazione. Vi sono due tipi fondamentali di porte (e quindi modalità di comunicazione): Parallela Seriale NA L1 8

9 Input e Output In una porta parallela i dati (digitali) vengono trasferiti contemporaneamente su più collegamenti paralleli tra loro (es. 8 bits, 16 bits, 32 bits, 64 bits, etc ) In una porta seriale i dati (digitali) vengono trasferiti 1 bit per volta su una singola linea. Potenzialmente la porta parallela è più veloce ma necessita di un numero maggiore di linee di collegamento e quindi vi sono maggiori possibilità di errore nel processo di scambio; l hw e il sw di gestione è invece più semplice rispetto alla trasmissione seriale dove, il pacchetto dati deve essere organizzato in gruppi prima di procedere allo scambio (possibilità di gestione a pacchetti e in rete [Network data]). NA L1 9

10 Input e Output Ad esempio le stampanti di vecchia generazione colloquiavano con l unità centrale del PC mediante la porta parallela (centronics), che inviava alla stampante 1 byte (8 bit) per volta mediante un connettore multipin (25-36 pin. Le nuove stampanti colloquiano con la unità centrale mediante un collegamento seriale il quale permette lo scambio di 1 bit per volta. Il nuovo standard USB (Universal Serial Bus) può operare ad una velocità massima di 480 megabits/sec e seppur più lenta del collegamento parallelo è, sicuramente, molto più veloce rispetto ai tempi operativi di una stampante. Il collegamento USB avviene con un semplice e robusto connettore a 4 capi che fornisce anche, se richiesto dalla periferica, la tensione di alimentazione necessaria al suo funzionamento (N.B. => Solo per periferiche che non assorbono molto). Lo stadard USB è comunque complesso per la gestione sw e richiede molta accuratezza nella creazione di driver opportuni. NA L1 10

11 Input e Output Una delle funzioni principali delle PORTE (registri) è quella di separare il data-bus della CPU con il bus esterno dell hw considerato; queste porte hanno anche la funzione di immagazzinare temporaneamente i dati da scambiare (Buffer di memoria) che successivamente possono essere trasferiti e processati nel modo opportuno. I registri (porte) di tipo seriale caricano i dati in parallelo dal bus interno della CPU e poi inviano 1 bit per volta all esterno operando come uno shift-register. Se viene adoperato un protocollo di trasmissione asincrono, come ad esempio un RS232 (COM PORT nei vecchi PC), oltre ai bit da scambiare, il protocollo può contenere anche bit di START, STOP e ERROR CHECK. In definitiva le vecchie trasmissioni seriali di tipo asincrono, potevano avere pacchetti di 11 bit. Il protocollo USART (Universal Syncronus/Asyncronus Receive/Transmit) sarà sicuramente approfondito in corsi opportuni in seguito. NA L1 11

12 Il µp contiene : > Una ALU (Arithmetic Logic Unit ) dove avvengono i calcoli > diversi registri per la memorizzazione temporanea dei dati e la gestione delle istruzioni > Un bus interno ad alta velocità > circuiti di controllo e di temporizzazione per coordinare tutte le attività > tre bus ( Data Bus, Address Bus, Control Bus ) per comunicare col mondo esterno ( dispositivi di memoria, dispositivi di ingresso-uscita) NA L1 12

13 Il µp ha bisogno per funzionare: Di un ampia area di memoria esterna sia di lavoro (RAM) che di massa (hard disk ecc ), dato che tratta grandi quantità di dati Di interfacce verso dispositivi esterni di Input (tastiera, mouse,scanner, hard disk, floppy, microfoni.) Di interfacce verso dispositivi esterni di Output ( monitor, stampante, altoparlanti, hard disk, floppy,modem ) Di potenza di alimentazione anche di decine di watt.. NA L1 13

14 Il µc invece possiede su un unico chip: Una CPU RISC Una piccola memoria di programma (EPROM-EEPROM) Una piccola memoria di lavoro RAM ( alcuni KB) Porte di ingresso/uscita Contatori, timer, convertitore A/D Uart, Pwm, interfacce di comunicazione di vari tipi Contiene cioè, sia quello che possiede un µp (anche se in quantità molto ridotta), sia parti che il µp non possiede. Ha ingombro minimo e richiede poca potenza di alimentazione NA L1 14

15 RISC significa : Reduced Instruction Set Computing Elaborazione con insieme di istruzioni ridotto Le istruzioni perciò : Sono poche decine Sono eseguite molto velocemente non serve un clock molto elevato per un efficiente funzionamento ( dai 4-8 MHz per i tipi più semplici, fino a MHz per i tipi più evoluti) NA L1 15

16 Corso introduttivo sui microcontrollori A. S Microcontrollori Microchip PIC 8 bit Nicola Amoroso namoroso@mrscuole.net NA L2 1

17 Microcontrollori Microchip PIC 8 bit PIC: Peripheral Interface Control (~1975) Famiglia 12 (12bit) PIC12CXXX 400ns Instruction Execution, 33/35 Instructions, 8- Pin Package, 4MHz Internal Oscillator Famiglia 16 (14bit) PIC16C5X 200ns Instruction Execution, 33 Instructions PIC16CXXX 4-12 Interrupts, 200ns Instruction Execution, 35 Instructions Famiglia 17 (16bit) PIC17CXXX 120ns Instruction Execution Including Multiply, 58 Instructions Famiglia 18 (16bit) PIC18CXXX 10 MIPS, 77 Instructions, C-compiler Efficient Instruction Set, Software Stack Capability, Table Operation, 4X PLL Clock, Switchable Oscillator Sources, 25mA Source/Sink per I/O NA L2 2

18 Il microcontrollore che utilizzeremo è il PIC16F877 della Microchip Technology PIC = Peripheral Interface Controller (Controllore di periferiche programmabile) La sua caratteristica più importante sta nella sigla F : Il programma risiede in una EEPROM FLASH (Electrically Erasable Programmable Read only Memory) è modificabile immediatamente anche senza togliere l integrato dal circuito (modalità : in-circuit programming) NA L2 3

19 Il nostro µc implementa su un unico chip tutte le risorse necessarie per il calcolo, per l acquisizione e memorizzazione dei dati e per l interfacciamento e la comunicazione con il mondo esterno. NA L2 4

20 Le periferiche dei microcontrollori La ROM (Read Only Memory) è solitamente utilizzata per la memorizzazione delle istruzioni del programma (può essere permanente o non permanente). Nella RAM (Random Access Memory) vengono custoditi i dati prodotti e impiegati durante l esecuzione del programma. La EEPROM (Electrical Erasable Programmable Read Only Memory) serve per memorizzare i dati che devono essere conservati anche al termine del programma. La CPU (Central Processing Unit) è l unità che, comunicando con le varie periferiche interne attraverso i BUS, si fa carico di eseguire il programma ed elaborare i dati. Per esempio, l esecuzione di un programma consiste nella lettura sequenziale da parte della CPU delle istruzioni memorizzate nella memoria di programma. I TIMER consentono al sistema di misurare e sincronizzare sia eventi interni che esterni. Sono impiegati anche per la generazione di segnali esterni di controllo. NA L2 5

21 Le periferiche dei microcontrollori Le I/O PORTS sono le porte di ingresso ed uscita solitamente utilizzate per acquisire dati o per pilotare componenti. Usualmente, una porta I/O è costituita da 8 pin (anche meno qualche volta), programmabili sia come ingressi che uscite. Le INTERFACCE SERIALI sono utilizzate per scambiare dati con il mondo esterno. Sono frequenti periferiche di comunicazione sia sincrone (SPI, I2C) che asincrone (USART). Le prime sono utilizzate solitamente per la comunicazione con dispositivi esterni (memorie, sensori), le seconde per comunicare con PC o altri µc (comunicazione seriale RS232 o RS422/485). NA L2 6

22 Le periferiche dei microcontrollori L ADC (convertitore Analogico/digitale) converte un segnale esterno analogico (prelevato tipicamente in tensione) in una sua rappresentazione digitale. I microcontrollori che implementano tali dispositivi sono particolarmente adatti per essere impiegati in applicazioni di controllo. Il WATCHDOG TIMER, se attivato, genera un reset ad un intervallo prestabilito in fase di programmazione. Questo riavvio ciclico è utile per far uscire il microcontrollore da eventuali situazioni di stallo. NA L2 7

23 Le periferiche dei microcontrollori Il PULSE WIDTH MODULATION SIGNAL GENERATOR è un dispositivo utilizzato per la generazione di segnali modulati in ampiezza d impulso. È anche impiegato nella conversione DA per la generazione di segnali analogici facendo transitare il segnale in un filtro passa basso. Se la costante di tempo del filtro è scelta opportunamente, è possibile generare un segnale proporzionale in tensione al duty-cycle. NA L2 8

24 Le periferiche dei microcontrollori Funzioni della CPU Funzioni principali di una CPU sono: Trasferimento Dati Controllo di Flusso (operazioni di salto, jump) Elaborazioni Aritmetiche e Logiche (addizioni e sottrazioni,operazioni logiche, incrementi, decrementi, shift, rotazioni, ecc ) Ogni CPU ha usualmente un array register con: un Registro Accumulatore (W) il Program Counter (PCL) l Instruction Register (IR) lo Stack Pointer (SP) NA L2 9

25 NA L2 10

26 Il µc che utilizzeremo: Pic16F877 <> Clock 4 20 MHz E commercializzato in differenti Packages, come il convenzionale 40-pin DIP (Dual In Line Package); questo formato è molto usato nelle fasi di sviluppo e prototipi. Viene riportata di seguito la disposizione dei singoli pin NA L2 11

27 Microchip Pic16F877 Molti dei pin sono di I/O, raggruppati in 5 PORT: A[6 pin RA0..RA5], B[8 pin RB0..RB7], C[8 pin RC0..RC7], D[8 pin RD0..RD7], E[3 pin RE0..RE2] per complessivi 33 pin di I/O. Molti di questi pin possono operare come I/O funzionante in più modalità, il modo di funzionamento dei singoli pin viene impostata settando opportunamente dei registri di controllo del sistema. Nella piedinatura riportata si nota come diversi pin presentano più funzioni di I/O (Es. RA0 PORTA bit0 può funzionare come I/O digitale oppure come ingresso analogico AN0). In particolare notiamo che sia i pin di PORTA che quelli di PORTE possono funzionare come ingressi digitali I/O oppure come ingressi analogici, per default in fase di start-up o reset questi pin sono impostati come ingressi analogici, se richiesto come I/O digitale bisogna agire sui rispettivi registri di controllo; vedremo in seguito come operare. NA L2 12

28 Microchip Pic16F877 PORTB viene anche impiegata per programmare il controllore, cioè caricare il codice di programma nella FLASH ROM (RB6-RB7 in-circuit programming), inoltre RB0, RB4..RB7 possono generare interrupt. PORTC in genere permette l uso di Timers e possibilità di comunicazione seriale (serial ports), PORTD in genere si utilizza come normale porta di comunicazione. Il chip viene alimentato mediante una doppia coppia di pin (Vdd=+5V nominali, Vss=0V). Spesso i chip funzionano, nei casi previsti, anche con alimentazione compresa tra 2,2V e 3.1V in casi particolari in cui si sfrutta la alimentazione di pile. Per il funzionamento occorre un circuito oscillante esterno collegato tra i piedini CLKIN e CLKOUT; la frequenza di oscillazione può essere compresa tra qualche decina di KHz (oscillatore R-C) fino a frequenze di 20 MHz (oscillatore al quarzo). MCLR è il Master-Clear Reset, quando viene portato a livello logico basso permette il reset della MCU, in condizioni normali deve stare a livello alto (+5V). NA L2 13

29 Pic16F877 Block Diagram Un semplice Diagramma a Blocchi che descrive il funzionamento del controllore nei suoi blocchi principali; si evidenziano: 1. Flash ROM per il program memory: 8192 locazioni a 14 bit 2. RAM file registers 512 locazioni a 8 bit che comprende anche alcuni speciali registri tipo PORTA, PORTB, etc.... Questa zona di RAM e suddivisa in 4 banchi di 128 byte ognuna (N.B. Alcuni registri sono ripetuti tra i vari banchi; in totale avremo solo 368 locazioni utili) 3. Un registro particolare (W) che prende il nome di accumulatore usato sempre con la ALU per il processo dei dati 4. Varie periferiche per il controllo I/O dei dati NA L2 14

30 Architettura PIC 16F877 NA L2 15

31 Memorie interne al 16F877 FLASH Memory programmi: contiene il programma da eseguire, ha la caratteristica di mantenere la programmazione anche quando l alimentazione al micro viene spenta, e di poter essere cancellata e riscritta con uno speciale apparecchio chiamato programmatore. e` Questa memoria profonda 8Kbytes (8192 parole x 14 bit) => il programma da eseguire al piu` puo` essere composto da una sequenza di 8192 operazioni. Altri tipi di microprocessore hanno invece una memoria programma di tipo PROM: questa puo` essere scritta soltanto una volta. RAM dati: il programma, in esecuzione, non puo` scrivere sulla FLASH programmi ( ~ vero ) => l area di memoria RAM dati e` scrivibile in esecuzione e contiene le variabili. Il contenuto di questa memoria viene perso quando si spegne il circuito. Esiste un altra memoria FLASH per i dati (EEPROM). NA L2 16

32 Memorie interne al 16F877 Ricapitolando: 1) FLASH programmi: 8192 parole 2) RAM per le variabili: 368 bytes 3) FLASH dati: 256 bytes (e` in pratica un piccolo hard disk, noi non la useremo per ora) Le singole locazioni della RAM vengono chiamate registri. I registri della RAM possono essere di due tipi : 1) General Purpose: uso generale, tipo per contenere le variabili del nostro programma. 2) Special Function: scrivendo in queste locazioni si istruisce il micro ad eseguire determinate operazioni. Per esempio se scrivo il dato 0x4 nel registro 0x1F (mnemonica ADCON0) => l ADC interno al microprocessore comincia la conversione NA L2 17

33 NA L2 18

34 I registri mappati in memoria I registri sono celle, locazioni, di memoria dove il µc legge e scrive valori fondamentali per il funzionamento. Sono celle che hanno un indirizzo esadecimale ( h ) ; si dice che sono mappati in memoria. Ad esempio scrivendo/leggendo nelle locazioni 05h e 06h si scrive/legge nelle porte A e B. NA L2 19

35 I registri mappati in memoria Se si programma il PIC in linguaggio macchina (Assembler) occorre precisare molti dettagli per i registri, con istruzioni da mettere all inizio del programma. Se si usa un linguaggio ad alto livello (Basic, C, ), le istruzioni da aggiungere sono minori. Tuttavia la mappa di memoria ( cioè l allocazione dei registri) deve sempre essere conosciuta. NA L2 20

36 La gestione delle porte di IN/OUT E fondamentale saper programmare le porte di ingresso/uscita. Es. => Ognuno dei pin della porta A (05h) può essere impostato in modo indipendente come ingresso o come uscita in base al contenuto del registro di controllo TRISA (85h): impostando a 1 il bit di TRISA, il corrispondente pin di PORTA è un ingresso ( se è 0 diventa uscita). Lo stesso vale per la porta B (06h) gestita da TRISB (86h). Esempio : con TRISB = , RB6 e RB7 sono linee di uscita ( possono comandare un carico), e le altre linee sono ingressi ( possono accettare [Read/Leggere] un segnale esterno). NA L2 21

37 Corso introduttivo sui microcontrollori A. S La programmazione dei PIC Nicola Amoroso NA L3 1

38 Il software per il PIC Come per qualsiasi sistema a microprocessore, anche per il PIC è necessario preparare un programma per farlo funzionare. Un programma è costituito da una sequenza di instruzioni, ognuna delle quali identifica univocamente una funzione che il PIC deve svolgere. Ogni istruzione è rappresentata da un codice operativo (in inglese operation code o più brevemente opcode) composto da 14 bit ed è memorizzata in una locazione di memoria dell'area programma. Tale memoria nel PIC16F877 è di tipo EEPROM e dispone di 8192 locazioni ognuna delle quali è in grado di contenere una sola istruzione oppure una coppia istruzione/dato. Questi codici, completamente privi di senso per un essere umano, sono gli unici che il PIC è in grado di capire. Per fortuna esistono alcuni strumenti che consentono di facilitare il compito al programmatore rendendo le istruzioni più comprensibili. NA L3 2

39 Il software per il PIC 1 modo Il programma per il PIC si può scrivere in linguaggio assembly o assembler, usando direttamente le 35 istruzioni riconosciute dal microcontrollore. Il codice si scrive come un file di testo. Esso viene convertito in codice binario da un programma chiamato Assemblatore. Il file creato contiene codici esadecimali e ha estensione. HEX Per trasferire poi il file HEX nella memoria di programma del PIC occorre un dispositivo chiamato Programmatore Si usa un Personal Computer : per scrivere il testo del programma, con un editor di testi ( non usando Word! ) per convertirlo in codice eseguibile, usando l Assemblatore per scriverlo nel PIC, usando un Programmatore. NA L3 3

40 Il software per il PIC 1 modo La casa costruttrice Microchip fornisce un pacchetto integrato chiamato MPLAB [Download gratuito => Esso comprende : MPLAB Editor : editor di testo per scrivere il testo del programma MPASM : il compilatore che traduce il testo in codice eseguibile (usando il codice esadecimale) Il compilatore MPASM è liberamente usabile. Si scarica dal sito della Microchip e si può usare indipendentemente dall editor. Lavorando in Assembler, la parte più difficile è il debug, cioè l eliminazione degli errori di programmazione. Esistono software di simulazione, a pagamento in genere, che consentono di controllare il funzionamento del programma NA L3 4

41 .asm Contiene il codice sorgente in formato assembler..inc File header, intestazioni e defiizioni hardware per il micro.lst Contiene l intero codice assembler e varie informazioni di compilazione.tre Albero di allocazione della memoria..err File con errori di compilazione e numeri di linea..hex File con il codice macchina, per la programmazione del microcontrollore NA L3 5

42 Esempio di file ASM RestoreLoader Il software per il PIC 1 modo lfsr 0, buff ; Construct instructions in buff movlw UPPER Main ; Upper byte of address to main movwf t1+3 bcf STATUS, C ; Clear carry bit rrcf t1+3, F ; Rotate through carry movlw B' ' ; Second word in goto must start with F. iorwf t1+3, F movlw HIGH Main ; High byte of address to main. movwf t1+2 rrcf t1+2, F movlw LOW Main ; Low byte of address to main movwf t1 rrcf t1, F MOVLF 0xEF, t1+1 lfsr 1, t1 MOVLF 0x04, count rest_rep movff POSTINC1, POSTINC0 decf count, F bnz rest_rep movlw 0xFF ; High byte in first word is EF ; two last nop movwf POSTINC0 ; movwf POSTINC0 ; movwf POSTINC0 ; buff should now contain 8 bytes : NA L3 6

43 Sintassi Descrizione Microchip Operazione equivalente ADDLW k ADDWF f,d ANDLW k ANDWF f,d BCF f,b BFS f,b BTFSC f,b BTFSS f,b CALL k CLRF f CLRW CLRWDT Add Literal and W Add W and f AND Literal with W AND W with f Bit Clear f Bit Set f Bit Test f, Skip if Clear Bit Test f, skip if Set Subroutine Call Clear f Clear W Register Clear Watchdog Timer Set istruzioni PIC16F W = W + k d = W + f (dove d può essere W o f) W = W AND k d = W AND f (dove d può essere W o f) f(b) = 0 f(b) = 1 f(b) = 0? Si, salta una istruzione f(b) = 1? Si, salta una istruzione Chiama la subroutine all'indirizzo k f = 0 W = 0 Watchdog timer = 0 NA L3 7

44 DECF f,d Decrement f d = f -1 (dove d può essere W o f) DECFSZ f,d Decrement f, Skip if 0 d = f -1 (dove d può essere W o f) se d = 0 salta GOTO k Go to address Salta all'indirizzo k INCF f,d Increment f d = f +1 (dove d può essere W o f) INCFSZ f,d Increment f, Skip if 0 d = f +1 (dove d può essere W o f) se d = 0 salta IORLW k Inclusive OR Literal with W W = W OR k IORWF f,d Inclusive OR W with f d = f OR W (dove d può essere W o f) MOVLW k Move literal to W W = k MOVF f,d Move f d = f (dove d può essere W o f) MOVWF f Move W to f f = W NOP No Operation Nessuna operazione OPTION Load Option Register OPTION = W RETIE Return from Interrupt Ritorna da un interrupt handler RETLW k Return Literal to W Ritorna da una subroutine con W = k RETURN Return from Subroutine Ritorna da una subroutine RLF f,d Rotale Left f through Carry d = f << 1 (dove d può essere W o f) NA L3 8

45 RLF f,d RRF f,d SLEEP SUBLW k SUBWF f,d SWAPF f TRIS f XORLW k XORWF f,d Set istruzioni PIC16F Rotale Left f through Carry Rotale Right f through Carry Go into Standby Mode Subtract W from Literal Subtract W from f Swap f Load TRIS Register Exclusive OR Literal with W Exclusive OR W with f d = f << 1 (dove d può essere W o f) d = f >> 1 (dove d può essere W o f) Mette in standby il PIC W = k - W d = f - W (dove d può essere W o f) f = Swap dei bit 0123 con 4567 di f TRIS di f = W W = W XOR k d = f XOR W (dove d può essere NA L3 9

46 Il programma per il PIC si può scrivere usando un Compilatore ad alto livello, ossia un software che usa istruzioni a livello più elevato, per velocizzare e facilitare la stesura del programma. Il Compilatore può essere in linguaggio BASIC ( ad esempio il PicBasic) in linguaggio C Il software per il PIC 2 modo di tipo grafico, ossia che usa simboli grafici al posto delle istruzioni. Ad esempio usa il simbolo di una porta AND al posto dell istruzione assembler equivalente. Due esempi di compilatori grafici sono il Visual Parsic e il Proton+. I compilatori devono essere acquistati ; i più semplici in Basic o C sono a basso costo o anche freeware. Alcuni compilatori, come il Proton+, offrono delle versioni di prova dette Lite, cioè con funzioni limitate. NA L3 10

47 Il software per il PIC 2 modo NA L3 11

48 Il sistema di sviluppo CCS PCWH NA L3 12

49 Programmazione dei PIC Esempio di file HEX : A00C92D0000FF00030E8301A10003 : A08A0008A010408A A : A A5007A08A6007B08A E : B1E1D280B C EDD : C1A F : F F FA002708FB : A00210E8300FF0E7F0E09008A110A12FA : E4288A110A A108A100A118207B6 : D C9 : D :103F10008A B0000A128A EE :103F20000A168A B0000A128A C :103F A168A B08B0000A128A1165 :103F A168A B0000A123B :103F50008A A168A15AE2F8A150A12B0 :103F6000B12E0A148A140A158207FE2CFE2CFE2C90 :023F7000FE2C25 :02400E00323F3F : FF ;PIC16F876 NA L3 13

50 Programmazione del PIC La famiglia PIC16F8X, che comprende il 16F84, il 16F877 ecc., può essere programmata : separatamente, con un Programmatore direttamente, mentre si trova già montato nel circuito finale, aggiungendo nello schema del progetto un adatto connettore in più ( programmazione in-circuit) Dato che il PIC ha una memoria Flash di programma, sono possibili veloci variazioni o aggiornamenti del codice programma. NA L3 14

51 Programmazione del PIC Dopo aver scritto il programma, cioè il codice sorgente, lo si compila: viene creato un file oggetto con estensione.hex, il quale deve essere caricato nella memoria di programma del PIC. Per caricare il file.hex nella memoria programma del PIC occorre: Un personal computer Un programmatore Il software di gestione del programmatore NA L3 15

52 Il primo esercizio => Blinking Led Led lampeggiante che si accende e si spegne ogni mezzo secondo Punti fongamentali per: Analisi, progettazione e stesura del software Analisi e stesura per punti cronologici del problema Flow Charts Scrittura del codice NA L3 16

53 Analisi della soubroutine di ritardo di 500 ms Il concetto è molto semplice: il microcontrollore deve aspettare 500 ms senza compiere alcuna operazione attiva. Ad esempio se il controllore 1. Decrementa il contenuto di un registro (1 µs) 2. Torna a 1. se il contenuto del registro è <> 0 [Confronto] (2 µs) In totale avremo un tempo di esecuzione pari a 3 µs. Se ripetiamo questa operazione per volte avremo un tempo di esecuzione pari a µs cioè circa 500 ms Il nostro controllore possiede registri ad 8 bit allora possiamo sfruttare la seguente logica sfruttando 2 registri ad 8 bit e ricordando che i registri sono ciclici cioè 00-1= FF 1. Riserviamo due registri (delayl e delayh); set delayl 0 e delayh 0 2. Decrement delayl 1 µs 3. se delayl 0 jump 2. else 4. 2 µs 4. questa operazione viene ripetuta per FF 5. (256) volte cioè per 256 x 3 = 768 µs Decrement delayh 1 µs 7. se delayh 0 jump 2. else 6. 2 µs 8. questa operazione viene ripetuta per FF 9. (256) volte cioè per 256 x 3 = 768 µs Considerando che i due cicli sono annidati avremo che i due registri tornano ambedue a zero dopo un tempo pari a 768 x 768 = µs cioè quasi 500 ms. Fine Routine Return NA L3 17

54 Analisi della soubroutine di ritardo di 500 ms -> Flow Chart Il concetto è molto semplice: il microcontrollore deve aspettare 500 ms senza compiere alcuna operazione attiva. Ad esempio se il controllore Decrementa il contenuto di un registro (1 µs) Torna a 1. se il contenuto del registro è <> 0 [Confronto] (2 µs) In totale avremo un tempo di esecuzione pari a 3 µs. Se ripetiamo questa operazione per volte avremo un tempo di esecuzione pari a µs cioè circa 500 ms Il nostro controllore possiede registri ad 8 bit allora possiamo sfruttare la seguente logica sfruttando 2 registri ad 8 bit e ricordando che i registri sono ciclici cioè 00-1= FF 1. Riserviamo due registri (delayl e delayh); set delayl 0 e delayh 0 2. Decrement delayl 1 µs 3. se delayl 0 jump 2. else 4. 2 µs 4. questa operazione viene ripetuta per FF 5. (256) volte cioè per 256 x 3 = 768 µs 6. Decrement delayh 1 µs 7. se delayh 0 jump 2. else 6. 2 µs 8. questa operazione viene ripetuta per FF 9. (256) volte cioè per 256 x 3 = 768 µs Considerando che i due cicli sono annidati avremo che i due registri tornano ambedue a zero dopo un tempo pari a 768 x 768 = µs cioè quasi 500 ms. Fine Routine Return NA L3 18

55 ;*********************************************************** ;Led blinking -> ON/OFF ogni 500 ms ;Led collegato su RB0 ;N.A. October 2004 ;******************************************** PROCESSOR 16F877A ;Direttive preprocessore RADIX DEC INCLUDE "P16F877A.INC" ERRORLEVEL -302 CONFIG 3FF1H LED EQU 0 ;Bit 1 della porta relativa ORG 20h ;Registro general purpose ram RES 2 ;Riservo due registri a 8 bit ORG 00H ;Start reset vector bcf STATUS,RP1 ;Scelgo il Bank 1 bsf STATUS,RP0 ;RP1=0 RP0=1 movlw B ;Bit PORTA come input movwf TRISA movlw B ;Bit1 PORTB in Out movwf TRISB ;gli altri bit in input bcf STATUS,RP0 ;Torno al Bank0 bsf PORTB,LED ;Accendo il Led Loop ; Label call Delay500 ;Delay 500 ms btfsc PORTB,LED ;Spengo il led goto Spegni ;se è acceso bsf PORTB,LED ;Accendo il led goto loop ;Jump a Loop Il Listato completo Spegni bcf PORTB,LED ;Spengo il led goto loop ;Jump a Loop Delay500 Clrf ram Clrf ram+1 ;Sobroutine di ritardo ;Azzero i due registri ;riservati Ciclo_di_ritardo decfsz ram,1 ;Decremento il registro ram goto Ciclo_di_ritardo ;per 256 volte decfsz ram+1,1 ;Decremento il registro ram +1 goto Ciclo_di_ritardo ;per 256 volte return ;Fine soubroutine END ;Indispensabile alla fine del listato NA L3 19

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

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

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

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

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

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

Dettagli

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

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

Lezione 1 Caratteristiche principali del PIC16C84 L'hardware

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

Dettagli

INTRODUZIONE alla PROGRAMMAZIONE di MICROCONTROLLORI

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

Dettagli

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

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

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

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

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

CORSO SERALE ( TDP ) DEMOBOARD FN1Z PER PIC 16F877/16F877A

CORSO SERALE ( TDP ) DEMOBOARD FN1Z PER PIC 16F877/16F877A ITIS M. PLANCK LANCENIGO DI VILLORBA (TV) A.S. 2006/07 CLASSE 4A/ SERALE Corso di elettronica e telecomunicazioni Ins. Zaniol Italo CORSO SERALE ( TDP ) DEMOBOARD FN1Z PER PIC 16F877/16F877A Presentazione

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

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

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

Invio SMS. DM Board ICS Invio SMS

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

Dettagli

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

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

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

Dettagli

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

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

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

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE CORSO INTRODUTTIVO DI INFORMATICA NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE Dott. Paolo Righetto 1 CORSO INTRODUTTIVO DI INFORMATICA Percorso dell incontro: 1) Alcuni elementi della configurazione hardware

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

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

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

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore (CPU) la memoria principale (RAM) la memoria secondaria i dispositivi di input/output Il processore

Dettagli

Organizzazione della memoria

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

Dettagli

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

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

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

Dettagli

ARCHITETTURA DELL ELABORATORE

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

Dettagli

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

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

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

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

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

Arduino: Programmazione

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

Dettagli

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

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S Microprocessori - Microcontrollori.

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S Microprocessori - Microcontrollori. 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

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

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

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

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

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

1.4b: Hardware. (Memoria Centrale)

1.4b: Hardware. (Memoria Centrale) 1.4b: Hardware (Memoria Centrale) Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Ediz. Fino alla III : cap. 3.11, 3.13 IV ediz.: cap. 2.8, 2.9 Questi lucidi Memoria Centrale Un

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

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

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

Dettagli

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

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

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

Dettagli

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1

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

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

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

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

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

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

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

Dettagli

Corso introduttivo sui microcontrollori A. S La programmazione dei PIC. Assembler: esempi - applicazioni.

Corso introduttivo sui microcontrollori A. S La programmazione dei PIC. Assembler: esempi - applicazioni. Corso introduttivo sui microcontrollori A. S. 2007 2008 Assembler: esempi - applicazioni Nicola Amoroso namoroso@mrscuole.net NA L4 1 Un programma in assembler è scritto come codice sorgente (un semplice

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

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass 0_Iniziare con GRASS Avvio di Grass e creazione della cartella del Database di GRASS Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

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

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

Manuale di programmazione BerMar_Drive_Software

Manuale di programmazione BerMar_Drive_Software Invert er LG Manuale di programmazione BerMar_Drive_Software Mot ori elet t ric i Informazioni preliminari... 2 Installazione... 3 Avvio del programma... 4 Funzionamento Off-Line... 7 Caricamento di una

Dettagli

SOMMARIO. La CPU I dispositivi iti i di memorizzazione Le periferiche di Input/Output. a Montagn Maria

SOMMARIO. La CPU I dispositivi iti i di memorizzazione Le periferiche di Input/Output. a Montagn Maria Parte 4: HARDWARE SOMMARIO La CPU I dispositivi iti i di memorizzazione i Le periferiche di Input/Output na a Montagn Maria LA CPU CPU: Central Processing Unit. L unità centrale di processo si occupa dell

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

Indruduzione... 1 Il modulo Bluetooth HC-06... 2 Il firmware... 3 Collegamento della scheda... 4 Software PC e l applicazione Android...

Indruduzione... 1 Il modulo Bluetooth HC-06... 2 Il firmware... 3 Collegamento della scheda... 4 Software PC e l applicazione Android... Sommario Indruduzione... 1 Il modulo Bluetooth HC-06... 2 Il firmware... 3 Collegamento della scheda... 4 Software PC e l applicazione Android... 4 Indruduzione La scheda può controllare fino a quattro

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it La memoria principale 2 izzazione della memoria principale ria principale è organizzata come

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

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

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

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

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

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

Concetti fondamentali della Tecnologia Dell informazione Parte prima

Concetti fondamentali della Tecnologia Dell informazione Parte prima Concetti fondamentali della Tecnologia Dell informazione Parte prima 1 Concetti di base della tecnologia dell Informazione Nel corso degli ultimi anni la diffusione dell Information and Communication Technology

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

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

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

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

Collegamento al sistema

Collegamento al sistema Collegamento al sistema Chi comanda il movimento della testina? Chi comanda la generazione del raggio laser? Chi si occupa di trasferire i dati letti in memoria centrale? Chi comanda la rotazione dei dischi?

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

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

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

Dettagli

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento

Dettagli

Hardware di un Computer

Hardware di un Computer Hardware di un Computer Monitor Mouse Tastiera Printer Disk CPU Graphics Adapter USB Controller Parallel Port Disk Controller BUS Memoria RAM Memoria ROM (BIOS) DMA CPU esegue istruzioni, effettua calcoli,

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

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

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

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

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

Dettagli

La macchina programmata Instruction Set Architecture (1)

La macchina programmata Instruction Set Architecture (1) Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina Outline Componenti di un

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

HARDWARE. Relazione di Informatica

HARDWARE. Relazione di Informatica Michele Venditti 2 D 05/12/11 Relazione di Informatica HARDWARE Con Hardware s intende l insieme delle parti solide o ( materiali ) del computer, per esempio : monitor, tastiera, mouse, scheda madre. -

Dettagli

MANUALE EDICOLA 04.05

MANUALE EDICOLA 04.05 MANUALE EDICOLA 04.05 Questo è il video che si presenta avviando il programma di Gestione Edicola. Questo primo video è relativo alle operazioni di carico. CARICO Nello schermo di carico, in alto a sinistra

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

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

Dettagli

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

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

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Il software per gli esami ICON può essere eseguito su qualunque computer dotato di Java Virtual Machine aggiornata.

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Modulo 1 Le memorie. Si possono raggruppare i sistemi di elaborazione nelle seguenti categorie in base alle possibilità di utilizzazione:

Modulo 1 Le memorie. Si possono raggruppare i sistemi di elaborazione nelle seguenti categorie in base alle possibilità di utilizzazione: Modulo 1 Le memorie Le Memorie 4 ETA Capitolo 1 Struttura di un elaboratore Un elaboratore elettronico è un sistema capace di elaborare dei dati in ingresso seguendo opportune istruzioni e li elabora fornendo

Dettagli