Programowanie mikrokontrolerów 8051 w języku C

Programowanie mikrokontrolerów 8051 w języku C

Od kilkunastu lat zajmuję się programowaniem. Pierwszym językiem programowania przeznaczonym dla mikrokontrolerów, który poznałem, był asembler 8048. Wszyscy ci, którzy pamiętają ten mikrokontroler, pamiętają też kłopoty z tworzeniem dla niego programów. Z zazdrością patrzyliśmy wówczas na kolegów z tak zwanego Zachodu, którzy pisali programy dla różnych mikrokontrolerów a nie takich, które wolno było użyć oraz piszących w językach wysokiego poziomu, takich jak PLM czy C. Dla nas były to narzędzia zupełnie nie do zdobycia. Cieszę się, że czasy się zmieniły. Dziś przeciętny mikrokontroler z pamięcią FLASH można kupić w każdym dobrym sklepie z częściami elektronicznymi. W kilka godzin można również znaleźć schemat programatora do niego oraz zdobyć odpowiednie narzędzia absolutnie za darmo. Niestety, za te najlepsze trzeba zapłacić. Sytuacja jest diametralnie inna niż kiedyś – dziwią niektórych hobbystów układy budowane przy użyciu elementów dyskretnych, nikogo natomiast nie dziwi fakt stosowania mikrokontrolerów. Ich ogromny wybór na rynku oraz niska cena sprawiają, że na stałe zadomowiły się one również w konstrukcjach amatorskich.
Ta książka to będzie pewna inwestycja. Jeśli ją przeczytasz, będzie to inwestycja w Twoją wiedzę. Zaprocentuje z całą pewnością, ponieważ język C da ci wolność wyboru. Nie przykuje cię do jednego, ściśle określonego typu mikrokontrolera, lecz da swobodę przy określaniu własnych potrzeb. Z łatwością użyjesz dowolnego mikrokontrolera z rodziny na przykład 8051 by później, bez trudu przy minimalnym tylko wysiłku, zmienić go na PIC. Nie ma nic za darmo, ale nie będziesz musiał od podstaw uczyć się nowego języka programowania, tak jak w przypadku asemblera, a niektóre z twoich programów prawdopodobnie dadzą się przenieść wprost. To jest absolutnie unikalna cecha C. Nie ma jej żaden inny kompilator. W swojej praktyce poznałem wiele różnych języków programowania, ale C jest absolutnie unikatowy.
Nie zrozum mnie jednak źle Czytelniku. Język C, tak samo jak asembler, jest bardzo blisko tak zwanego hardware, czyli sprzętu, na którym pracuje. Będziesz musiał poznać nazwy rejestrów, wielkość pamięci, której wolno Ci użyć, prawdopodobnie pewne procedury będą musiały być poprawione przed ich przeniesieniem na inny mikrokontroler. Jednak praca, którą wykonasz jest dużo mniejsza aniżeli ta, którą wykonujesz ucząc się na nowo listy rozkazów. Czas jest twoją najcenniejszą wartością. To, jak wykorzystasz swój czas wpłynie bezpośrednio na to, co zrobisz i osiągniesz. Poświęć swój czas czemuś bardziej wartościowemu, niż znajomości kilku języków asemblera.
Książka ta uczy programowania mikrokontrolerów w języku C praktycznie od podstaw. Uczy poprzez przykłady i praktyczne zastosowania języka do budowy konkretnych aplikacji. Nie poucza, nie teoretyzuje, podsuwa Ci tylko pewne pomysły. Poprowadzi Cię od początku, poprzez składnię języka, konstrukcję wyrażeń, aż do przykładowych aplikacji. Będą one skupiały się nie tyle na różnych sztuczkach programowych, ile na tym, aby były czytelne i zrozumiałe. Jako autor mam nadzieję, że pod koniec lektury tej książki być może samodzielnie napiszesz pierwszy program w języku C.
W przykładach programowania zawartych w tej książce, wykorzystałem kompilator RC-51 firmy Raisonance. Jego wersję demonstracyjną możesz sobie pobrać za darmo z Internetu ze strony producenta, firmy Raisonance, znajdującej się pod adresem http://www.raisonance.com. Umożliwia ona napisanie programu o wielkości do 4 kB kodu wynikowego. To naprawdę bardzo dużo. Gdy już poznasz mechanizmy języka C, wybierzesz sobie dowolny kompilator taki, jak będzie Ci odpowiadał i na jaki będzie pozwalać zasobność Twojej kieszeni. Być może uda Ci się znaleźć darmową wersję odpowiedniego kompilatora C w Internecie?
Starałem się, aby ta książka była inna niż podobne tego typu pozycje – będziemy uczyć się nie tyle teorii programowania ile posługiwać się przykładami praktycznymi. Rozpoczniemy od bardzo prostych, które być może nikomu i niczemu nie posłużą. Na początek podłączymy do mikrokontrolera diodę LED, wyświetlacz siedmiosegmentowy, nauczymy się multipleksować wyświetlacze i obrazować różne informacje. Później poznamy wyświetlacz LCD, obsługę klawiatury i różnych zagadnienia związane z tzw. interfejsem użytkownika. Zbudujemy przykładowe menu, nauczymy się je wyświetlać oraz dokonywać wyborów. W międzyczasie postaram się przemycić nieco informacji na temat zmiennych, wskaźników, tablic. Moim zamiarem jest przedstawienie nieco innego podejścia do zagadnień związanych z programowaniem aniżeli formy suchego wykładu. Momentami nie unikniemy rozważań teoretycznych, ale ... Książek dotyczących teorii jest bardzo dużo, możesz czerpać pełnymi garściami. Ja będę opowiadał o swojej przygodzie związanej z programowaniem i może nie wytłumaczę w tej książce wszystkich zagadnień związanych ze specyfikacją ANSI dla standardu języka C, ale z całą pewnością pokażę Ci jak napisać program. Na koniec zbudujemy kilka użytecznych urządzeń, napiszemy dla nich program w języku C i w asemblerze. Dodam też niewielki słownik składni i słów kluczowych języka abyś zawsze mógł mieć go pod ręką i sięgnąć wtedy, gdy masz wątpliwości. Reszta to już Twoja samodzielna praca, twój wysiłek.
 

Dodaj nowy komentarz

Zawartość pola nie będzie udostępniana publicznie.
Type the characters you see in this picture. (odsłuchaj)
Przepisz kod z obrazka. Jeżeli nie możesz go odczytać prześlij formularz pozostawiając pole puste - zostanie wygenerowany nowy kod. Wielkość liter nie ma znaczenia.