+ All Categories
Home > Documents > Nicola AmorosoNA – L4 4 Dopo aver scritto il programma , cioè il codice sorgente, lo si compila:...

Nicola AmorosoNA – L4 4 Dopo aver scritto il programma , cioè il codice sorgente, lo si compila:...

Date post: 11-Apr-2020
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
28
NA – L4 1 Corso introduttivo sui microcontrollori A. S. 2007 – 2008 La programmazione dei PIC Assembler: esempi - applicazioni Nicola Amoroso [email protected] http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/
Transcript
Page 1: Nicola AmorosoNA – L4 4 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

NA – L4 1

Corso introduttivo sui microcontrollori

A. S. 2007 – 2008

La programmazione dei PICAssembler: esempi - applicazioni

Nicola [email protected]

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 2: Nicola AmorosoNA – L4 4 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

NA – L4 2

La programmazione dei PICUn programma in assembler è scritto come codice sorgente (un semplice file ditesto) su un normale PC, qualsiasi text-editor (es. notepad, blocco note di MSWindows, etc…) può essere usato.Il PIC development system software MPLAB (dowload gratuito suhttp://www.microchip.com) contiene un editor di testo per la scrittura di codice.Le istruzioni sono semplici e facilmente consultabili sul Data-Sheet delmicrocontrollore PIC16F877 (Table 13-2); il codice scritto viene salvato conestensione “*.ASM “ (Es. Led_Blinking.asm).Il codice sorgente, in assembler, viene quindi “compilato” (convertito inlinguaggio macchina) mediante il compilatore MPASM (Gratuito e compreso inMPLAB) che converte in binario il codice sorgente (visibile con un editoresadecimale – Hex editor, come sequenza di numeri esadecimali). L’estensione diquesto file è “*.HEX” (Es. Led_Blanking.hex).Mediante un opportuno programmatore (opportunamente interfacciato al PC),questo “codice binario” viene memorizzato nella FLASH PROGRAM MEMORYdel controllore.

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 3: Nicola AmorosoNA – L4 4 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

NA – L4 3

Esempio di file HEX:1000000008308A00C92D0000FF00030E8301A10003:100010000A08A0008A010408A2007708A300780853:10002000A4007908A5007A08A6007B08A70083131E:1000300083128B1E1D280B1936288C308400801EDD:1000400023288C1A3928220884002308F700240862:10005000F8002508F9002608FA002708FB00200808:100060008A00210E8300FF0E7F0E09008A110A12FA:10007000E4288A110A1287280A108A100A118207B6:1000800020344D34413441345234533420345334C9:1000900054344134523454345534503420344D3473....................:103F10008A1525308316B0000A128A1183120426EE:103F20000A168A1501308316B0000A128A1183120C.....................:103F6000B12E0A148A140A158207FE2CFE2CFE2C90:023F7000FE2C25:02400E00323F3F:00000001FF;PIC16F876

La programmazione dei PIC;************** Esempio file assembler *************;Led blinking -> ON/OFF ogni 500 ms;Led collegato su RB0;N.A. October 2004;********************************************PROCESSOR 16F877A ;Direttive preprocessore

RADIX DECINCLUDE "P16F877A.INC"

ERRORLEVEL -302__CONFIG 3FF1H

LED EQU 0 ;Bit 1 della porta relativaORG 20h ;Registro general purpose

ram RES 2 ;Riservo due registri a 8 bitORG 00H ;Start reset vectorbcf STATUS,RP1 ;Scelgo il Bank 1bsf STATUS,RP0 ;RP1=0 RP0=1movlw 00111111B ;Bit PORTA come inputmovwf TRISAmovlw 11111110B ;Bit1 PORTB in Outmovwf TRISB ;gli altri bit in inputbcf STATUS,RP0 ;Torno al Bank0bsf PORTB,LED ;Accendo il Led

Loop ; Labelcall Delay ;Delay 500 msbtfsc PORTB,LED ;Spengo il ledgoto Spegni ;se è accesobsf PORTB,LED ;Accendo il ledgoto loop ;Jump a Loop

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 4: Nicola AmorosoNA – L4 4 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

NA – L4 4

Dopo aver scritto il programma , cioè il codice sorgente, lo sicompila: viene creato un file oggetto con estensione .HEX, il qualedeve 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

La programmazione dei PIChttp://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 5: Nicola AmorosoNA – L4 4 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

NA – L4 5

La Demo-Board “AnxaPic3”

16

15

17

19

18

20

14 121110

9

6

8

7

6

3

1

45

13

2

1. LCD Display2. LCD Contrasto – Luminosità3. Cicalino4. Alimentazione 9-12 Vcc5. Power ON-OFF6. ICD2 - PicKit2 Programmer7. RS232 Com8. EEPROM9. Cicalino Pin select10. Pull-Up [A4-B5-B4-B2-B1-B0] 11. I2C Conn12. 1-Wire Conn13. Tastierino 4x4 Conn14. Expansion-Replicate PORT15. Expansion BUS Conn16. RTC Conn17. ADC Pot18. RB0 Interrupt Sw19. Reset Sw20. Display Pin Select21. I2C Pull-Up22. RS232 Rx-Tx En/Dis23. [RA0 ADC – LD1] ON/OFF

10

23

21

22

Pull-Up [A4-B5-B4-B2-B1-B0]

23

21 20 22

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 6: Nicola AmorosoNA – L4 4 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

NA – L4 6

La Demo-Board AnxaPic3 [Schema elettrico]

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 7: Nicola AmorosoNA – L4 4 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

NA – L4 7

La programmazione dei PICPIC Software

Il sistema integrato “MPLAB IDE” è il mezzo più efficace per lavorare con imicrocontrollori PIC.

MPLAB viene eseguito su un PC, quando il codice è scritto e compilato, ilfunzionamento dello stesso può essere “simulato” e “verificato” all’interno diMPLAB stesso, successivamente il programma può essere memorizzato nellaFlash Memory Program del controllore mediante opportuno programmatorecollegato (USB/RS232C/PARALLEL) con un PC.

Uno degli strumenti più utili eversatili, per programmare il PIC,è l’ICD (In Circuit Debugger) -Programmer che permette diprogrammare oppure effettuare ilDebug (verifica codice step bystep) in modo diretto mediantel’ausilio del collegamento“USB/RS232C” con un PC e iPIN RB6 e RB7 del controllore.

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 8: Nicola AmorosoNA – L4 4 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

NA – L4 8

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Il sistema integrato MPLAB IDE ha un text-editor incluso perla scrittura del codice; può essere scaricato gratuitamente dalsito della Microchip [http://www.mcrochip.com]

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 9: Nicola AmorosoNA – L4 4 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

NA – L4 9

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

MPLAB è un “sistema integrato” che permette di creare e sviluppare un programmacon estrema facilità. Lo si può descrivere come uno ambiente di sviluppo (IDE) per undeterminato linguaggio standard necessario per programmare un MicrocontrolloreMicrochip. Non occore eseguire funzioni mediante riga di comando ma tale ambientedi sviluppo è in grado di supportare l’operatore in tutte le fasi, dalla scrittura delcodice fino alla simulazione e anche fino alla fase di emulazione con opportuno hw.

Creazione di un progetto

La preparazione del programma da caricare nel

microcontrollore richiede i seguenti passi:

1. Creare un progetto

2. Scrivere il programma

3. Convertirlo in binario (compilare)

La prima schermata dopo l’apertura di MPLAB

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 10: Nicola AmorosoNA – L4 4 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

NA – L4 10

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Creazione di un progetto: Creare un nuovo progetto

Cliccare su PROJECT e successivamente suPROJECT WIZARD

sarà aperta la seguente finestra. Cliccare su NEXT per continuare

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 11: Nicola AmorosoNA – L4 4 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

NA – L4 11

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Creare un nuovo progetto

Occorre adesso scegliere l’appropriatomicrocontrollore della famiglia PIC. Nellaseguente videata viene scelto ilPIC16F84A.

N.B: => Noi lavoreremo sempre con i PIC16F877/16F877A

Scegliere il microcontrollore appropriato. Cliccare su NEXT per continuare

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 12: Nicola AmorosoNA – L4 4 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

NA – L4 12

Creare un nuovo progetto

Selezionare il corretto “language toolsuite”Cliccare su NEXT per continuare

Nome del progetto.Cliccare su NEXT per continuare

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Il passo successivo consiste nel definire illinguaggio che si intende utilizzare per laprogrammazione. Se useremo il linguaggioassembler, occorre selezionare l’opzione“Microchip MPASM Toolsuite”

Indichiamo il nome del progetto e il percorso. Ilnome dovrebbe riflettere lo scopo e il contenutodel programma

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 13: Nicola AmorosoNA – L4 4 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

NA – L4 13

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Creare un nuovo progetto

si aprirà la finestra “summary” contenente i parametri precedentemente definiti

Cliccare FINISH per creare il progetto

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 14: Nicola AmorosoNA – L4 4 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

NA – L4 14

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Scrivere il programma: Creare un nuovo file in assembler

Dopo aver creato il progetto mediante il wizardapparirà la seguente schermata.

Adesso dobbiamo scrivere il programma,questa operazione richiede ulteriori file dadover creare/aprire e aggiungere al progetto.

Cliccare su FILE > NEW, si aprirà unanuova finestra all’interno della workingarea di MPLAB (La nuova finestra conterràil programma che si dovrà scrivere). Dopoaver aperto il nuovo file dobbiamo salvarlo(è buona regola), useremo il solito percorsoin cui è salvato l’intero progetto, ed il nomedel file sarà “Blink.asm", questo è un nomeche ci permetterà di ricordare la natura delprogramma (ad esempio lampeggio di undiodo led collegato sul pin RD3 della portaD del microcontrollore della DemoBoardAnxaPIC).

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 15: Nicola AmorosoNA – L4 4 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

NA – L4 15

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Premere il tastodestro del mousesul “source file”nella finestra diprogetto.

Inserimento di un nuovo file Assembler nel progetto. Inomi di file e progetto sono puramente indicativi.

Per includere un nuovo file al progetto.

Questo aprirà unapiccola finestracon due opzioni.

Scegliamo: "AddFiles"

Creare un nuovo file in assembler

Si apre una nuova ‘browse window’ cerchiamo lanostra cartella di progetto e selezioniamo il file".asm", da aggiungere al progetto..

Inserimento di un nuovo file Assembler nel progetto.N.B. => Nomi puramente indicativi!

Creare un nuovo file in assembler

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 16: Nicola AmorosoNA – L4 4 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

NA – L4 16

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Creare un nuovo file in assembler

La fnestra di progetto dopoaver aggiunto il file assembler.

Scriviamo nella finestra di editor il codice “assembler” per il nostro programma.

; Anxa3 Led Blinking; BLINK.ASM; -------------------------------------------------; LED ON-OFF con ritardo di circa 500 ms; Il led è collegato su RD3; -------------------------------------------------; Hardware => AnxaPic3 v3.0 rA; Processor => Pic16F877; Clock => 10 MHz; -------------------------------------------------; (C)N.A. August 2007;**************************************************

PROCESSOR 16F877RADIX DEC

; INCLUDE "P16F877.INC"; --- Setup of PIC config fuses……………………………………………………..

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 17: Nicola AmorosoNA – L4 4 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

NA – L4 17

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Creare un nuovo file in assembler

La fnestra di editor può essere personalizzata con numeri di riga e altro => [Edit > Properties …]

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 18: Nicola AmorosoNA – L4 4 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

NA – L4 18

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Compilare il progetto: Creare un file .hex

Al termine della scrittura del programma nella finestra dieditor, dopo aver verificato la correttezza del codice scritto eaver salvato il file con estensione “.asm”, siamo pronti acompilare il progetto, per farlo andiamo su PROJECT ->BUILD ALL; questo comando traduce il file assembler in unfile eseguibile in formato HEX (esadecimale). Apparirà unafinestra di log nella quale verrà indicato se la compilazione èandata a buon fine. "BUILD SUCCEEDED" è un messaggioche indica la corretta compilazione (nessun errore).

In caso di errori è possibile fare doppio click sul messaggio d’errore nella finestra di “Output”ed automaticamente verrà mostrato il codice assembler esattamente alla linea dove si è incontratol’errore.

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 19: Nicola AmorosoNA – L4 4 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

NA – L4 19

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Il simulatore software MPSIM

l simulatore è una parte dell’ambiente MPLAB il quale permette di avere una visione globale sulcomportamento del nostro programma per un determinato microcontrollore permettendoci diverificare che il comportamento dello stesso sia corretto.Mediante il simulatore possiamo monitorare il valore corrente delle variabili utilizzate, dei registrie lo stato delle porte a livello di pin. Il valore aggiunto dato dal simulatore non è sempre costanteinfatti dipende dal programma che stiamo simulando.Se abbiamo un programma semplice (come questo da noi creato come esempio), la simulazionenon è così importante poichè portare il valore sul pin della porta D non è poi così difficile darealizzare; diversamente si rivela uno strumento indispensabile nel caso di programmi piùcomplessi che magari contengano timers, oppure operazioni matematiche. La simulazione, cosìcome indicato dal nome, “simula l’operare di un microcontrollore”. Il simulatore esegue ilprogramma linea per linea ed evidenzia i valori dei registri e variabili del microcontrollore.Dopo aver scritto il programma è buona norma simularlo per controllare di non aver commessoerrori o che quanto realizzato soddisfi i nostri obbiettivi, successivamente si può far girarel’applicazione in un sistema reale.La simulazione è un passo importante nella realizzione di un progetto con microcontrollori.

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 20: Nicola AmorosoNA – L4 4 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

NA – L4 20

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Il simulatore software MPSIM

Per aprire il simulatore cliccare su: DEBUGGER > SELECT TOOL > MPLAB SIM

Appariranno quattro nuove icone sulla destra. Sono relative alla simulazione con il seguente significato

Una delle principali caratteristiche del simulatore è l’abilità di visualizzare lo stato dei registriall’interno del microcontrollore. Questi vengono anche chiamati “special function registers”, ovveroSFR. Possiamo visualizzarli cliccando su VIEW > SPECIAL FUNCTION REGISTERS.Oltre agli SFR, è utile dare uno sguardo nei file registers. La rispettiva finestr può essere aperta

cliccando su VIEW > FILE REGISTERS.Inoltre se il programma contiene delle variabili può essere interessante monitorarle. Ciascuna

variabile viene visualizzata in una finestra (Watch Windows) cliccando su VIEW > WATCH.

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 21: Nicola AmorosoNA – L4 4 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

NA – L4 21

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Il simulatore software MPSIM

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 22: Nicola AmorosoNA – L4 4 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

NA – L4 22

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Il simulatore software MPSIM

Quando tutte le variabili e registri di nostro interesse sono visibili nella workarea, possiamo iniziarela simulazione.La prima cosa da fare è il reset del microcontrollore mediante il comando DEBUGGER >RESET oppure cliccando sulla icona di reset. Verrà evidenziata una freccia in verde a sinistradella prima linea del grogramma, e il program counter PCL verrà resettato a zero, questopuò essere visto nella finestra dei registri (Special Functions Registers window).

Possiamo impartire il comando Step Into oppure Step Over, a seconda se si vogliano eseguire omeno step by step le subroutine. I medesimi comandi possono essere impartiti da tastiera mediantei tasti F7 o F8.

Nella finestra SFR, Si può osservare come i vari registri cambiano i rispettivi valori al variare dellerighe di codice e di come il registro W immagazzini e trasferisca i rispettivi valori alla porta D (inquesto esempio di Led ON-OFF su RD3).

Durante la simulazione evitare di entrare nelle routine di “delay” in quanto in queste routine iregistri interessati cambiano stato migliaia di volte e solo dopo lungo tempo si riesce ad eseguirel’intera soubroutine, è sempre utile utilizzare step over (F8) nella fase di simulazione (Spesso leroutine di ritardo vengono disabilitate nella simulazione).

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 23: Nicola AmorosoNA – L4 4 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

NA – L4 23

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

MPLAB e Proteus VSM

Proteus VSM (Virtual System Modelling – Labcenter Electronics UK) è uno dei sistemi piùavanzati per la simulazione di circuiti digitali-analogici comprendenti microcontrollori; è l’unico,sino ad oggi, ad avere un larghissimo range di modelli software per microcontrollori.E’ possibile integrare Proteus VSM all’interno di MPLAB IDE è procedere con la simulazione inmodo più avanzato rispetto a quanto visto con il modulo MPSIM di Microchip.Per lavorare con MPLAB IDE e Proteus VSM bisogna avere disponibile il software proteus-mplabPlugin e installare lo stesso dopo aver installato MPLAB IDE.

Lo schema del circuito da simulare deve essere realizzato al di fuori di MPLAB con il modulo“Isis” di proteus, non modificare il circuito originale all’interno di MPLAB è sempre buona normautilizzare “Isis” per realizzare e modificare gli schemi.

Caricare lo schema nel modulo Proteus in MPLAB mediante gli opportuni menu di Proteus.

Per il software del micro si procede come visto in precedenza: => Progetto -> Compilazione -> filecompilato; siamo a questo punto pronti per la simulazione, bisogna solo associare il file compilato(.Hex) al microcontrollore dello schema (Vedasi mauale proteus VSM).

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 24: Nicola AmorosoNA – L4 4 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

NA – L4 24

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Per caricare e aprire il modulo PROTEUS VSM in MPLAB IDE selezionare ilmenu: Debugger > Select Tool > Proteus VSM

MPLAB e Proteus VSM

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 25: Nicola AmorosoNA – L4 4 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

NA – L4 25

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Il modulo Proteus VSM in MPLAB IDE – Simulazione Visual con microcontrollori PIC

MPLAB e Proteus VSM

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 26: Nicola AmorosoNA – L4 4 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

NA – L4 26

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Il modulo Proteus VSM in MPLAB IDE – Simulazione Visual con microcontrollori PIC

MPLAB e Proteus VSM

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 27: Nicola AmorosoNA – L4 4 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

NA – L4 27

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Programmare il PIC

Una volta che il programma è stato scritto, compilato e simulato possiamo passare allaprogrammazione del PIC.

Innanzitutto bisogna selezionare iltipo di programmatore di cuidisponiamo tra quelli elencati nelmenu Programmer > SelectProgrammer

N.B. => L’Hardware necessarioviene installato con l’installazionedi MPLAB nel PC; in questo casosi sceglie il programmatorePicStart Plus della Microchip

Una volta selezionato il programmatorecomparirà una nuova barra deglistrumenti, la barra degli strumenti delprogrammatore:

Prima di eseguire la programmazione ènecessario configurare i bit riguardantiil tipo di oscillatore e tutte le altreopzioni attivabili del microcontrollore(Watchdog timer ecc…)

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Page 28: Nicola AmorosoNA – L4 4 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

NA – L4 28

La programmazione dei PICIl sistema di sviluppo MPLAB IDE

Programmare il PIC

Per fare questo basta sceglire nel menucorrispondente, la voce: Configure >Configuration Bits

N.B. => Spesso la configurazione delcontrollore viene “settato” nel programmache stiamo compilando, ad es. in assemblervi è la direttiva “__Configure xxxxH. “ cheassolve a questo compito. Il valoreesadecimale “xxxx” è un numerocorrispondente ai fuses attivati

Comparirà quindi una finestra nella quale potremoeditare le varie voci

N.B. => In questo esempio il valore esadecimale3F52 è il numero corrispondente allaconfigurazione scelta.La direttiva assembler __Configure sarà inquesto caso: __Configure 0x3F52

N.B. => Sul microcontrollore non finisce la versione salvata del programma compilato ma l’ultimaversione di cui è stato fatto il BUILD, MPLAB IDE darà comunque un messaggio di avvertimento ariguardo nel caso in cui il programma sia stato modificato e non sia stato fatto il BUILD.

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/


Recommended