Sunteți pe pagina 1din 6

Ministerul Educaţiei și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei

Facultatea Calculatoare, Informatică şi Microelectronică.

Departamentul Microelectronică și Inginerie Biomedicală

RAPORT
La Microprocesoare şi interfeţe
Lucrare de laborator Nr. 1
Tema: Programarea AVR în ASM. Modulul periferic GPIO

A efectuat: Racu Vlad

A verificat: Verjbiţki Valeriu

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.

Fig. 1 Modulele periferice

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.

Fig. 2 Regiștrii periferici


ATMEGA 32:
ATmega32 este un microcontroller CMOS de 8 biți cu putere redusă bazat pe AVR
îmbunătățit Arhitectura RISC. Executând instrucțiuni puternice într-un singur ciclu
de ceas, ATmega32 realizează randamente care se apropie de 1 MIPS pe MHz
permițând sistemului proiectant pentru a optimiza consumul de energie versus
viteza de procesare.

Modulul periferic GPIO - Port Generic de Intrare/Ieşire:

 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.

  Pentru a explica modul de funcţionare a modulului GPIO vom prezenta


următoarea figură:

 DDRx   - Registrul de setare a direcţiei portului, intrare sau ieşire.


 PORTx - registru de setare a valorii portului pentru cazul când este setat
catre ieşire şi activarea rezistentei de pull-up în cazul când este setat către
intrare. 
 PINx     -  serveşte pentru citirea valorii logice de pe terminalul fizic, acest
registru este accesibil doar pentru citire. Operaţia de scriere către acest
registru nu va afecta valoarea fizică a terminalului fizic
DDRx PORTx PINx
0 0 HI-Z
0 1 POOL-UP
1 0 “0”
1 1 “1”
Hi-z impendanta inalta
Codul programului:
Simularea în Proteus:

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

S-ar putea să vă placă și