Lezione n°11 - mrscuole.net
Transcript
Lezione n°11 - mrscuole.net
Corso introduttivo sui microcontrollori A. S. 2007 – 2008 Programmare i PIC in linguaggio C Il CCS PCWH Pic-C Compiler Il nostro primo esercizio: Blinking Led Nicola Amoroso [email protected] NA – L11 http://www.mrscuole.net/anxapic/ 1 http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/ Programmare i PIC in linguaggio C Il CCS PCWH Pic-C Compiler – La demo-Board AnxaPic4 La scheda ha a bordo: 2 3 1 4 30 36 23 24 25 26 27 20 28 19 21 22 32 33 37 10 18 17 16 5 7 8 6 29 31 11 9 34 35 13 12 15 14 1. Display LCD 4 righe x 20 caratteri 2. Connettore per alimentazione 9 V 3. Interruttore ON/OFF 4. Led Power ON 5. Connettore ICD2 Debugger 6. Connettore PicKit2 Programmer 7. Zoccolo RTC PCF8583 8. Zoccolo RTC DS1307 9. Batteria tampone RTC 10. Buzzer piezoelettrico 11. Jumper Pull-Up resistor 12. Connettore TTL RS232 13. Connettore per KeyBoard 4x4 14. 1-wire connector 15. I2C connector 16. Bus connector 40 pin 17. Expansion connector 18. Zoccolo 40 pin 19. RB0 Interrupt Switch 20. Reset Switch 21. Led on board 22. Jumper (Led – ADC RA0) ON 23. Trimmer RA0 ADC 24. Trimmer Contrasto LCD Text 25. Trimmer Contrasto LCD Graphic 26. Trimmer retroilluminazione LCD 27. Retroilluminazione LCD Switch 28. Jumper I2C Pull-Up resistor ON 29. Jumper Buzzer Pin select 30. Jumper txt display mode R/W select 31. Connector DS1307 signal/clock 32. Oscillatore al quarzo 33. Jumper select OSC1-OSC2 I/O 34. 1-wire DS18b20 connector 35. 1-wire pin select 36. LCD Graphic display connector 36. Zoccolo I2C EEPROM memory La scheda permette la prototipazione rapida di gran parte dei PICmicro 40 pin grazie allo zoccolo da 40 PIN [18] e ai connettori per la programmazione in-circuit [5] [6]. Tutti i piedini di I/O sono disponibili sui rispettivi connettori e inoltre vi è un oscillatore al quarzo da 4 MHz a 20 MHz [32] intercambiabile; quando viene impiegato l’oscillatore interno dei PIC (Pic ultima generazione), i jumper [33] permettono di selezionare i rispettivi piedini OSC1 e OSC2 come digital I/O Pin. NA – L11 http://www.mrscuole.net/anxapic/ 2 http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/ Programmare i PIC in linguaggio C Il CCS PCWH Pic-C Compiler – Il primo esercizio Conosciamo il sistema con un semplice Esercizio => Blinking Led Led lampeggiante che si accende e si spegne ogni mezzo secondo Punti fondamentali per: Analisi - Progettazione - Stesura del software 1. Analisi e schema per punti cronologici del problema con definizione dell’HW [schema elettrico] 2. Flow – Charts 3. Scrittura del codice NA – L11 http://www.mrscuole.net/anxapic/ 3 http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/ Programmare i PIC in linguaggio C Il CCS PCWH Pic-C Compiler – Il primo esercizio 1. • Analisi e stesura per punti cronologici del problema con definizione dell’HW Per questo semplice esercizio sfruttiamo l’HW implementato sulla scheda di sviluppo utilizzando il led on board. Il led è collegato al pin RD3 (PortD pin3) del µC [cfr. Schematic AnxaPic4]. Led on board attivo Sulla AnxaPic4 demo-Board close jumper DL1 on (cfr. Slide 2, indicatore [22]) NA – L11 http://www.mrscuole.net/anxapic/ 4 http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/ Programmare i PIC in linguaggio C Il CCS PCWH Pic-C Compiler – Il primo esercizio 2. Flow – Chart È questa una condizione di verifica sempre TRUE! Infatti la condizione di verifica (1>0) restituisce sempre TRUE Loop (ciclo) infinito! NA – L11 http://www.mrscuole.net/anxapic/ 5 http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/ Programmare i PIC in linguaggio C Il CCS PCWH Pic-C Compiler – Il primo esercizio 3. Il codice sorgente Prima di analizzare il codice opportuno una semplice introduzione sul CCS Pic Compiler. A partire dalla versione 4 il CCS PCWH Pic-C compiler presenta la classica interfaccia a barre orizzontali. Nuovi menu a barre orizzontali per il CCS PCWH 4.0 e superiori NA – L11 http://www.mrscuole.net/anxapic/ 6 http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/ Programmare i PIC in linguaggio C Il CCS PCWH Pic-C Compiler – Il primo esercizio 3. Il codice sorgente 1. Aprire il compilatore CCS PCWH 2. Creare una cartella ‘blinkingLed’ che conterra` tutti i files relativi al nostro progetto (.c, .h., .lst, .cof, .hex ....) 3. Attiviamo la barra Project e scegliamo l’opzione => pic wizard [Pic wizard è un utile tool di questo compilatore che ci agevola notevolmente nelle impostazioni Hardware per il nostro controllore] 4. Sulla nuova finestra aperta, inseriamo il nome: “Lez11_blk_Led” per il file di progetto e quindi salviamo il tutto. NA – L11 http://www.mrscuole.net/anxapic/ 7 http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/ Programmare i PIC in linguaggio C Il CCS PCWH Pic-C Compiler – Il primo esercizio 3. Il codice sorgente Definiamo i parametri del progetto Nella finestra General scegliamo il micro e attiviano le opportune opzioni di scelta [fuses] NA – L11 Con la linguetta Code è possibile verificare il codice generato che verrà inserito nel nostro file sorgente http://www.mrscuole.net/anxapic/ 8 http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/ Programmare i PIC in linguaggio C Il CCS PCWH Pic-C Compiler – Il primo esercizio 3. Il codice sorgente Definiamo i parametri del progetto Attiviamo la finestra Communications e deselezioniamo l’opzione use RS232 NA – L11 Con la linguetta Code è possibile verificare il codice generato che verrà inserito nel nostro file sorgente http://www.mrscuole.net/anxapic/ 9 http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/ Programmare i PIC in linguaggio C Il CCS PCWH Pic-C Compiler – Il primo esercizio 3. Il codice sorgente Per questo progetto non dobbiamo definire nessun’altro parametro e quindi click du OK! Nella finestra di editor appare il codice automaticamente generato. Dovremo avere una videata simile a questa, se così non è si può sempre settare l’editor dal menù “Options” -> “Editor proprierties…”. ------------------------------queste righe sono generate automaticamente (setup periferiche ). NA – L11 http://www.mrscuole.net/anxapic/ 10 http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/ Programmare i PIC in linguaggio C Il CCS PCWH Pic-C Compiler – Il primo esercizio 3. Il codice sorgente Spesso per i files da includere nel progetto è meglio lavorare con percorsi relativi (indipendenti dal PC in uso) che considerare Path e directory con perscorsi assoluti! Nell’esempio a fianco il file “Lez11_dlk.Led.h” verrà ricercato nella cartella di lavoro del progetto e non viene presa in considerazione tutto il percorso di ricerca come impostato nella slide precedente, diventa in questo caso più semplice il riutilizzo dello stesso progetto su un altro PC oltre che su quello originale su cui il progetto è stato generato. Il System Setup è molto agevolato con l’ausilio del tool “Pic Wizard” NA – L11 http://www.mrscuole.net/anxapic/ 11 http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/ Programmare i PIC in linguaggio C Il CCS PCWH Pic-C Compiler – Il primo esercizio 3. Il codice sorgente Il file “Lez11_blk_Led.h”, generato in automatico con “Pic Wizard” In questo file le impostazioni Hardware e le direttive [fuses] di programmazione per il microcontrollore impiegato NA – L11 http://www.mrscuole.net/anxapic/ 12 http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/ Programmare i PIC in linguaggio C Il CCS PCWH Pic-C Compiler – Il primo esercizio 3. Il codice sorgente: aggiungiamo codice al nostro programma [Built-In functions] funzioni interne al compilatore PCWH : • output_high(<pin name>); • output _low(<pin name>); • delay_ms(xxx); Vedere il manuale del compilatore (Help on line) N.B.=> I “pin name” sono definiti nel file “16F877A.h” incluso in automatico in “Lez11_blk_Led.h”. In questo file vengono definiti tutti i riferimenti impiegati nel codice. Questi files di testo sono presenti nella cartella “Devices” della directory di installazione del nostro sistema di sviluppo. NA – L11 http://www.mrscuole.net/anxapic/ 13 http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/ Programmare i PIC in linguaggio C Il CCS PCWH Pic-C Compiler – Il primo esercizio 3. Il codice sorgente: Compilare il codice prodotto Compiliamo il progetto Il risultato della compilazione è un file binario (.hex) che deve essere caricato nella memoria di programma del nostro Pic, mediante opportuno programmatore (es. PicKit2 programmer) Oltre al file binario (estensione .hex) vengono generati altri utili file con estensioni diverse (.err, .lst, .cof, …). Tutti questi files ritornano utili per esaminare le varie fasi del codice; in particolare nel nostro caso è molto utile il file con estensione “.cof” perché può essere utilizzato nella fase di simulazione con Proteus VSM . “Lez11-blk_Led.cof” contiene i riferimenti con il codice sorgente durante la fase di debug con Proteus VSM. Bisogna indicare questo file da caricare nel Micro per la simulazione con Proteus VSM NA – L11 http://www.mrscuole.net/anxapic/ 14 http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/ Programmare i PIC in linguaggio C Il CCS PCWH Pic-C Compiler – Il primo esercizio 4. La simulazione con Proteus VSM La simulazione con Proteus VSM in ambiente ISIS Nel micro PIC16F877A caricare il file “Lez11_blk_Led.cof” per la simulazione NA – L11 http://www.mrscuole.net/anxapic/ 15 http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/ Programmare i PIC in linguaggio C Il CCS PCWH Pic-C Compiler – Un esercizio proposto 2 Blinking Led => Due led lampeggianti in modo alternativo con intervallo di 500 ms tra la condizione ON e quella OFF. [Suggerimento => Led collegati su RD2 e RD3] Sviluppare l’esercizio seguendo le semplici fasi di sviluppo: 1. Analisi del problema, schematizzazione a blocchi (se necessario), con schema elettrico finale operativo 2. Impostazione del Software e relativo Flow – Chart 3. Codice sorgente in linguaggio C [CCS Pic PCWH Compilator] 4. Simulazione in ambiente Proteus VSM interfaccia ISIS 5. Presentazione del lavoro finale su demo-Board opportuna (Gp_Mbus …. AnxaPic4) 6. Opportuna documentazione conclusiva NA – L11 http://www.mrscuole.net/anxapic/ 16 http://www.mrscuole.net/anxapic/ http://www.mrscuole.net/anxapic/
Documenti analoghi
Let`s go PIC !!! secondo capitolo: Andiamo online. - G
Clicca per scaricare il file di Installazione
La piattaforma MG-Lab integrerà un compilatore Ansi C che permetterà l'utilizzo delle librerie C16
totalmente compatibilee con il prodotto della Hitech...