6 1. Dlaczego mikrokontrolery *51 ?
• wewnętrzna pamięć programu i danych,
• dwa programowalne układy czasowo-licznikowe,
• niezależny od jednostki arytmetyczno-logicznej układ transmisji szeregowej,
• duża liczba, jak na tamte czasy, wejść i wyjść cyfrowych,
• wewnętrzny generator sterujący działaniem mikrokontrolera,
• priorytetowy, 2-poziomowy układ kontroli przerwań, wystarczający przy niewielkiej liczbie wewnętrznych układów.
Wielu konstruktorom mikroprocesorowych sterowników' brakowało możliwości szybkiej wymiany danych, współpracy z innymi zewnętrznymi u-kładami na wspólnej szynie (np. tryb DMA-bezpośredniego dostępu do pamięci) oraz współpracy z wolniej (w stosunku do mikrokontrolera) działającymi układami zewnętrznymi lub pamięciami. Obie wady zostały częściowo usunięte. Tryb DMA wprowadziła firma Philips w mikrokontrolerach PCF
8xC592/598. Programowanie czasu trwania sygnałów RD (ReaD) i WR (WRite) sterujących zewnętrznymi pamięciami RAM możliwe jest w mikrokontrolerach firmy Dallas, np. DS8xC320 lub DS8xC5xO. Firma ta wprowadziła w mikrokontrolerze DS8xC530 dodatkowy wewnętrzny układ RTC (Real Time Clock) oraz rozbudowane i energooszczędne tryby pracy, co jest szczególnie ważne przy zasilaniu bateryjnym.
Nowe konstrukcje mikrokontrolerów 16-bitowych, np. 8xC251 firmy Intel lub 8xC51XA firmy Philips, są zgodne układowo i programowo z. mikrokontrolerem 8051. To świadczy o zakresie zastosowań mikrokontrolerów rodziny '51, przyzwyczajeniach programistów, niezbyt wysokich kosztach oprogramowania wspomagającego testowanie i uruchamianie oraz bardzo bogatej biblioteki o-programowania, kompilatorów języków wyższego poziomu itd.
Mikrokontroler 8051 potęgą jest i basta.
Mikroprocesor jest układem o dużym stopniu scalenia (dużej skali integracji), którego działanie zależy od programu, ciągu rozkazów. Program może być dowolnie zmieniany przez użytkownika w ramach dostępnej listy rozkazów. Dla mikrokontrolerów rodziny ’51 lista rozkazów jest stała, nie zależy od liczby wewnętrznych układów i liczy 111 instrukcji. Realizowany program i przetwarzane dane przechowywane są w:
• pamięci stałej programu, której zawartość nie jest zmieniana w trakcie wykonywania programu; oprócz samego programu w pamięci tej przechowywane są również niektóre stałe, tablice kodujące itp.,
• pamięci danych, której zawartość jest ciągle modyfikowana, zmieniana; pamięć ta zawiera dane do obliczeń i wyniki tych obliczeń.
Im bardziej złożone obliczenia lub sterowanie tym większa liczba danych musi być przechowywana w pamięci danych. Ze względu na niezbyt dużą wewnętrzną pamięć danych w mikrokontrolerach rodziny '51, konieczne jest dołączenie zewnętrznej pamięci danych. Ten sam problem występuje w przypadku pamięci programu. Mikrokontrolery rodziny ’51 umożliwiają dołączenie zewnętrznych pamięci programu i danych, tak jak przedstawiono to na rysunku 2-1.
Rys. 2-1 Magistrale mikrokontrolera 8051.