Główna O nas Kontakt Projekty Timer NE555 ST6 Realizer Historia Linki 

Nowość!! Realizer - Graficzne programowanie mikrokontrolerów >>>>

Realizer kontra Bascom

Marek CHIMIAK

Rozwój elektroniki w ostatnich dziesięcioleciach zostawił swoje piętno w każdej     dziedzinie życia. Pionierzy elektroniki chyba nie zdawali sobie sprawy, że ich działania     sprawią tak gwałtowny rozwój. Praktycznie z elektroniką mamy do czynienia na każdym     kroku, spotykamy ją wszędzie od zabawek do statków kosmicznych. Powoduje to, że już od  najmłodszych lat swego życia musimy oswajać z nią siebie jak i swoich bliskich.  Nikogo chyba nie trzeba przekonywać, że elektronika jest obecnie dominującą dziedziną techniki. Systemy mikroprocesorowe znajdują obecnie zastosowanie w następujących dziedzinach: technika motoryzacyjna,  sterowanie przemysłowe, technika telekomunikacji,
elektronika domowa.
    Zdecydowana większość układów elektronicznych zrealizowanych techniką mikroprocesorową, jest nie tylko łatwiejsza w budowie, ale i znacznie tańsza od swoich odpowiedników budowanych z wykorzystaniem standardowych układów cyfrowych, nie wspominając już o analogowych. Jednak poważnym utrudnieniem w stosowaniu tych nowoczesnych elementów jest fakt, że sam mikroprocesor niczego "nie potrafi" i do jego działania potrzebny jest program, którego napisanie sprawia niektórym konstruktorom trudności. Z tego powodu powstały i wciąż powstają nowe narzędzia ułatwiające pisanie programów na mikroprocesory. Pisane przez zawodowców i amatorów, nie wszystkie znalazły uznanie i popularność. Spora liczba programistów jako podstawowe narzędzie programistyczne wykorzystuje w swojej pracy asembler. Jest to język niskiego poziomu, dający bardzo krótkie, zwarte kody wynikowe i gwarantujący najszybsze wykonywanie programów, ale jednocześnie wymagana jest spora wiedza w jego stosowaniu. Niechęć do poznawania nowego i przyzwyczajenia sprawiają, że niechętnie sięgamy po nowe narzędzia programistyczne takie jak BASCOM czy ST-REALIZER. W dalszym ciągu dla większości słowo mikroprocesor, budzi strach i przerażenie, a stwierdzenie, że można się tej sztuki nauczyć w wieku 13 czy 14 lat rodzi uśmiech na twarzy. Spróbujmy, więc odpowiedzieć na pytanie: Czy rzeczywiście sztuka programowania mikroprocesorów jest trudną sztuką?.

CHARAKTERYSTYKA PROGRAMÓW BASCOM I ST-REALIZER.

    REALIZER jest programem stworzonym przez firmę Actum. Szczególnie polecany jest wszystkim tym, którzy dysponując skromną wiedzą z zakresu elektroniki, chcieliby w swoich projektach zastosować mikroprocesor. Ktoś powiedział, że REALIZER to narzędzie dla opornych – i słusznie. Nie jest tu bowiem wymagana żadna znajomość architektury mikroprocesora, ani też znajomość języka programowania. Aby napisać program na mikroprocesor, należy po prostu opisać jego działanie w sposób graficzny, stosując przy tym powszechnie znane symbole graficzne bramek logicznych, liczników, przekaźników itd. REALIZER umożliwia w ciągu dosłownie kilku chwil napisanie nawet bardzo zaawansowanego programu, przetestowanie go za pomocą symulatora programowego i zaprogramowanie procesora. Jest to doskonałe narzędzie umożliwiające postawienie pierwszego kroku w świecie techniki cyfrowej. Bo czyż ostatecznie musimy zgłębiać tajniki budowy mikroprocesora?. Przecież możemy potraktować mikroprocesor jak czarną skrzynkę, która posłusznie wykonuje nasze polecenia, a sposób, w jaki ona to robi może nas już zupełnie nie interesować.
BASCOM jest może językiem nieco trudniejszym, wymagającym większej wiedzy i umiejętności, ale w zamian oferuje znacznie bogatsze funkcje programistyczne. Ten profesjonalny program stworzony przez firmę MCS ELECTRONICS w 1999 roku, stanowi odmianę powszechnie znanego BASICA. BASIC był jednym z pierwszych języków programowania, który zaszyty był pamięci kultowych już dziś ZX-Spectrum czy Commodore. Był on nie tylko językiem umożliwiającym porozumiewanie się z komputerem, ale stanowił prosty system operacyjny. Krytykowany przez „rasowych” programistów, był dla większości pierwszym językiem z pomocą którego rozmawiali z komputerami. O popularności tego języka świadczy fakt, że każdy nowo wypuszczany na rynek system operacyjny DOS, zawierał prosty interpreter języka BASIC. Udoskonalany i unowocześniany, znajdował się niejako automatycznie na każdym komputerze PC, co pozwoliło szerokim rzeszom użytkowników na zaznajomienie się z tym językiem. Jako, że język ten umożliwiał „ludzką” niejako rozmowę z komputerem, zyskał wielu sympatyków. BASCOM jest językiem zawierającym potężny zestaw narzędzi, umożliwiający dostęp do techniki procesorowej nawet dzieciom. Ten nowoczesny język programowania, wyposażony został w dziesiątki poleceń specyficznych dla techniki mikroprocesorowej, co niewątpliwie stanowi o jego sile. BASCOM jest językiem wyjątkowo "przyjaznym" i prostym. Pisząc program w BASCOMIE, najczęściej używamy słów i skrótów pochodzących z potocznego języka angielskiego. Zamiast szeregu instrukcji asemlerowskich jak np. LDX, LDA, BNE, JMP, EQU itd. mamy tu polecenia typu IF (jeżeli), THEN (to), ELSE (w przeciwnym razie), REPEAT UNTIL (powtarzaj do momentu aż...) itp.  BASCOM zawiera wszystko to, co jest potrzebne do napisania programu, skompilowania go, przetestowania i zaprogramowania procesora.

REALIZER KONTRA BASCOM

Który z języków wybrać?
Wybór jest trudny. Sam osobiście wybrałem kiedyś ten pierwszy – jest to bowiem najszybszy sposób na zbudowanie pierwszego urządzenia mikroprocesorowego. Z doświadczenia wiem, że osoby które z elektroniką nie miały w przeszłości kontaktu, wybierają REALIZERA. Kiedy jego możliwości przestają wystarczać, sięgamy po inne narzędzia projektowe. Czym różnią się te dwa programy?
    REALIZER jest edytorem graficznym, przy jego użyciu programy nie pisze się, lecz „maluje”. Programy tworzy się wręcz intuicyjnie - śmiem twierdzić, że wystarczy spojrzeć na zapis programu w REALIZERZE i już wiadomo co program „robi”, czego na pewno nie można powiedzieć o BASCOMIE. BASCOM jest edytorem tekstowym, napisanie programu wiąże się z koniecznością poznania poleceń i składni języka. Ktoś powie - przecież tak samo trzeba poznać moduły funkcjonalne REALIZERA. Oczywiście - lecz większość symboli używanych w REALIZERZE znamy z lekcji elektrotechniki czy automatyki w szkole średniej.
Przedstawiony poniżej  prosty przykład obrazuje różnicę w stylu programowania.
Zadaniem procesora jest załączanie i wyłączanie diody z częstotliwością 1 Hz. Program zapisany w BASCOMIE stanowi
ciąg instrukcji powtarzany w pętli DO - LOOP, ustaw stan wysoki na pinie 1 portu D (SET PORTD.1), odczekaj sekundę
(WAIT 1), ustaw stan niski na pinie 1 portu D (RESET PORTD.1), odczekaj sekundę i powtórz (LOOP)
Programu w języku REALIZERA nie trzeba chyba tłumaczyć - wystarczy pobrać z biblioteki odpowiednie symbole graficzne, a mądry kompilator przetłumaczy rysunek na jezyk procesora.

Przyglądnijmy się obu programom i odpowiedzmy na pytanie – który z nich jest czytelniejszy?.

BASCOM REALIZER

CONFIG PIND.1 = OUTPUT
DO
SET PORTD.1
WAIT 1
RESET PORTD.1
WAIT 1
LOOP