Podstawy
Techniki Mikroprocesorowej
Wykład 2
dr inż. Piotr Markowski
Kolejne instrukcje
Podprogramy
Podprogramy
Podprogramy
Kiedy inicjalizacja stosu?
Przerwania
(ISR)
Przerwania
• Wykonywanie programu głównego zostaje natychmiast
przerwane; rozpoczyna się podprogram obsługi przerwania • 21 przerwań ułożonych priorytetowo
• Reset, 3 zewnętrzne, 17 wewnętrznych • Tabela przerwań – str. 45
• Podprogram obsługi przerwania kończy instrukcja RETI • Przerwania muszą być aktywowane. Aby działały:
1) flaga I w SREG (lub instrukcja SEI) – przerwania globalnie 2) flaga w rejestrze odpowiednim dla wybranego przerwania
Przerwania
Obsługa przerwania
• Konkretne przerwanie (maska): • SREG: ... • (ustawienie • (sprawdzenie • Skok •Zablokowanie • Wykonanie • Powrót
Przerwania
zewnętrzne
Przerwania zewnętrzne
INT0 – priorytet 2, pin PD2, wektor $001 INT1 – priorytet 3, pin PD3, wektor $002 INT2 – priorytet 19, pin PB2, wektor $012
• Działają nawet jeśli piny PB/PD ustawione jako WY • Reakcja – na zbocze lub na stan:
INT0, INT1 – na dowolne zbocze lub stan niski INT2 – na dowolne zbocze
• Reakcja na stan niski oraz INT2 – asynchroniczne
Przerwania zewnętrzne
General Interrupt Control Register – GICR
INT2 – INT0 – INT1
-Przerwania zewnętrzne
General Interrupt Flag Register – GIFR
INTF2 – INTF0 – INTF1
Przerwania zewnętrzne
MCU Control Register – MCUCR
ISC11, ISC10 – ISC01, ISC00 –
ISC01 ISC00 Reakcja
0 0 Poziom niski na INT0 generuje przerwanie
Przerwania zewnętrzne
MCU Control Status Register – MCUCSR
ISC2 – ustawienia reakcji INT2: 1 –
Przykładowe zagadnienia sprawdzające
1. Działanie wybranych instrukcji warunkowych (BRNE, SBRS/SBRC, SBIS/SBIC). 2. Instrukcje skoku (ze śladem, bez śladu, powrotu z podprogramu) –
porównanie, zastosowanie.
3. Podprogramy – poprawna deklaracja, wywoływanie, działanie, inicjalizacja stosu.