
Co to jest komputer? /
Pamięć i rejestry /
Budowa 89C2051 /
Programujemy
Co to jest komputer?
No i właśnie, jak byś odpowiedział? To przecież proste. Nawet dziecko to wie. Powiedziało by ono: "komputer to takie coś metalowe i ma myszkę". Troszkę starsze (takie które potrafi bez pomocy mamy wejść do piaskownicy) powie: "komputer to takie fajne coś, co ma procesor Pentium4 3,0 GHz, 512MB RAM'u, kartę graficzną dżiforsa i wentylator. Na komputerze mogę grać w gry, słuchać muzyki, oglądać film i piracić jakiś całkowicie legalny program, a wszystko to mogę robić w tej samej chwili". No niby obaj mają rację, ale czy naprawdę komputer musi spełniać te wszystkie wymogi? Czy procesor musi być taktowany gigahertzami? Czy naprawdę musi mieć tyle RAM'u, aby mógł nazywać się "Komputerem"?
Nie myśl, że jestem przeciwnikiem postępu technicznego. Chciałbym Ci jednak uzmysłowić, że niekoniecznie zawsze jest potrzebny najlepszy i najnowszy sprzęt aby zrobić Coś. A co robisz gdy chcesz wbić gwóźdź do ściany? Bierzesz zwyczajny młotek, albo najnowszy model sterowany z Księżyca na którym w trakcie wbijania gwoździa możesz obejrzeć sobie swój ulubiony film? No właśnie..
Zastanów się: chciałbyś zbudować sobie elektroniczny zegarek który odmierzał by ci np. czas jednej godziny, później zerował się i by cykl taki powtarzał się w nieskończoność. Jeśli jesteś elektronikiem (tak jak ja) to pomyślisz sobie, że potrzeba by generatora, 4 liczników, 4 dekoderów, przydały by się także wyświetlacze i parę kabelków. Łącznie około 10 układów scalonych. Trochę to duże, no nie? My jednak chcemy iść z postępem, ale rozsądnie. Co byś powiedział gdyby do tego celu zaprzęgnąć procesor? Było by super, ale jaki? Oczywiście można Pentium4, ale po co i za ile? I tu dochodzimy do sedna sprawy.
Czy spotkałeś się już kiedyś z z wyrażeniem mikrokontroler? Jest to nic innego jak komputer jednoukładowy. W jednej obudowie układu scalonego znajdują się wszystkie niezbędne składniki prawdziwego komputera czyli:
procesor
pamięć programu (ROM)
pamięć danych (RAM)
porty wejścia / wyjścia
Obecnie na rynku jest wiele różnych typów i rodzajów mikrokontrolerów, a jeden jest lepszy od drugiego. Zawsze jednak trzeba się na coś zdecydować. Z własnego doświadczenia wiem, że do amatorskiego zastosowania wyśmienicie nadawają się mikrokontrolery serii '51. Historia ich sięga już liku lat, ale dzięki zastosowanym nowym technologiom wciąż są bardzo popularne, a co najważniejsze nie brakuje w języku polskim odpowiedniej dokumentacji. Najbardziej popularnym przedstawicielem tej rodziny jest 8051.
Chociaż główny tytuł tej sekcji dotyczy mikrokontrolerów 89C2051, to jednak celowo rozpoczynam opisywanie go od jego starszego brata 8051. Mechanizmy i struktura obu procesorków są bardzo podobne a 8051 stanowi niejako wyjście do innych procesorów tej serii.
8051 jest układem w 40-pinowej obudowie. W swoim środku zawiera procesor z prawdziwego zdarzenia, 128 bajtów pamięci RAM, pamięć ROM (która w tym modelu na ogół nie jest wykorzystywana), 4 porty wejścia/wyjścia oraz dwa niezależne liczniki. Jeśli wydaje ci się że pamięć 128 bajtów to za mało na prawdziwy program to w zasadzie masz rację. Wiedz jednak że TEN procesor nie pobiera rozkazów z pamięci RAM, tylko z ROM, a ta może mieć nawet 64KB (przy zastosowaniu tzw. zewnętrznej pamięci ROM). Kodując w asemblerze nasz program zajmuje bardzo mało miejsca a wykonuje się z ogromną szybkością. 64KB wydają się wówczas ogromną przestrzenią.
Po cóż więc ta pamięć RAM? Jeszcze nie spotkałem się z użytecznym programem który by nie musiał przechowywać jakiś swoich danych. Trzeba je więc gdzieś zapisać, a do ROM'u tego zrobić nie możemy. Więc gdzie? Oczywiście do RAM'u.
To tyle tytułem wstępu. W dalszej części dowiesz się coś więcej na temat PAMIĘCI I REJESTRÓW naszego mikrokontrolerka.
dalej >>
|