Przerwania_liczniki.pdf

(368 KB) Pobierz
Programowanie mikrokontrolerów
Przerwania i liczniki
Marcin Engel
Marcin Peczarski
13 listopada 2008
Przerwania — terminologia
Przerwanie
— obsługiwane sprzętowo przez mikrokontroler
przerwanie wykonania aktualnego programu i przekazanie
sterowania do procedury obsługi przerwania.
Zdarzenie
lub
stan wyzwalający
przerwanie — zewnętrzne lub
wewnętrzne zdarzenie lub stan, którego zajście
może
spowodować przerwanie.
Przerwanie jest
wyłączone,
jeśli zdarzenie wyzwalające go nie
powoduje powstania przerwania.
Przerwanie jest
włączone,
jeśli zdarzenie wyzwalające go
powoduje powstanie przerwania.
Przerwania — terminologia, cd.
Mikrokontroler rejestruje (ustawiając odpowiednie bity)
zdarzenia wyzwalające (pewne) przerwania
niezależnie
od
tego, czy dane przerwanie jest włączone, czy nie.
Do przerwania dochodzi jedynie wówczas, gdy jest ono
włączone i zaszło zdarzenie wyzwalające to przerwanie.
Przerwanie
oczekuje,
jeśli jest wyłączone, a mikrokontroler
zarejestrował zdarzenie wyzwalające go.
Przerwania
ATmega16 ma 21 źródeł przerwań.
Przerwania umożliwiają:
asynchroniczną obsługę różnych zdarzeń,
efektywne wykorzystanie urządzeń peryferyjnych,
obsługę „w tle” w stosunku do programu głównego.
Zdarzenia wyzwalające przerwania
Zmiana stanu pewnych wejść (przerwania INT0, INT1, INT2,
ICP1).
Określony stan pewnych wejść (przerwania INT0, INT1).
Przepełnienie licznika (TIMER0 OVF, TIMER1 OVF,
TIMER2 OVF).
Osiągnięcie przez licznik zadanej wartości (TIMER0 COMP,
TIMER1 COMPA, TIMER1 COMPB, TIMER2 COMP).
Zakończenie przetwarzania analogowo-cyfrowego (ADC).
Zakończenie transmisji przez interfejs szeregowy (SPI STC,
USART TXC, TWI).
Odebranie danych przez interfejs szeregowy (USART RXC).
Gotowość pamięci EEPROM (EE RDY).
Zmiana stanu wyjścia komparatora (ANA COMP).
Zgłoś jeśli naruszono regulamin