Mikrokontroler 8051 - układ sterowania

Najważniejszym zadaniem układu sterowania Intel 8051 jest dekodowanie przesłanego z pamięci programu rozkazu i generacja na jego podstawie odpowiednich sygnałów sterujących pozostałymi elementami mikrokontrolera.

Mikroprocesor 8051

Z układem sterowania współpracuje licznik rozkazów PC (16-bitowy rejestr zawierający adres kolejnego rozkazu przeznaczonego do wykonania) i rejestr rozkazów (rejestr przechowujący ostatnio pobrany rozkaz). Współpracuje z nim także układ przerwań (układ sterowania jest odpowiedzialny za sprzętową generację rozkazu LCALL wywołania procedury obsługi przerwania).

Układ sterowania jest odpowiedzialny za generację następujących sygnałów zewnętrznych:
• PSEN' - strob odczytu z zewnętrznej pamięci programu.
• RD' - strob odczytu z zewnętrznej pamięci danych.
• WR' - strob zapisu do zewnętrznej pamięci danych.
• ALE - sygnał sterujący buforem zatrzaskującym młodszy bajt adresu pamięci zewnętrznej.
Do układu sterowania są natomiast doprowadzone następujące sygnały zewnętrzne:
• EA' - linia wyłączająca wewnętrzną pamięć programu.
• RST - linia zerowania mikrokontrolera.

Ponieważ po dołączeniu zasilania do mikrokontrolera jego rejestry i układy mogą przyjmować trudne do przewidzenia stany, natychmiast po włączeniu zasilania powinien zostać wygenerowany sygnał zerujący. Prawidłowe wyzerowanie mikrokontrolera polega na podaniu na wyprowadzenie RST stanu "1" przez co najmniej 2 cykle maszynowe. Podczas włączania zasilania poziom wysoki powinien być utrzymywany dłużej (ok. 10-20ms) w związku z koniecznością wzbudzenia się wewnętrznego generatora.

Po włączeniu zasilania układu, poziom wysoki utrzymuje się na wyprowadzeniu RST przez czas ładowania kondensatora. Stała czasowa obwodu RC z zapasem zapewnia konieczny czas występowania poziomu wysokiego na wyprowadzeniu. Podczas normalnej pracy możliwe jest wyzerowanie mikrokontrolera przez naciśnięcie przycisku RESET, co spowoduje doprowadzenia poziomu wysokiego do wyprowadzenia RST i rozładowanie kondensatora. Po zwolnieniu przycisku poziom wysoki na wyprowadzeniu RST utrzyma się do czasu naładowania kondensatora (podobnie jak przy włączeniu zasilania). Sygnał RESET powoduje inicjację wszystkich zasobów mikrokontrolera:
• ustawienie zawartości wskaźnika stosu SP=7.
• ustawienie jedynek na wszystkich liniach portów we/wy.
• wyzerowanie pozostałych rejestrów specjalnych (jedynie SBUF przyjmuje nieokreśloną zawartość).
• zawartość pamięci danych pozostaje nie zmieniona (po włączeniu zasilania jest nieokreślona).

Układ sterowania mikrokontrolera wykonanego w technologii CMOS (80C51) steruje również trybami oszczędzania energii. Od strony programowej ustawienie określonego trybu odbywa się za pośrednictwem rejestru PCON:

bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
SMOD - - - GF1 GF0 PD IDL
Bity rejestru PCON mikrokontrolera 8051


• SMOD - odpowiedzialny za określenie prędkości transmisji przez układ transmisji szeregowej.
• GF1, GF0 - bity ogólnego przeznaczenia.
• PD - bit sterujący przejściem mikrokontrolera w stan uśpienia PD (ang. Power Down); ustawienie powoduje przejście do stanu uśpienia, zerowany jest sprzętowo przy wyjściu ze stanu uśpienia.
• IDL - bit sterujący przejściem mikrokontrolera w stan uśpienia IDL (ang. Idle); ustawienie powoduje przejście do stanu uśpienia, zerowany jest sprzętowo przy wyjściu ze stanu uśpienia.

Komentarze



link W układzie Intel 8051 jest zaimplementowany system wieloźródłowy przerwań o dwóch priorytetach z możliwością zagnieżdżania. Czas reakcji po wystąpieniu żądania obsługi zawiera się między 3 a 7 s przy zegarze 12MHz.



link Prezentujemy listę instrukcji - mikroprocesor 8051 ( Intel 8051 ): ACALL addr11 Dzialanie: (PC)  (PC) + 2 (SP)  (SP) + 1 ((SP))  (PC7-0) (SP)  (SP) + 1 ((SP))  (PC15-8) (PC10-0)  addr11