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 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0
SMOD---GF1GF0PDIDL
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.

Ocena: 5.0

Komentarze