Informatyka Studia Dzienne
Laboratorium Architektury Komputerów
Ćwiczenie 11
System przerwań mikrokontrolera 8051.
Przygotowanie:
Krzysztof Tokarz
1. Cel ćwiczenia.
Celem ćwiczenia jest poznanie:
- budowy systemu przerwań mikrokontrolera 8051,
- mechanizmu zgłaszania i obsługi przerwań,
- układów czasowo-licznikowych.
2. System przerwań mikrokontrolerów 8051.
W mikrokontrolerach z rodziny 8051 każdemu z przerwań jest przyporządkowany stały adres
procedury obsługi przerwania. Adresy procedur są umieszczone na początku przestrzeni pamięci
programu według następującego porządku:
yródło przerwania Adres
Przerwanie zewnętrzne INT0 03h
Przerwanie timera T0 0Bh
Przerwanie zewnętrzne INT1 13h
Przerwanie timera T1 1Bh
Przerwanie portu szeregowego 23h
Przerwanie timera T2 (tylko 8052) 2Bh
Przyjęcie przerwania jest możliwe jeśli jest ono odblokowane. Do sterowania włączaniem i
wyłączaniem przerwań służy rejestr maski IE. Jest on dostępny w trybie bitowym więc można
włączać wybrane przerwania instrukcją SETB (wpisanie jedynki) i wyłączać instrukcją CLR
(wyzerowanie bitu). Najstarszy bit rejestru IE służy do włączania lub wyłączania całego systemu
przerwań. W razie jednoczesnego zgłoszenia kilku przerwań obsługiwane są one w kolejności
priorytetów. Najwyższy priorytet ma przerwanie zewnętrzne INT0, najniższy przerwanie timera T2.
Dodatkowy rejestr oznaczony IP służy do przeniesienia przerwań na wyższy poziom priorytetu.
Przerwanie, które ma w tym rejestrze wpisaną jedynkę, ustawione jest na wyższy poziom priorytetu,
co oznacza że w trakcie jego obsługi nie może być przyjęte żadne inne przerwanie. Nazwy
poszczególnych bitów w rejestrach IE oraz IP wraz z ich przypisaniem do poszczególnych przerwań
przedstawiono w poniższej tabeli:
yródło przerwania Numer bitu Bit w rejestrze IE Bit w rejestrze IP
Przerwanie zewnętrzne INT0 0 EX0 PX0
Przerwanie timera T0 1 ET0 PT0
Przerwanie zewnętrzne INT1 2 EX1 PX1
Przerwanie timera T1 3 ET1 PT1
Przerwanie portu szeregowego 4 ES PS
Przerwanie timera T2 (tylko 8052) 5 ET2 PT2
6 - -
Cały system przerwań 7 EA -
3. Zgłaszanie i obsługa przerwań.
Przerwania mogą być zgłaszane sprzętowo po wystąpieniu zdarzenia związanego z urządzeniem,
którego dotyczy przerwanie, a więc:
pojawienie się opadającego zbocza na wejściu przerwania zewnętrznego INT0 lub INT1,
przepełnienie licznika T0, T1 lub T2,
zakończenie wysyłania bajtu lub odebranie bajtu łączem szeregowym.
Sprzętowe zgłoszenie przerwania powoduje ustawienie znacznika zgłaszanego przerwania.
Przerwania mogą być także zgłaszne programowo poprzez ustawienie wybranego znacznika. Część
z tych znaczników jest automatycznie zerowanych po przyjęciu przerwania. Nie są zerowane
znaczniki RI, TI odpowiedzialne za port szeregowy oraz TF2 i EXF2 związane z licznikiem T2.
Znaczniki te należy wyzerować w procedurze obsługi przerwania.
Przy zgłaszaniu przerwania na stos odkładany jest wyłącznie adres powrotu, wszelkie używane
rejestry (w tym także rejestr znaczników) należy odłożyć na stos w procedurze obsługi. Powrót z
procedury powinien następować instrukcją RETI.
4. Układy czasowo-licznikowe T0 i T1.
Układy czasowo-licznikowe T0 i T1 służą do zliczania impulsów zewnętrznych podawanych na
wejścia T0 i T1 lub do odmierzania czasu na podstawie impulsów z zegara systemowego. Układy te
mogą pracować w czterech trybach:
tryb 0 licznik trzynastobitowy,
tryb 1 licznik szesnastobitowy,
tryb 2 licznik ośmiobitowy z automatycznym ładowaniem wartości początkowej,
tryb 3 tylko licznik T0 dwa liczniki ośmiobitowe.
Do sterowania pracą liczników służą dwa słowa sterujące: TMOD i TCON (część bitów w rejestrze
TCON służy do sterowania przerwaniami).
Numer bitu TMOD Znaczenie bitu TCON Znaczenie bitu
0 M0 Tryb pracy T0 IT0 INT0: 0-poziomem 1-zboczem
1 M1 Tryb pracy T0 IE0 Znacznik przerwania INT0
2 C/T Licznik/czasomierz T0 IT1 INT1: 0-poziomem 1-zboczem
3 GATE Bramkowanie T0 IE1 Znacznik przerwania INT1
4 M0 Tryb pracy T1 TR0 Włącznik licznika T0
5 M1 Tryb pracy T2 TF0 Znacznik przepełnienia T0
6 C/T Licznik/czasomierz T1 TR1 Włącznik licznika T1
7 GATE Bramkowanie T1 TF1 Znacznik przepełnienia T1
5. Przebieg ćwiczenia laboratoryjnego.
Należy przeanalizować dwa programy:
program zmieniający cyklicznie co 1 sek. stan diody TEST,
program obsługi multipleksowanego wyświetlacza LED.
W obu programach odmierzanie niezbędnych przedziałów czasowych odbywa się z wykorzystaniem
układów czasowo-licznikowych zgłaszających przerwanie okresowe.
Wyszukiwarka
Podobne podstrony:
AK D Lab 1ak 2 lab (1)AK D Lab 2AK Z Lab 5AK D Lab 6AK Z Lab 3AK D Lab 5AK Z Lab 1AK D Lab 7AK D LabAK Z Lab 4AK D Lab 8AK Z Lab 2AK Z Lab 6AK D Lab 3AK D Lab 9Lab cppwięcej podobnych podstron