Napisanie pierwszego programu w C nie stwarza żadnych trudności. Wystarczy posiadać dowolny edytor tekstowy (ale nie program do obróbki tekstów taki jak np. Word czy Writer), aby móc zacząć programować. Ja polecam jednak korzystanie z edytorów pisanych dla programistów takich jak Notepad++. Takie edytory posiadają opcje ułatwiające życie osobie piszącej programy: podświetlają na odpowiedni kolor fragmenty naszego kodu i pomagają nam śledzić składnię - np. czy zamknęliśmy wszystkie nawiasy. Listę edytorów z linkami do stron producentów znajdziecie tutaj.
Nasz pierwszy program może wyglądać tak:
#include <8051.h>
void main(void) {Â P1 = P0;
}
Jest to chyba najprostszy program jaki może być. Polega on na tym, że przepisujemy wartość portu P0 na port P1. Jeśli do portu P0 podłączyliśmy przełącznik 8-pozycyjny, a do P1 diody, to zapalać się nam będą te diody, które włączymy przełącznikiem. Da się to oczywiście zrobić bez użycia mikrokontrolera. Ale w przypadku, kiedy mamy tak skomplikowane urządzenie jak AT89C51, nasze możliwości są prawie nieskończone.
Pierwszy wiersz:
#include <8051.h>
jest instrukcją dla kompilatora. Mówi ona, by dołączyć plik nagłówka, który zawiera podstawowe definicje funkcji i stałych dla naszego mikrokontrolera. Jest w nim zapisane między innymi, że P0 to tak naprawdę komórka pamięci RAM o odpowiednim numerze (o portach równoległych więcej możecie dowiedzieć się tutaj). W przyszłości sami będziecie tworzyli pliki nagłówkowe, ponieważ są one przydatnym narzędziem jeśli piszecie funkcje do wykorzystania w różnych aplikacjach.
Linia void main(void) oznacza najważniejszą funkcję w naszym programie. Każdy program w C zaczyna się bowiem od funkcji main(). Ponieważ między innymi składnia języka C wymaga tego, by funkcja zwracała jakąś wartość (choćby to było nic, jak w naszym przypadku), to piszemy przed nazwą funkcji słowo void (ang. próżnia, puste miejsce). Inne funkcje, np. max(int a, int b) mogą zwracać wartości - w przypadku funkcji max() zwracana jest wartość większej z dwóch przekazanych liczb.
Słowo void, które znajduje się również w nawiasie będącym częścią nazwy funkcji main() oznacza, że funkcja main() nie przyjmuje żadnych argumentów. Jest to w końcu nasz pierwszy program, a poza tym pierwsza funkcja w tym programie.
Po nazwie funkcji możemy otworzyć nawiasy klamrowe { }, które oznaczają zawartość funkcji. Wszystko, co się w nich znajdzie, będzie częścią funkcji main(). Należy pamiętać, by zamknąć każdy nawias w odpowiednim miejscu.
Polecenie P1 = P0 przepisuje zawartość portu P0 do P1.
Na końcu zamykamy nawias klamrowy funkcji main().
Tak napisany program należy skompilować za pomocą kompilatora (np. SDCC) i wgrać do naszego mikrokontrolera (albo do emulatora).



Programowanie w C