70
8. Przerwania
8 Przerwania
71
TCON
TF1
W mikrokontrolerach rodziny '51 adresy podprogramów obsługi przerwań są umieszczone w początkowym obszarze pamięci programu. Jako przy. kład, w tabeli 8-1 są podane adresy obsługi przerwań występujące w mikrokontrolerze 80C515/535.
Źródła przerwań oraz ich adresy z pozycji 1 -s- 5 są wspólne dla całej rodziny '51. Przerwanie z pozycji 6 jest wspólne dla mikrokontrolerów 8xC52 i 80C515/535. Pozostałe źródła przerwań wraz z ich adresami obsługi Występują w procesorze 80C515/535. W pozostałych procesorach tej rodziny, ponieważ struktura wewnętrzna jest inna, mogą występować inne źródła przerwań wraz / przypisanymi do nich adresami. Niezmienna pozostaje tylko zasada, że odstępy pomiędzy kolejnymi adresami obsługi przerwań są nie mniejsze niż 8 bajtów, j
Takie rozmieszczenie adresów obsługi przerwań w mikrokontrolerach rodziny '51 powoduje, że dla ominięcia obszaru pamięci programu związanego obsługą przerwań, pod adresem 0 programu umieszcza się rozkaz skoku do programu głównego, a pod adresami obsługi przerwań - najczęściej tylko rozkaz skoku do podprogramów obsługi przerwań, rysunek 8-1.
Każdy sygnał, który może wywołać przerwanie jest związany, w mikrokontrolerach rodziny '51, z odpowiadającym mu znacznikiem. W momencie, gdy _sygnał przerwania jest aktywny, odpowiadający mu znacznik jest ustawiany w stan 1. Jeżeli dane przerwanie jest odblokowane, to nastąpi przejście do procedury obsługi tego przerwania. Efekt przerwania można również wywołać poprzez programowe ustawienie znacznika w stan 1.
Znaczniki te są umieszczone w różnych rejestrach.
Mikrokontrolery 8xC51/52 i 80C515/535:
rejestr _ adres 88h
TRI 1 TFO 1 TRO \\ IE1 | IT1 | IE0 | ITO [rw - 0
• TF1 - znacznik przerwania od licznika Tl
• TFO - znacznik przerwania od licznika TO
• IE1 - znacznik przerwania zewnętrznego INT1
• IF.O - znacznik przerwania zewnętrznego INTO
program
główny
PRÓG GL
kontynuacja programu głównego -sygnał przerwania
RI
adres 98h rw = 0
RET1
podprogram
obsługi
przerwania
INT I
LJMP INT_1
LJMP PROG GL
adres programu głównego
rozkaz powrotu z podprogramu oosługi przerwania
adres podprogramu obsługi przerwania
rozkaz skoku do podprogramu obsługi przerwania
rozkaz skoku do programu głównego
TI - znacznik przerwania od nadajnika portu szeregowego RI - znacznik przerwania od odbiornika portu szeregowego
Mikrokontroler 80C515/535:
F.XF2 TF2
IEX6
IEX5 IEX4
adres OCOh
IEX3 IEX2 IIADC Irw = 0
• EXF2 - znacznik przerwania od zewnętrznego sygnału przeładowa
nia licznika T2
• TF2 - znacznik przerwania od licznika T2
• IEX6 ^ IEX2 - znaczniki zewnętrznych przerwań INT6 -r INT2.
• L\DC - znacznik przerwania od przetwornika A/C
W
Jeżeli
n<!8° efektu
Rys. 8-1 Ilustracja działania przerwania
Jeżeli w trakcie wykonywania programu przyjdzie sygnał przerwania zostanie on przyjęty przez układ przerwań, to wykonywanie programu zostań# zawieszone i nastąpi skok pod adres związany z występującym przerwanie^ Umieszczony tu rozkaz skoku powoduje skok do podprogramu obsługi pr# rwania. Po jego wykonaniu następuje powrót do przerwanego progra (rozkaz RLTl), w miejsce gdzie nastąpiło przerwanie.
mikrokontrolerach rodziny '51 część znaczników' jest ustawiana w stan Z{ ra Somatycznie po wejściu procesora do obsługi przerwania. Pozostałe łączniki muszą być zerowane programowo. Do znaczników zerowanych ^Somatycznie należą znaczniki TFO, TF1 oraz 1E0 i IE1 jeżeli układ prze-Vsan zewnętrznych reaguje na zbocze opadające sygnału wywołującego Porwanie.
układ przerwań zewnętrznych reaguje na poziom, a na wejściu jest uszany stan zera, to programowe zerowanie znaczników nie da żad-