Introduzione ai Microcontrollori Una prima definizione I microcontrollori sono utilizzati per gestire segnali in ingresso (input utente o da sensori),

Slides:



Advertisements
Presentazioni simili
La struttura fisica e logica di un elaboratore
Advertisements

Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
IL MICROCONTROLLORE ST6
Introduzione allarchitettura dei calcolatori 2/ed Carl Hamacher, Zvonko Vranesic, Safwat Zaky Copyright © 2007 – The McGraw-Hill Companies srl Versione.
Elaboratore e Sistemi Operativo
Algoritmi e Programmazione
Architettura di un sistema informatico Hardware
IL MICROCONTROLLORE PIC16F84A
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
CdL Ingegneria Informatica n.o. Anno Accademico 2007/08 Fondamenti di Informatica I – corso A Giacomo Piscitellipag. 1/30 Architettura dei calcolatori.
Tipologie di Controlli in Ambito Industriale
MICROCONTROLLORI Di Tiziano Ragazzi.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Introduzione ai PLC.
Corso di Informatica Applicata - © 2005 Saverio De Vito Corso di Informatica Applicata Esercitazione Università degli studi di Cassino Corso di Laurea.
Il livello Microarchitetturale
Il Linguaggio Macchina
Xscale Nicola Rebagliati 2001s135. Cose Xscale Xscale è una microarchitettura per processori che fornisce ottime prestazioni con bassi consumi energetici.
Com’è fatto un elaboratore?
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
La macchina di von Neumann
La macchina di von Neumann
L’Architettura del Sistema di Elaborazione
Architettura dell’elaboratore
ARCHITETTURA DEGLI ELABORATORI
ELETTRONICA DIGITALE (II Parte)
L' ARCHITETTURA DI VON NEUMANN
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
ARCHITETTURA DI UN ELABORATORE
Sistemi di elaborazione e trasmissione delle informazioni
Unità centrale di processo
Architettura di una CPU
Architettura del calcolatore
WATCHDOG TIMER E’ un oscillatore interno al  C, ma indipendente dal resto dei circuiti, il cui scopo è quello di rilevare eventuali blocchi della CPU.
Calcolatori Elettronici Il Processore
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
Sistemi Elettronici Programmabili: Riepilogo 1 Sistemi digitali : Riepilogo Sistemi Elettronici Programmabili.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Corsi di Laurea in Biotecnologie
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
Sistemi Elettronici Programmabili
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
Architettura di un calcolatore e linguaggio macchina.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
Vediamo com'è fatto internamente un microcontrollore PIC, quali dispositivi contiene e come interagiscono tra loro. Nella figura seguente viene riprodotto.
sul Microcontrollore 16F84
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il calcolatore Stefano Cagnoni e Monica Mordonini
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 15 Maggio.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Corso di Informatica Applicata Lezione 7 Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Ing. Saverio De Vito.
Presentazione di sistemi Ambrosio Federica Anna Esposito 3C inf.
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Corso di Informatica Applicata Introduzione Università degli studi di Cassino Corso.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
Il modello di Von Neumann
Acquisizione dati con ADC 0831 e PIC 16F84
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Architettura degli elaboratori
Pic16f84 Assembly I/O.
Transcript della presentazione:

Introduzione ai Microcontrollori Una prima definizione I microcontrollori sono utilizzati per gestire segnali in ingresso (input utente o da sensori), elaborare le informazioni acquisite e controllare di conseguenza un insieme più o meno vario di attuatori e dispositivi di output

I microcontrollori nelle nostre case Sistemi antifurto televisori videoregistratori cronotermostati nei telefoni I microcontrollori nelle nostre auto sistemi di chiusure delle portiere iniezione di carburante ABS climatizzatore airbag navigatori satellitari

Architettura di un microcontrollore ALULogica di Controllo Memoria Alimentazione Clock Piedini I/O L’architettura è molto simile a quella di un microprocessore con una differenza sostanziale Il microntrollore integra al proprio interno tutti, o quasi, questi elementi In un sistema a microprocessore queste componenti sono separate e comunicano attraverso uno o più bus

Le famiglie di micro Micro embedded Micro con memoria esterna DSP Differiscono per Utilizzo Numero periferiche integrate

I micro embedded Tutte le componenti sono integrate (ALU, RAM, EEPROM, I/O, clock) Potenza di calcolo limitata economici ALULogica di Controllo Memoria

I micro con memoria esterna RAM interna e capacità di interfacciare banchi esterni Algoritmi complessi Maggiore complessità nella progettazione ALULogica di Controllo Memoria

Digital Signal Processor ALU molto efficiente Convertitore AD Vengono utilizzati per applicazioni Real Time

I micro CISC Complex Instruction Set Computer Gran numero di istruzioni Servono a compiti di particolare difficoltà Ogni istruzione ha un suo proprio tempo di esecuzione (numero di periodi) I micro RISC Reduced Instruction Set Computer Set di istruzioni limitato È compito del programmatore implementare algoritmi complessi Tutte le istruzione hanno lo stesso tempo di esecuzione (numero di periodi)

Il microprocessore PIC 16F84 Architettura Harvard Memoria di programma 1024 righe da 14 bit (EEPROM program memory) Memoria dati 36 celle da 8 bit (RAM) Registri speciali 15 celle da 8 bit (RAM) Registro accumulatore W È di tipo RISC Il set di istruzioni è composta da solo 35 istruzioni Ogni istruzione 1 ciclo macchina pari a 4 periodi Solo le istruzioni di salto richiedono 2 cicli macchina cioè 8 periodi

Il microprocessore PIC È di tipo RISC Il set di istruzioni è composta da solo 35 istruzioni Ogni istruzione 1 ciclo macchina pari a 4 periodi Solo le istruzioni di salto richiedono 2 cicli macchina cioè 8 periodi

Architettura Harvard La fase di Fetch carica l’istruzione dalla memoria istruzione La fase di execute è interna alla cpu La fase di scrittura coinvolge cpu e memoria dati La fase di Fetch e la fase di scrittura coinvolgono dispositivi e bus diversi  possono avvenire in contemporanea ALULogica di Controllo Memoria istruzioni Memoria dati Consideriamo un’applicazione che in loop Legge un’istruzione - fase di Fetch (F) L’esegue – fase di execute (E) Scrive il risultato in memoria (S) FetchF1F2F3F4 ExecuteE1E2E3 ScritturaS1S2

Le memorie dei microcontrollori Memoria variabile (file register) Di tipo RAM Memorizza variabili È estremamente ridotta Memoria codice (program memory) Di tipo EEPROM flash (più facilmente aggiornabile) Memorizza le istruzioni del programma Dimensione: qualche kilobyte Memoria dati Di tipo EEPROM Serve a mantenere informazioni anche in assenza di alimentazione (es. taratura o personalizzazione) Dimensioni molto ridotte (64 byte x 8 bit nel PIC 16F84) Memoria esterna Solo nei micro a memoria esterna Di tipo RAM

Il PIC16F84A Memoria codice (program memory) Memoria di tipo EEPROM flash Non è modificabile run-time 1Kbyte x 14 bit 1024 righe (un programma può contenere al più 1024 istruzioni) 14 bit (ogni istruzione è codificata con 14 bit ed occupa 1 sola parola) Da 000H a 3FFH La cella 000 contiene la prima istruzione da eseguire dopo il reset (RESET VECTOR) ORG 0x00 La cella 0004 contiene la prima istruzione da eseguire dopo l’interrupt (INTERRUPT VECTOR)

Il PIC16F84A Memoria variabile (register file) Memoria di tipo RAM Modificabile run-time Organizzata in due banchi Si può accedere ad un solo banco alla volta selezionandolo con il bit5 del registro STATUS Registri di uso speciale a 8 bit Banco 0 00H-0BH Banco 1 80H-8BH Registri di uso generale a 8 bit Banco 0 0CH-4FH (68 byte)

Il PIC16F84A Registri di uso speciale W STATUS TRISA, TRISB PORTA, PORTB OPTION INTCON PCL TMR0

Il registro W (accumulatore) È l’unico registro ad avere accesso diretto  tutte le operazioni di caricamento devono necessariamente coinvolgere W Se ad esempio voglio caricare un valore nel file register all’indirizzo 0C devo Caricare il valore su W Copiare il contenuto di W in 0C Esempio: MOVLW120;carica 120 in W MOVWF0Ch;copia W in 0CH MOVLW120;carica 120 in W MOVWFPORTB;copia W in PORTB Il PIC16F84A

Il registro STATUS Il PIC16F84A

I registri PORTA e TRISA Il PIC16F84A BSF STATUS, RP0 ; Select Bank 1 MOVLW 0x0F ; scrivi in W MOVWF TRISA ; Scrivi W in TRISA Set RA as inputs; RA4 as output BCF STATUS, RP0

I registri PORTB e TRISB Il PIC16F84A BSF STATUS, RP0 ; Select Bank 1 MOVLW 0xFF ; scrivi in W MOVWF TRISA ; Scrivi W in TRISA Set RB0-RB7 come input BCF STATUS, RP0

Il registro OPTION Il PIC16F84A

Il registro INTCON Il PIC16F84A

Il registro TMR0 Il PIC16F84A The Timer0 module timer/counter has the following features: 8-bit timer/counter Readable and writable Internal or external clock select Edge select for external clock 8-bit software programmable prescaler Interrupt-on-overflow from FFh to 00h

Il registro PCL Il PIC16F84A The program counter (PC) specifies the address of the instruction to fetch for execution. The PC is 13 bits wide. The low byte is called the PCL register. The high byte is called the PCH register. This register is readable and writable.

La programmazione del Pic 16F84A

Set Istruzioni Processore RISC (Reduced Instruction Set Computer) 35 istruzioni base(assembler del PIC 16F84A) Le istruzioni sono strutturate mnemonico operando (o operandi) esempio: MOVWF TRISB; metti W in TRISB BCF PORTA, 4; metti a 0 bit 4 di PORTA Tempo di esecuzione di una istruzione 1 ciclo macchina (4 periodi di clock) 2 cicli macchina per le istruzioni di salto esempio: se la f Ck = 1MHz si ha T Ck =1  s e quindi il PIC 16F84A impiega 4  s per eseguire una singola istruzione

Esempi Configurazione PORTB Coinvolge i registri W e TRISB (banco 1) Definisce la direzione (input/output) delle singole linee della porta. NON effettua operazioni di I/O W W TRISB B MOVLW B;  W MOVWF TRISB; W  TRISB Configuro i bit 0,1 come ingressi, gli altri come uscite del registro PORTB; di conseguenza i pin RB0,RB1 sono utilizzati per acquisire due bit, i pin RB2- RB7 sono usati come output

Esempi Output dati su PORTB Coinvolge i registri W e PORTB (banco 0) Copia il dato memorizzato in W in PORTB Effettua una operazione di output MOVWF PORTB; W  PORTB W W PORTB Input dati da PORTB Coinvolge i registri W e PORTA (banco 0) Legge i dati da PORTB e li memorizza in W Effettua una operazione di input PORTB W W MOVF PORTB,W; PORTB  W

Esempi Selezione If-Then IF condizione THEN salta l’istruzione successiva ELSE esegue istruzione successiva Esempio: se bit5 di PORTB è 0 allora salta l’istruzione altrimenti esegui l’istruzione successiva BTFSCPORTB, 5; skip if PORTB(5)=0 BCFPORTB, 5 ; 0  PORTB(5) istruzione condizione V F

Esempi Selezione If-Then-Else SE condizione ALLORA esegue istruzioni 1 ALTRIMENTI esegue istruzioni 2 Esempio: se bit5 di PORTB è 0 allora metti a 1 il bit0 di PORTB altrimenti mettilo a zero SEBTFSC PORTB, 5;(IF) skip if PORTB(5)=0 GOTOALTR BSFPORTB, 0 ;(Then) 1  PORTB(0) GOTOFINE_SE ALTRBCF PORTB, 0;(Else) 0  PORTB(0) FINE_SEGOTO MAIN V F Istruzioni 2 Else Then Istruzioni 1 goto EndIf condizione EndIf goto Else

Esempi Cicli Repeat-Until Occorre una variabile contatore Ad ogni ciclo: Si eseguono le istruzioni Si decrementa il contatore Si verifica se il contatore vale 0; se non è zero si ripete il ciclo Esempio: Ripetere 5 volte il blocco “istruzioni” CONTEQU0CH; cont nella locazione 0CH MOVLW5; 5  W MOVWFCONT; W  Cont LOOP ; inizio ciclo (Repeat) ISTR ; blocco istruzioni DECFSZ CONT, 1 ; Count – 1 ; skip if cont=0 GOTOLOOP ; fine ciclo (Until) V F cont := cont - 1 InizioCiclo istruzioni cont := n goto InizioCiclo cont = 0 ?

Esempi Sottoprogrammi CALL sottoprogramma Esempio: Il sottoprogramma esegue 256 cicli senza fare nulla generando un ritardo temporale … istruzioni 1 CALL CIAO ; chiama sottoprogramma … istruzioni 2 CIAO… istruzioni 3; inizio sottoprogramma RETURN ; fine sottoprogramma return Sottoprogramma Istruzioni 2 call Sottoprogramma Istruzioni 3 Istruzioni 1 Programma principale