Sunteți pe pagina 1din 2

Lucrarea de laborator Nr.

3
Tema: Gestionarea ntreruperilor a microcontrolerilor din seria
AVR.
Scopul lucrrii: studierea mecanizmului de ntreruperi si utilizarea lor.
Mersul lucrrii:
1. Facei cunotin cu controlerul de intreruperi i modul de programare a
inrteruperilor a microcontrolerului ATMega-32.
2. Studiai setul de regitri de control prin care sunt gestionate ntreruperile.
3. Elaborai un program conform sarcinii din tab 1.
4. Compilai programul elaborat i verificai corectitudinea funcionrii utiliznd
simulatorul (AVR Studio / Proteus).
Coninutul drii de seam:
1. Sarcina i scopul lucrrii;
2. Listingul programului;
3. Rezultatele obinute;
4. Concluzii.
Sarcina:
Elaborai un program, care utiliznd ntreruperile externe i/sau ntreruperile de
la Timere efectueaz urmtoarele operaii conform tabelului 1. Programul trebuie
format din dou sau mai multe parti pari independente:
programul principal, care va iniializa toate modulele, variabilele, stiva,
i va indeplini un ciclu infinit n care va afia rezultatele masurarii pe
indicatoare utiliznd porturile de intrare/iesire;
subrutinele de prelucrare a ntreruperilor n care se vor efectua toate
msurarile conform sarcinii din tabelul 1.

Tab. 1 Variantele propuse


Nr.
1

Varianta
Utiliznd Timer/Counter0, generai impulsuri la ieirea OC0 cu perioada 50 S i durata
25% ct la ntrarea INT1 = 0, i durata impulsurilor 75% - ct INT1 = 1

Utiliznd Timer/Counter0, i ntrarea INT0 msurai perioada impulsurilor la ntrarea INT0

Utiliznd Timer/Counter1, generai un cod zecimal (0..7) la ieirile PA0..PA7 cu perioada 5


mS. Dac la ntrarea INT1 se aplic un front negativ contoru trebuie resetat.

Utiliznd Timer/Counter0, msurai numrul de impulsuri aplicate la intrarea T0, i cnd


acest numr depete 10000, negai starea pinului la ieirea PA5

Utiliznd Timer/Counter1 n mod de capturare, msurai perioada impulsurilor la ntrarea


ICP1

Utiliznd Timer/Counter1, generai dou serii de impulsuri negate una fa de alta la ieirile
PA1 i PA2 cu perioada 55 S. Duarata impulsurilor sa creasca liniar daca la ntrarea INT1
se aplic un impuls, i s scad linear dac impulsu se aplic la ntrarea INT0

Utiliznd Timer/Counter0 msurai durata intre fronturile pozitive la ntrrile INT0 i


INT1. Generai la iesirea OC1A impulsuri cu perioada 10us atta timp ct merge msurarea

Utiliznd Timer/Counter1, msurai numrul de impulsuri aplicate la intrarea T1, timp de


1ms, perioada de 1ms s se msoare prin Timer0

Utiliznd Timer/Counter0, i ntrarea INT1 generai un impuls cu durata de 10 us dupa


fiecare front la ntrarea INT0 cu o ntrziere de 10ms.

10

Utiliznd Timer/Counter0, generai un cod binar-zecimal la ieirile PA0 i PA3 cu perioada


40 S, att timp ct la ntrarea INT0 este aplicat semnalul 0

11

Utiliznd Timer/Counter1 n mod Phase Corect PWM generai la iesirea OC1B serii de
impulsuri cu modulaia sinusoidal.

12

Utiliznd Timer/Counter1 n mod PWM generai la iesirea OC1A impulsuri cu durata ce creste
liniar 10ms i apoi descrete liniar 5ms. Perioada de cretere i descretere s fie dirijat de Timer0

13

Utiliznd Timer/Counter0 n mod CTC, i ntrarea INT0 generai la ieirea OC0 imulsuri cu
frecvena 100kHz atta timp ct INT0=1

14

Utiliznd Timer/Counter1 n mod de capturare msurai durata impulsurilor la intrarea ICP