Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di...

65
Microcontrollori Laboratorio di Elettronica Ph.D. Massimo Merenda Email: [email protected]

Transcript of Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di...

Page 1: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Microcontrollori

Laboratorio diElettronica

Ph.D. Massimo Merenda Email: [email protected]

Page 2: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Laboratorio diElettronica

�Development Tools�Development Tools�Evaluation Tools�Webinars

�MPLAB IDE�Compilers�Librerie�RTOS

Page 3: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Laboratorio diElettronica

�Free Compilers�Free Samples�Free Technical Support�Discount on tools

Page 4: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Microcontrollore (µC)

Dispositivo elettronico che integra i circuiti necessari a realizzare un completo sistema digitale programmabile

Laboratorio diElettronica

realizzare un completo sistema digitale programmabile

Realizzazione di sistemi elettronici ottimizzati per lagestione ed il controllo di apparecchiature anche moltocomplesse

Page 5: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Microcontrollore (µC)

8-bit RISC CPUI/O PINS

Laboratorio diElettronica

I/O PINSTimersAnalog comparatorsA/D convertersUSART, SPI, I2C, USBCapture, Compare, PWMReal Time Clock (RTC)

Page 6: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Sistema Embedded• Sistema di elaborazione specializzato che contiene uno o più sistemi digitali programmabili

Laboratorio diElettronica

• Il controllo delle funzioni è possibile tramite un apposito software custom

Page 7: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Architettura Interna

Laboratorio diElettronica

Page 8: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Architettura di un calcolatore

Laboratorio diElettronica

Page 9: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Laboratorio diElettronica

Page 10: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Laboratorio diElettronica

32bit

Page 11: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� CPU RISCPrincipali funzioni

Trasferimento Dati

Laboratorio diElettronica

Trasferimento DatiControllo di flussoElaborazioni aritmetiche e logiche

Registro Accumulatore (W)Program Counter (PC)Instruction Register (IR)

Array Register

Page 12: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� RISC vs CISCComplex Instruction Set Computer• Molte istruzioni (>100)

Laboratorio diElettronica

• Molte istruzioni (>100)

• Molti metodi di indirizzamento

• Più di un ciclo macchina per istruzione

Reduced Instruction Set Computer• Poche istruzioni (<100)

• Pochi metodi di indirizzamento

• Solo un ciclo macchina per istruzione

Page 13: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� BUS

Insieme dei collegamenti fisici tra CPU, memoria e gli altri blocchi funzionali

Laboratorio diElettronica

e gli altri blocchi funzionali

DATA

ADDRESS

CONTROL

Page 14: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Laboratorio diElettronica

� Long Word Instruction

� Bus separati permettono differenti dimensioni dei BUS

8-Bit InstructionMotorola M68HC05National COP8Zilog Z8SGS Thomson ST62

ProgramMemory

differenti dimensioni dei BUS� L’Architettura Harvard permette

istruzioni single word/single cycle

� Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit

� Single cycle access aumenta la velocità di esecuzione

1000 0110

kk kk kk kk

8-bit Instructionldaa #imm<8>

SGS Thomson ST62Intel / Philips 80C51

kk kk kk k0000 1110

16-bit Instruction

k

movlw k

Long Word InstructionMicrochip PICmicro

ProgramMemory

Page 15: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Laboratorio diElettronica

L’esecuzione di un’istruzione da

� PIPELINE

un’istruzione da parte della CPU è divisa in due fasi:

• FETCH

• EXECUTE

Page 16: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Laboratorio diElettronica

TCY=0 TCY=1 TCY=2 TCY=3 TCY=4 TCY=5Instruction Cycles :

� PIPELINE

Fetch 1 Execute 1���� MOVLW 0x55

���� MOVWF PORTB Fetch 2 Execute 2

Fetch 3 Execute 3

Fetch 4 Flush

Fetch SUB Execute SUB

���� CALL SUB

���� BSF PORTA,3

���� Instruction @ SUB

Page 17: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Architettura HARVARD

Laboratorio diElettronica

Nei PIC MicrochipData e Program Bus

Von NeumannArchitecture

8-bit Bus

CPU

Program

& Data

MemoryData e Program Bus separati, in aggiunta a tecniche di pipeline, permettono alla CPU di effettuare 1 istruzione RISC ogni ciclo macchina

CPU

Page 18: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

�� Register FileRegister File

Laboratorio diElettronica

Register File : A differenza di altri processori RISC, tutta la data memory fa parte del register file, in modo da far sì che si possa operare direttamente sulla data

w f

Data

Memory

operare direttamente sulla data memory

Tutte le periferiche sono mappate sula data memory come una serie di registri

Orthogonal Instruction Set : Tutte le istruzioni possono operare su tutte le locazioni di memoria

Il formato Long Word Instruction permette di avere un register file direttamente indirizzabile

w f

ALU

w f

WREG

d

Esempi di funzioni:

addwf MyReg,w ; WREG = WREG + MyRegaddwf MyReg,f ; MyReg = WREG + MyReg

Page 19: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Reduced Instruction Set

� Harvard Architecture

� Instruction Pipelining

Laboratorio diElettronica

� Long Word Instructions

� Large Register File

� Orthogonal Instruction Set

� Single Cycle Instructions

Page 20: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Memoria• Istruzioni (Program Memory)• Dati (RAM, EEPROM)

Laboratorio diElettronica

• Dati (RAM, EEPROM)

• ROM – Read Only Memory• RAM – Random Access Memory• EEPROM – Electrically Erasable Prom• FLASH – Scrittura e cancellazione elettriche a blocchi

Page 21: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Program Memory

Laboratorio diElettronica

La program memory dei PICMicro ad 8bit è composta da 1024 locazioni di 14bit ciascuna ed indirizzate da 0x0000 abit ciascuna ed indirizzate da 0x0000 a0x03FF.L’indirizzamento è ciclico per cuiriferendosi ad esempio all’indirizzo0x0400 (il primo successivo a 0x03FF)equivale a riferirsi all’indirizzo 0x0000.L’indirizzo 0x0000 è noto anche comeReset Vector ed è l’indirizzo caricatonel Program Counter al reset.

Page 22: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

�� IndirizzamentoIndirizzamento –– AccessoAccesso allaalla Data MemoryData Memory

Laboratorio diElettronica

Diretto:Diretto:movwf <reg>

Indiretto:movwf INDF

Immediato (literal)movlw <const>

Page 23: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Memoria Dati

Laboratorio diElettronica

La memoria dati dei PICMicro ad 8 bit èsuddivisa in due banchi denominatisuddivisa in due banchi denominatiBank0 e Bank1. Ciascun banco è a suavolta suddiviso in due aree dette SFR(Specific Function Register, prime 12locazioni) e GPS (General PurposeRegister). Il banco si specificatramitel’apposito bit del registro STATUS.L’area SFR consente di monitorare econtrollare le periferiche.

Page 24: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Clock e Timing

Laboratorio diElettronica

Page 25: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Clock

Segnale di sincronia necessario per eseguire le ist ruzioni e per il corretto funzionamento delle periferiche

Laboratorio diElettronica

4 Periodi di Clock generano 1 Ciclo Macchina

Frequenza delle istruzioni del programma è ¼ della frequenza del clock del PIC

La potenza di calcolo di un PIC si ottiene dividend o per quattro la frequenza di clock. Ad esempio: 20 MHz / 4 = 5 MIPS.

Page 26: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Laboratorio diElettronica

� Oscillatore

Generazione del clock • Interno (max 16 MHz)• Interno (max 16 MHz)

• Esterno (max 80 MHz)

• 32 modalità differenti

Page 27: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Interrupt

Laboratorio diElettronica

Page 28: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Laboratorio diElettronica

� InterruptE’ la segnalazione che viene fatta al microcontroll ore da una

periferica o dal mondo esterno al verificarsi di un

determinato evento asincrono

Page 29: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Laboratorio diElettronica

� Interrupt - Latenza

Intervallo di tempo tra il

verificarsi dell’evento e l’istante verificarsi dell’evento e l’istante

in cui inizia l’esecuzione del

servizio di interrupt

Esterni -> 3-3.75 cicli macchina

Interni -> 3 cicli macchina

Page 30: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Periferiche

Laboratorio diElettronica

Page 31: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� I/O Ports

• Periferiche semplici

• Interfaccia con il mondo esterno

Laboratorio diElettronica

• Interfaccia con il mondo esterno

• Flessibilità e funzionalità

La bidirezionalità consente la configurazionecome ingressi permettendo al programma di rispondere ad eventi esterni come la pressione di un tasto, l’acquisizione da un sensore, o comunicare con altri dispositivi esterni.

Page 32: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� I/O Ports

TRIS <X> register controlla la direzione del PORT < X>

PORT <X> register controlla il valore dei pin della PORT <X>

Laboratorio diElettronica

PORT <X> register controlla il valore dei pin della PORT <X>

bsf TRISB,3 -> il pin 3 della PORTB è settato INPUT

bsf PORTB,3 -> il pin 3 della PORTB viene portato a livello

logico alto (1)

Page 33: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Timers• 8/16 bit timer/counter selezionabile via software

• Readable & Writable

Laboratorio diElettronica

• Prescaler 8 bit

• Clock interno o esterno

• Generazione di interrupt all’overflow

• Attivi sul fronte di salita o sul fronte di discesa (selez.)

Page 34: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Timers• Timer Mode -> T0CON <T0CS> = 0

• Counter Mode -> T0CON <T0CS> = 1

Laboratorio diElettronica

�Timer Mode, Timer0 viene incrementato ogni ciclo ma cchina

�Counter Mode, Timer0 viene incrementato ogni fronte di salita

o discesa sul pin T0CKI (T0CON <T0SE> = 0 -> fronte di salita)

Page 35: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Analog to Digital Converter

�Acquisizione di un dato analogico tramite il modulo interno

di campionamento (sample & hold) e conversione ad

Laboratorio diElettronica

di campionamento (sample & hold) e conversione ad

approssimazioni successive (fino a 12 bit)

�Max 13 canali analogici di ingresso multiplexati

�Vref selezionabile dall’esterno (High and low)

�Può lavorare anche in sleep mode e risvegliare il P IC

Page 36: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Analog to Digital Converter

Laboratorio diElettronica

Page 37: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Analog to Digital Converter

Registri interni

Laboratorio diElettronica

• A/D Result High Register (ADRESH)

• A/D Result Low Register (ADRESL)

• A/D Control Register 0 (ADCON0)

• A/D Control Register 1 (ADCON1)

• A/D Control Register 2 (ADCON2)

Risultato

Settingfunction,

PIN e Clock

Page 38: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Analog to Digital Converter

�Acquisition Time è il tempo in cui il segnale è

Laboratorio diElettronica

elettricamente connesso all’hold capacitor

�TAD è il tempo di conversione

Acquisition Time + T AD = Sampling Time

Page 39: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Comparatore

� Il modulo contiene due comparatori integrati analog ici

Laboratorio diElettronica

� I riferimenti possono essere esterni o interni (Vre f),

selezionabili tramite software

� Il registro CMCON controlla le varie configurazioni

� Il modulo può generare un interrupt

Page 40: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Comparatore

Laboratorio diElettronica

Page 41: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� USART

USART (Universal Synchronous Asynchronous

Laboratorio diElettronica

Transmitter) è un modulo di comunicazione seriale

integrato

Tramite il protocollo RS232, permette al

microcontrollore di comunicare con altri dispostivi

(Master e Slave) e con PC

Page 42: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Programmazione

Laboratorio diElettronica

Page 43: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� ASM

Le istruzioni assembler dei PIC sono < 50, e possono essere riassunte in tre gruppi principali:

Laboratorio diElettronica

e possono essere riassunte in tre gruppi principali:

� Byte-Oriented (operano sui byte)

� Bit-Oriented (operano sui singoli bit)

� Literal and Control (opera su registri speciali)

Page 44: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� ASM

Laboratorio diElettronica

Page 45: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Accendi LED

Laboratorio diElettronica

Page 46: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Direttive ASMPROCESSOR 16F628 Direttiva del compilatore assembler che consente di

definire per quale PIC è stato scritto il nostro source

Laboratorio diElettronica

RADIX DEC

INCLUDE "P16F628.INC“

ORG 0CH

Informa il compilatore che i numeri riportati senza notazione sono numeri decimali

Inclusione nel sorgente del file denominato P16F628.INC

Consente di definire l'indirizzo da cui il compilatore inizia ad allocare i dati o le istruzioni seguenti (in RAM)

Page 47: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Istruzioni ASMCount RES 2 È una definizione di variabile (“Count” è una label) a 16

bit, RES 2 indica la richiesta di due locazioni di memoria

Laboratorio diElettronica

ORG 00H

bsf STATUS,RP0

movlw 00011111Bmovwf TRISA

Inizio programma vero e proprio; da qui in poi i codici sono istruzioni da convertire negli opcode corrispondenti

B(it) S(et) F(ile Register) Status, RP0, ovvero mette alto il 5°bit (RP0=5) del File Register Status

Con l’istruzione precedente, si abilita l’accesso ai file register TRISA e TRISB; con questa doppia istruzionesi setta TRISA a 00011111 definendo, in tal modo, il funzionamento di ogni linea di I/O della porta A (RA7->RA0; 1 ingresso, 0 uscita)

Page 48: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� Istruzioni ASMmovlw B'11111110'movwf TRISB

Come l’istruzione precedente, per la porta B.

Laboratorio diElettronica

bcf STATUS,RP0

bsf PORTB, 0

MainLoopCall Delay

Si riporta basso il bit del file register status precedentemente messo alto per modificare TRISX

Accensione del LED: si ottiene ponendo a 1 il pin RB0

Nel loop principale, viene chiamata la subroutine Delayper mantenere acceso il LED circa 1 s

Page 49: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

PROCESSOR 16F628RADIX DECINCLUDE "P16F628.INC"__CONFIG 3FF1HORG 0CHCount RES 2ORG 00H

SetToZerobcf PORTB,0goto MainLoop

Delayclrf Countclrf Count+1

DelayLoopdecfsz Count,1

Laboratorio diElettronica

ORG 00Hbsf STATUS,RP0movlw 00011111Bmovwf TRISAmovlw 11111110Bmovwf TRISBbcf STATUS,RP0bsf PORTB,0MainLoop

call Delaybtfsc PORTB,0goto SetToZerobsf PORTB,0goto MainLoop

decfsz Count,1goto DelayLoopdecfsz Count+1,1goto DelayLoopreturn

END

Page 50: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Laboratorio diElettronica

Page 51: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Laboratorio diElettronica

http://www.oshonsoft.com/

Page 52: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

PCW è un compilatore C Windows IDE(Integrated Development Environment) chepermette di sfruttare al meglio le

� PCW C Compiler IDE

Laboratorio diElettronica

permette di sfruttare al meglio lepotenzialità offerte dai microcontrollori PICutilizzando un linguaggio ad alto livellocome il C.

void main() {while(1){

output_high(PIN_B0);delay_ms(500);output_low(PIN_B0);delay_ms(500);

}}

Page 53: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� PCW C Compiler IDELe funzioni, già pronte da utilizzare e parametrizzabili, sono divise per categoria:

Laboratorio diElettronica

• RS232 I/O• I2C I/O• Discrete I/O• SPI two wire I/O• Parallel Slave I/O• Delays• Processor Controls• Bit/Byte Manipulation• Timers

• Capture/Compare/PWM• A/D Conversion• Analog Compare• Voltage Ref• Internal EEPROM• Standard C Math• Standard C Char• Standard C memory• LCD

Page 54: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� distance = sqrt( sqrt(x1-x2) + sqrt(y1-y2) );

� Esempi

Laboratorio diElettronica

� value = read_eeprom (address)

� printf(“Hello World”);

Page 55: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� CCS

Laboratorio diElettronica

Page 56: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� CCS

Laboratorio diElettronica

Page 57: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� CCS

Laboratorio diElettronica

Page 58: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� CCS

Laboratorio diElettronica

Page 59: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� CCS

Laboratorio diElettronica

Page 60: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� CCS

Laboratorio diElettronica

Page 61: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� CCS

Laboratorio diElettronica

Page 62: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� CCS

Laboratorio diElettronica

Page 63: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� CCS

Laboratorio diElettronica

Page 64: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

� CCS

Laboratorio diElettronica

Page 65: Laboratorio di Elettronica - unirc.it · istruzioni single word/single cycle Una program memory di 2k x 16 su un PICmicro equivale a 4k x 8 su altri microcontrollori a 8-bit Single

Microcontrollori

Laboratorio diElettronica

Ph.D. Massimo Merenda Email: [email protected]