Mikrokontrolery - 8051 przerwań
Przerwania to zdarzenia, które czasowo zawieszają program główny, przekazują sterowanie do źródeł zewnętrznych i wykonują swoje zadanie. Następnie przekazuje sterowanie do programu głównego, w którym zostało przerwane.
8051 ma 5 sygnałów przerwań, tj. INT0, TFO, INT1, TF1, RI / TI. Każde przerwanie można włączyć lub wyłączyć, ustawiając bity rejestru IE, a cały system przerwań można wyłączyć, usuwając bit EA tego samego rejestru.
Rejestr IE (włączanie przerwań)
Ten rejestr jest odpowiedzialny za włączanie i wyłączanie przerwania. Rejestr EA jest ustawiony na jeden do włączania przerwań i ustawiony na 0 do wyłączania przerwań. Sekwencja bitów i ich znaczenie przedstawiono na poniższym rysunku.
EA | IE.7 | Wyłącza wszystkie przerwania. Gdy EA = 0, żadne przerwanie nie zostanie potwierdzone, a EA = 1 włącza przerwanie indywidualnie. |
- | IE.6 | Zarezerwowane do użytku w przyszłości. |
- | IE.5 | Zarezerwowane do użytku w przyszłości. |
ES | IE.4 | Włącza / wyłącza przerwanie portu szeregowego. |
ET1 | IE.3 | Włącza / wyłącza przerwanie przepełnienia timera1. |
EX1 | IE.2 | Włącza / wyłącza zewnętrzne przerwanie 1. |
ET0 | IE.1 | Włącza / wyłącza przerwanie przepełnienia timera0. |
EX0 | IE.0 | Włącza / wyłącza zewnętrzne przerwanie 0. |
Rejestr IP (priorytet przerwań)
Możemy zmienić poziomy priorytetów przerwań, zmieniając odpowiedni bit w rejestrze priorytetu przerwań (IP), jak pokazano na poniższym rysunku.
Przerwanie o niskim priorytecie może zostać przerwane tylko przez przerwanie o wysokim priorytecie, ale nie może zostać przerwane przez inne przerwanie o niskim priorytecie.
Jeśli jednocześnie zostaną odebrane dwa przerwania o różnych poziomach priorytetu, żądanie o wyższym poziomie priorytetu jest obsługiwane.
Jeśli żądania o tych samych poziomach priorytetu są odbierane jednocześnie, wewnętrzna sekwencja odpytywania określa, które żądanie ma być obsługiwane.
- | IP.6 | Zarezerwowane do użytku w przyszłości. |
- | IP.5 | Zarezerwowane do użytku w przyszłości. |
PS | IP.4 | Określa poziom priorytetu przerwań portu szeregowego. |
PT1 | IP.3 | Definiuje przerwanie timera o priorytecie 1. |
PX1 | IP.2 | Określa poziom priorytetu przerwań zewnętrznych. |
PT0 | IP.1 | Określa poziom priorytetu przerwań timera0. |
PX0 | IP.0 | Definiuje zewnętrzne przerwanie o poziomie priorytetu 0. |
Rejestr TCON
Rejestr TCON określa typ zewnętrznego przerwania mikrokontrolera.