Administratie | Alimentatie | Arta cultura | Asistenta sociala | Astronomie |
Biologie | Chimie | Comunicare | Constructii | Cosmetica |
Desen | Diverse | Drept | Economie | Engleza |
Filozofie | Fizica | Franceza | Geografie | Germana |
Informatica | Istorie | Latina | Management | Marketing |
Matematica | Mecanica | Medicina | Pedagogie | Psihologie |
Romana | Stiinte politice | Transporturi | Turism |
Tehnici de programare a aplicatiilor pe sisteme cu microcontroloare
1. Obiectivul lucrarii
Lucrarea urmareste studierea tehnicilor de dezvoltare si depanare a programelor scrise pentru sisteme de calcul dedicate; studierea mediului de dezvoltare MPLAB IDE (integrated development Environment) ca mijloc de proiectare, implementare si testare a aplicatiilor pentru microcontroloare din familia PIC.
2. Consideratii teoretice
2.1 Tehnici de programare si depanare a aplicatiilor dezvoltate pesisteme cu microcontroloare
Ca metodologie de lucru dezvoltarea aplicatiilor pe platforme incapsulate, bazate pe microcontroloare difera semnificativ de metodologia de dezvoltare a aplicatiilor pentru calculatoare personale. In general sistemele bazate pe microcontroloare nu dispun de resursele necesare pentru dezvoltarea de aplicatii (memorie, tastatura, afisaj, sistem de operare, sistem de gestiune a fisierelor, etc.). De aceea dezvoltarea aplicatiilor pentru aceste sisteme se realizeaza pe un sistem de calcul uzual (ex: PC), urmand ca programul executabil generat in urma compilarii sa fie transferat catre sistemul tinta (target system) sau inscris direct in memoria microcontrolorului.
Anumite firme (inclusiv cele care furnizeaza circuitele) ofera diferite instrumente de proiectare, programare si testare a sistemelor incapsulate bazate pe microcontroloare. In functie de serviciile oferite si de complexitatea acestora putem identifica urmatoarele categorii de instrumente de dezvoltare:
programator de microcontroloare - ansamblu hardware-softvare relativ simplu care ofera functii minime necesare pentru programarea (inscrierea) aplicatiilor in memoria interna a microcontrolorului; nu ofera facilitati de devoltare a programelor sau de depanare a acestora
starterkit - ansamblu minimal necesar pentru programarea si testarea programelor; se ofera o schema generala simpla, utila in verificarea si testarea unei familii de microcontroloare si instrumente de programare care includ un asamblor si un link-editor
mediu integrat de dezvoltare IDE - o aplicatie complexa ce permite parcurgerea principalelor etape de proiectare a unei aplicatii, de la editarea programului, compilare, link-editare, transferul catre un sistem tinta si executia programului; mediul poate sa includa un simulator de microcontrolor, caz in care executia aplicatiei se poate face pe calculatorul personal; in caxul microcontroloarelor PIC firma Microchip ofera in acest scop produsul MPLAB IDE
ICD - in-circuit-debuger - circuit ce permite depanarea si testarea programelor in schema finala a aplicatiei (in sistemul tinta)
ICE - in-circuit-emulator - un dispozitiv ce permite ca PC-ul sa ia locul microcontrolerului din schema tinta si emularea functionarii acestuia; este cel mai performant instrument de testare a sistemelor incapsulate; programatorul poate sa urmareasca in detaliu functionarea sistemului in diferite regimuri de lucru (pas-cu-pas, automat, etc.) si pot fi controlate componentele microcontrolerului (registre generale si speciale, interfete, etc.).
2.2 Mediul de dezvoltare MPLAB IDE
MPLAB IDE este un mediu integrat de dezvoltare (IDE - Integrated Development Environment) oferit de firma Microchip pentru familiile de microcontroloare PIC12, PIC 16, PIC18, etc. Include:
manager de proiecte
editor de program sursa
asamblor
editor de legaturi
depanator (debuger)
motor de executie
Aplicatia permite integrarea si a altor componente (ex: compilator C, depanator, programator, ICD, ICE) realizate fie de firma Microchip fie de alte firme (ex. CCS).
Figura de mai jos indica schema de administrare a unui proiect prin MPLAB:
Pasii necesari pentru dezvoltarea unei aplicatii:
a. Lansarea mediului MPLAB IDE
- Start>Programs>Microchip>MPLAB IDE vx.xx>MPLAB IDE
b. Selectarea dispozitivului
- trebuie sa preceada crearea unui nou proiect
- din meniu se alege: Configure->Select device
- se alege tipul circuitului folosit (ex: PIC16F877); mediul va indica tipurile de dispozitive suportate pentru programarea circuitului (ex: MPLAB ICD 2), limbajele acceptate si instrumentele de depanare utilizabile
c. Crearea unui proiect - cu ajutorul "project wizard"
- din meniu se alege: Project>Project Wizard
- in pasii urmatori se aleg: tipul de dispozitiv si setul de instrumente de compilare si link-editare; se observa ca pe langa instrumentele Microchip pot fi folosite instrumente oferite de alti producatori (ex: compilator C al firmei HI-TECH)
- se alege un nume pentru noul proiect (ex: Test_x)
- se adauga fisiere sursa; pentru inceput se poate adauga un fisier "model" (template) care contine elementele initiale de configurare pentru fiecare circuit in parte (ex: C:Program FilesMicrochipMPASM SuiteTemplateObject16F877tmpo.asm); se apasa litera de la inceputul fisierului pana apare "C" care va copia fisierul in proiect
- se adauga un fisier necesar pentru link-editare (ex: C:Program FilesMicrochipMPASM SuiteLKR18F8722.lkr sau . 18F8722i.lkr daca se foloseste ICD 2)
- proiectul creeat se poate vizualiza cu: View>Project.; fisierele pot fi selectate pentru editare (dublu-clock pe fisier sau click-dreapta si Edit)
- se construieste proiectul (asamblare, link-editare si conversie in format HEX) cu: Project>Build Allsau prin apasarea icoanei corespunzatoare la "Build All"
- pentru scriere de program se deschide fisierul model (dublu-click pe 16F877tmpo.asm) si se adauga instructiuni in "Main" dupa comentariul: remaining code goes here ; se va adauga urmatorul cod:
clrf w_temp
movwf PORTC ; clear PORTC
movwf TRISC ; configure PORTC as all outputs
Init
clrf COUNT ; initialize counter
IncCount
incf COUNT,F
movf COUNT,W ; increase count and
movwf PORTC ; display on PORTC
call Delay ; go to Delay subroutine
goto IncCount ; infinite loop
Delay
movlw 0x40
movwf DVAR2 ; set outer delay loop
DelayOuter
movlw 0xFF
movwf DVAR ; set inner delay loop
DelayInner
decfsz DVAR,F
goto DelayInner
decfsz DVAR2,F
goto DelayOuter
return
- in zona de declarare a variabilelor se va adauga:
COUNT RES ; Counter
DVAR RES 1 ; inner loop counter
DVAR2 RES 1 ; outer loop counter
- se reconstruieste proiectul si se corecteaza eventualele erori
d. Testarea codului - cu ajutorul simulatorului sau a unui sistem "tinta", cum ar fi de exemplu IDC 2 (in-circuit debugger) sau ICE (in-circuit emulator);
- alegerea instrumentului de testare se face prin : Debugger>Select Tool>MPLAB ICD 2 sau Debugger>Select Tool>MPLAM SIM (pentru simulator);
- in primul caz conectarea la ICD 2 se face prin: Debugger>Connect; in caz de eroare se parcurge Debugger>MPLAB ICD2 setup wisard
- rularea programului in regim continuu sau pas-cu-pas se face cu comenzile din Debugger: RUN (F9), Step into(F7), Step Over(F8), Step Out si Reset; pentru rularea cu puncte de intrerupere se folosesc facilitatile "Breackpoint".
3. Modul de desfasurare a laboratorului
Se va instala mediul de dezvoltare MPLAB de pe CD-ul furnizat de firma Microchip sau de pe pagina web a firmei (www.microchip.com)
Se vor urma pasii de dezvoltare indicati in Manualul de utilizare a aplicatiei MPLAB (anexa: MPLAB.pdf)
Se va testa functionarea aplicatiei create cu ajutorul simulatorului incorporat in mediul de depanare; se vor testa diversele facilitati de depanare:
executia pas-cu-pas si in regim automat (step-in, step-out, Run, stop, Reset, etc.)
vizualizarea variabilelor (watch)
Se va testa functionarea aplicatiei create cu ajutorul circuitului MPLAM ICD 2;
se conecteaza circuitul ICD 2 la calculator
se conecteaza placa tinta (ex: PICDEM 4) la ICD 2
se incarca programul in microcontrolorul de pe placa tinta
se executa aplicatia in regim pas-cu-pas si continuu
Acest document nu se poate descarca
E posibil sa te intereseze alte documente despre: |
Copyright © 2024 - Toate drepturile rezervate QReferat.com | Folositi documentele afisate ca sursa de inspiratie. Va recomandam sa nu copiati textul, ci sa compuneti propriul document pe baza informatiilor de pe site. { Home } { Contact } { Termeni si conditii } |
Documente similare:
|
ComentariiCaracterizari
|
Cauta document |