Scopul lucrarii:
Initierea in programe cu intreruperi, intreruperea externa si prelucrarea tablourilor.
Sarcina lucrarii:
Să se elaboreze un program ce va prelucra un tablou unidimensional de fiecare data cind va fi o intrerupere.
Varianta: Nr. total de elmemte al tabloului(taba) = 10
taba[22][23][24][25][26][27][28][29][30][31]
Notiuni teoretice:
O întrerupere reprezintă un semnal sincron sau asincron de la un periferic, ce semnalizează apariţia unui eveniment care trebuie tratat de către procesor.
Mecanismul de prelucrare a intreruperii
Întreruperile hardware au fost introduse pentru a se elimina buclele pe care un procesor ar trebui sa le facă în aşteptarea unui eveniment de la un periferic. Folosind un sistem de întreruperi, perifericele pot atenţiona procesorul în momentul producerii unei întreruperi (RTI), acesta din urma fiind liber să-şi ruleze programul normal în restul timpului şi să îşi întrerupă execuţia doar atunci când este necesar.
Pentru ca o subrutină să fie accesată sunt necesare următoarele condiţii:
1) efectul de întrerupere;
2) întreruperea trebuie să fie activă în dependenţă de modulul periferic care generează întreruperea (există biţi specializaţi pentru activarea întreruperii de la acest periferic);
3) întreruperea generală trebuie să fie permisă;
Algoritmul unei întreruperi
Codul pentru execuţie la apariţia unei întreruperi se grupează într-o subrutină similară cu subrutina normală, diferenţa e că ea se termină cu comanda reti, care concomitent setează bitul I din registrul SREG.
Pentru a configura întreruperile se folosesc următorii regiştri:
1) GICR – General Interrupt Control Register - registrul care este destinat activării sau dezactivării unei anumite întreruperi externe:
2) GIFR – General Interrupt Flag register – în acest registru se setează biţii în cazul apariţiei unei întreruperi. Dacă biţii sunt setaţi manual, aceasta va porni mecanismul de prelucrare a întreruperii date:
3) MCUCR – General Interrupt Control Register – registrul care este destinat setării momentului de reacţionare a intreruperii.
Universitatea Tehnica a Moldovei
Facultatea Calaculatoare, Informatica si Microelectronica
Catedra Microelectronica si Ingineria Biomedicala
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.