200 likes | 337 Views
PIC mikrokontroller Loeng 8. Alar Ainla 13.oktoober.2004. K atkestused (Interrupts). Millega tegu ? Milleks head? K uidas ja kus kasutada? N äited. Kust katkestused tulevad???. INT jalg (pin) ehk välised (external) katkestused TMR0 ületäitumine PORTB (RB7:4) seisundi muutus
E N D
PIC mikrokontrollerLoeng 8 Alar Ainla 13.oktoober.2004
Katkestused(Interrupts) • Millega tegu? • Milleks head? • Kuidas ja kus kasutada? • Näited
Kust katkestused tulevad??? • INT jalg (pin) ehk välised (external) katkestused • TMR0 ületäitumine • PORTB (RB7:4) seisundi muutus • Komparaatori seisundi muutus • USART (saatmine-vastuvõtmine) • AD muundus valmis • DataEEPROMi kirjutatud • Timer1,2 ületäitumised • CCP moodulist • SSP moodulist
Katkestuste kontrollimine • INTCON • PIE1 • PIR1 • PIE2 • PIR2
Katkestuste kontrollimine • INTCON<GIE>, retfie seab selle biti • Individuaalsed bitid (flags) seatakse sõltumata maskidest või GIE bitist • Vahelejäetud katkestused lähevad ootele, kuniki GIE bit uuesti seatakse
Katkestuste latentsus • Sünkroonsed 3Tcy • Asünkroonsed 3-3.75Tcy
Katkestustega programeerimine • Tuleb tagada, et programm ei läheks “lolliks” • Registrite backup ja väärduste vahetus • Lukud (muutujad, katkestuse keeld) ja semafoorid
Katkestuste näide • Timer0 kasutamine perioodilisteks katkestusteks • Seame Timer0 käima • Lubame vastavad katkestused • Jääme ootama ...
IO-pordid • Suhtlemine välismaailmaga (teiste seadmetega) • Kuidas kasutada? • Millised on võimalused? • Lihtsaimad perifeeriaseadmed • Mõningaid jalgasid jagatakse ka teiste perifeeriaseadmetega
IO-pordid • Suund TRIS registrid (bank 1) • 1 – sisend • 0 – väljund • IO käib läbi PORT registrite (bank 0) • Muutmis operatsioonid (bcf, bsf jt.) on IO read-write tüüpi