Sunteți pe pagina 1din 6

MINISTERUL EDUCAIEI AL REPUBLICII MOLDOVA

UNIVERSITATEA TEHNIC A MOLDOVEI


Facultatea Calculatoare, Informatic i Microelectronic
Catedra Microelectronic i Ingineria Biomedical

Raport
Lucrare de laborator nr.1
La disciplina
Microprocesoare
Tema:Iniiere n programarea ASM,modulul periferic GPIO.

A efectuat:

st.gr. ISBM-111 Arpentii Nicolae

A verificat:

lector asistent Eugeniu Lazari

Chiinu 2013

Scopul lucrrii:
1. Iniiere n programare ASM.
2. Studiul instrumentelor de proiectare a aplicaiilor cu MCU (AVR Studio, Proteus).
3. Lucrul cu modulul periferic GPIO.
Sarcina:
S se proiecteze un sistem care ar permite schimbarea strii unui led, din aprins n stinns i invers, la
apsarea unui buton. Starea iniial se va considera led aprins.
Noiuni teoretice:
Un microcontroller, privit n ansamblu, reprezint o structur format dintr-un microprocesor i un set
de module periferice.
- GPIO permite setarea sau colectarea nivelului logic de pe un pin al Microcontrollerului

Fig. 1 Modulele periferice


Fiecare modul GPIO are rezervat un set de 3 registri numiti PORT, PIN si DDR. Orice Microcontroller
are un set de pini, majoritatea dintre care care pot fi configurai ca pini generici de intrare sau ieire
(GPIO).

Fig. 2 Regitrii periferici

Fiecare modul GPIO a microcontrollerului cu arhitectura AVR va avea la dispozitie trei registri de
periferici PINx, DDRx si PORTx.

Fig. 3 Regitrii periferici


PINx

- serveste pentru citirea valorii logice de pe terminalul fizic, acest registru este accesibil doar

pentru citire. Operatia de scriere catre acest registru nu va afecta valoarea fizica a terminalului fizic.
PORTx - registru de setare a valorii portului pentru cazul cand este setat catre iesire si activarea
rezistentei de pull-up in cazul cand este setat catre intrare.
DDRx - Registrul de setare a directiei portului, intrare sau iesire
Mersul lucrrii:
Am scris programul n ASM i l-am compilat n AVR, n programa Proteus am proiectat schema
electrica a dispozitivului i am realizat simularea, am folosit microcontrolerul ATmega 16, un led i un
buton. Am facut legaturile conform portului si pinilor activati si ntrind in proprietatile
microcontrolerului am incarcat fiierul hex.
Comenzile folosite pentru realizarea sarcinei.
Tabelul 1.
Comenzile n ASM

Schema bloc
n Figura 4 este reprezentat schema bloc a programului realizat n ASM, descris logica rulrii
programului, comutarea led-ului se realizeaz cu ajutorul unui buton, n dependen de starea butonului
se conecteaz ledul.

Fig. 4 Schema bloc.


Schema electric n Proteus pentru simulare.
n Figura 5, reprezint starea iniial a ledului este aprins pna la apasarea butonului.

Fig. 5 Schema electric.

n Figura 6, reprezint starea ledului cnd este stins dup apasarea butonului.

Fig. 6 Schema electric.


Codul programului:
.include "m16def.inc" //Directiva pentru compilator
.cseg
//Segment de cod
.org 0
//Adresa de inceput a codului
main:
init:
ldi R16, 0b01000000 //Incarca in registrul R16 valoarea 0b01000000
out DDRA, R16
//Incarca in registrul DDRA din registrul R16
ldi R16, 0b11111111
//Incarca in Registru valoarea 0b10111111
out PORTA, R16
// Incarca in registrul PORTA din registrul R16
MainLoop:
//Eticheta pentru inceputul programului
L1: sbic PINA, 3
//Controleaza daca pinul 3 din portul A este 0
rjmp L1
//Salt la eticheta L1
sbic PORTA, 6 //Controleaza daca pinul 6 din portul A este 0
rjmp L2
//Salt la eticheta L2
sbi PORTA, 6
//Seteaza bitul 6 din portul A
rjmp L3
//Salt la eticheta L3
L2: cbi PORTA, 6
// Sterge bitul 6 din portul A
L3: sbis PINA, 3
//Sare daca pinul 3 a portului A e setat
rjmp L3
//Salt la eticheta L3
ldi R16, 0xff
//ncarca in registrul R16 valoarea 0xff
L4: dec R16
//Decrementeaza registrul R16
cpi R16, 0
//Compara registrul R16 cu 0
brne L4
//Salt la L4 daca nu e egal
endMainLoop:
rjmp MainLoop
//Salt la inceputul programului

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 obinut relultatul dorit.
Bibliografie:
1. Conspectul de baz.
2. www.mcu-labs.com.

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