102 Rozbudowa systemu, przerwania
Rozbudowa systemu przerwań
_ Mikrokomputery 8051/52 mają tylko
dwa wejścia przerywające INTO i INT1. Dołączenie większej liczby sygnałów przerwań zewnętrznych wymaga zastosowania zewnętrznego układu zbierającego te przerwania. Przykład takiego układu, umożliwiającego dołączenie czterech sygnałów zgłoszeń przerwań do wejścia INTO, pokazano na rys. 3.10. Przerwania są zgłaszane narastającym zboczem sygnału. Zgłoszenie powoduje wyzerowanie odpowiedniego przerzutnika D i w konsekwencji wymuszenie stanu niskiego na wejściu przerywającym INTO. Dla tego wejścia powinno być zaprogramowane zgłoszenie przerwania poziomem (ITO = 0).
Rys. 3.10. Rozbudowa systemu przerwań
Układ wymaga programowego określenia przyczyny zgłoszonego przerwania (przez odczytanie stanu bitów 0-3 portu PI) oraz programowego ustalenia priorytetu obsługi przerwań przy ich jednoczesnym zgłoszeniu (wyzerowany więcej niż jeden przerzutnik). W programie obsługi przerwania powinno być również zawarte skasowanie jego zgłoszenia Dokonuje się tego przez chwilowe wysłanie zera na odpowiedni z bitów 4-7 portu PI (w stanie normalnym na tych bitach powinny być jedynki). Powoduje to ustawienie przerzutnika zgłoszenia, czyli skasowanie zgłoszenia przerwania
W sposób przedstawiony na rys. 3.10 można oczywiście dołączyć mniejszą lub większą liczbę sygnałów przerywających. W tym drugim przypadku, w celu zmniejszenia liczby potrzebnych do identyfikacji i kasowania zgłoszenia bitów portu, można zastosować koder priorytetowy do generowania numeru zgłoszonego przerw ania, a także dekoder do kasowania zgłoszeń.