Documente Academic
Documente Profesional
Documente Cultură
RAPORT
La Microprocesoare şi interfeţe
Lucrare de laborator Nr. 1
Tema: Programarea AVR în ASM. Modulul periferic GPIO
Chișinau 2020
Scopul lucrării: Insusirea intrumentelor de proiectare si simulare pentru
progrmarea microcontrolerelor( AVR studio si Proteus). Sa se studieze interfata de
comunicare cu mediul extern.
Date teoretice:
Un microcontroller, privit in ansamblu, reprezinta o structura formata dintr-un
microprocesor si un set de module periferice. Un microcontroller poate avea o
combinatie variata de module periferice in dependenta de serie. Un modul periferic
ca regula este un circuit specialist care poate indeplini o anumita functie.
GPIO permite setarea sau colectarea nivelului logic de pe un pin al
Microcontrollerului.
Fiecare modul periferic isi are rezervat un set de registri in spatiul registrilor
periferici. De exemplu fiecare modul GPIO are rezervat un set de 3 registri numiti
PORT, PIN si DDR prin itermediul carora microprocesorul are posibilitatea de a
lucra cu nivelele logice pe pini.
Orice Microcontroller are un set de pini, majoritatea dintre care care pot fi
configuraţi ca pini generici de intrare sau ieşire (GPIO), astfel încât să i se poată
atribui o valoare logică către terminalul pinului sau sa fie citită aceasta valoare
logică de pe el, în cazul când pinul este configurat către intrare.
Pinii de intrare/ieşire sunt grupaţi în porturi a câte opt. Lucrul cu portul se execută
ca un tot întreg, respectiv, dintr-o singură operaţie de transfer către port putem
modifica configuraţia la toţi opt pini deodată. Deci operaţiile de transfer către port
va afecta toţi pinii ce îl constitiue.
Deoarece modulul GPIO este un modul periferic al microcontrollerului, respectiv
are rezervaţi un set de regiştri în spaţiul de adrese a regiştrilor periferici.
Fiecare modul GPIO a microcontrollerului cu arhitectura AVR va avea la
dispoziţie trei registri de periferici PINx, DDRx si PORTx.
Comenzile folosite:
LDI Rd, K Load Immediate Incărcarea constantei
OUT P, Pr Store Register to I/O port Stochează datele din registru în Portul
I/O
SBIS P, b Skip if Bit I/O is set Sare dacă bitul din registrul I/O este
setat
RJMP k Relative Jump Salt relativ la k
NOP No operation Nici o operaţie
CBI P,b Clear bit in I/O Register Ştergerea bitului din registru I/O
SBIC P,b Skip if Bit I/O is clear Sare dacă bitul din registrul I/O este
şters
DEC Rd Decrement Decrementarea
BREQ k Branch if Equal Salt la egalitate
CPI Rd, k Compare with Immediate
Concluzie:
In urma lucrarii de laborator am luat cunostință cu principiul de programare în ASM, etapele
de oformare a unui program si principiul de functionare a unui microprocessor, am realizat
sarcina propusă și am obținut relultatul dorit