Kurs Bascom: Zapoznanie ze środowiskiem i przygotowanie do działania

INTRO1      W drugiej części kursu dowiemy się już nieco więcej- poznamy nasze środowisko programistyczne i je skonfigurujemy, aby było już gotowe do pracy.


Na początku musimy pobrać nasz program „do programowania” ze strony producenta MCS Electronics. Jest to wersja demonstracyjna programu, gdyż pełna licencja jak wiadomo jest płatna. Ale nawet jak na wersje demo to ten program i tak jest potężny. Po zainstalowaniu ważne jest aby uruchomić komputer ponownie, gdyż w innym przypadku program nie zadziała INFO: Dla użytkowników Windowsa Visty/7 po ponownym uruchomieniu należy zalogować się na konto administratora i uruchomić program „jako administrator”. Po włączeniu programu ukaże nam się takie oto okno:

intro

1- nowy plik
2- otwórz plik
3-zapisz plik
4- drukuj
5-ustawienia
6- sprawdzenie kodu (programu)
7- kompilowanie programu
8- symulacja programu
9-programownie mikrokontrolera
10- resetowanie mikrokotrolera
11-emulator terminala (RS-232)
12-LCD Designer
13-menadżer bibliotek

Wiem, że na początku to wszytko wydaje się trudne, ale spokojnie, wszystko po trochę będziemy wdrążać ;) Teraz należy przygotować nasz program do obsługi programatora w tym celu udajemy się do ustawień, programowanie i wybieramy zakładkę Programmer i w rozwijanej liście wybieramy któryś z naszych programatorów z wcześniejszej części kursu, ja mam ustawione: STK200/STK300 Programmer. W rubryce LPT-address wybieramy adres naszego portu równoległego jeżeli w komputerze mamy tylko jeden taki port to nic nie zmieniamy i dajemy OK.

stk200

   Teraz pozostało nam się zapoznać z samym językiem, którym jest Basic. Jest to jeden z łatwiejszych języków programowania, do którego jest potrzebna minimalna wiedza o języku angielskim. Jednak żeby napisać jakiś program to trzeba najpierw poznać dyrektywy czyli „rozkazy” jakie będziemy zlecać naszemu mikokontrolerowi.

Dyrektywy języka:

Wskazuje środowisku pod jaki mikrokontroler jest pisany program

  1.  $regfile =

Informuje z jaką częstotliwością taktuje mikrokontroler (wyrażana w Hz)

  1. $crystal =

Komentarz do linii programu, nie jest on brany pod uwagę kompilatora
podczas wgrywania program, gdyż ona ma nam ułatwić pisanie programu

Informuje procesor które piny, których portów odpowiadają za wejście lub wyjście (x – adres portu ; y – nazwa pinu ), np.

  1. Config Pinx.y =
  1. Config Portb.2 = Input                          ‚Pinb.2 jjest wejściem
  2. Config Portd.7 = output                         ‚Pind.7 jest wyjściem

Szybszy sposób przypisywania pinów:

0- wejście
1- wyjście

Pierwszy pin czyli Pinx.0 jest po prawej stronie a ostatni Pinx.7 jest przy samej literce B, przy takiej konfiguracji wszystkie piny muszą być przypisane co nie oznacza, że trzeba je wykorzystać.

  1. Config portb = &B0011111   ‚PD0-PD4 są wyjściami a od PD5-PD7 wejściami

To są w sumie 3 podstawowe dyrektywy, z których musi składać się każdy program. Teraz przejdziemy do pozostałych elementów języka, nie przedstawię wszystkich bo jest ich bardzo dużo, ale pokaże te najczęściej używane:

Instrukcja Alias

Przypisanie zmiennej łatwej nazwy, przez co program wygląda estetycznie oraz nie pogubimy się w programie. Stosujemy go przypisywania nazw portom i pinom mikrokontrolera.

  1. przyjazna_nazwa Alias Portx.y

Instrukcja IF…THEN…ELSE…END IF

Podstawa programu, tworząca blok decyzyjny. Jej zadaniem jest obliczanie logicznej wartości bloku. Jeśli ta wartość będzie prawdą (czyli zostanie spełnione zadanie z pod wyrażenie IF) to zostanie wykonana instrukcja umieszczona po słowie THEN, jeżeli wartość będzie fałszem to blok nie przejdzie do instrukcji zawartych pod THEN. Blok decyzyjny jest zakończony wyrażeniem END IF. Aby nie tworzyć paru podobnych do siebie bloków to można wykorzystać ELSE, do którego blok przechodzi jeżeli pierwsza instrukcja będzie fałszywa.

  1. If
  2. Portb.2 = 1 Then    ‚zakladamy ze portb.2 to przycisk a portc.3 to dioda led
  3. Portc.3 = 1         ‚jezeli przycisk jest wcisniety (=1) to dioda led sie zapala (=1)
  4. End if

 

  1. If
  2. Portb.2 = 1 Then
  3. Portc.3 = 1
  4. Else
  5. Portb.3 = 1 Then    ‚jeżeli przyciski przy pinie Portb.3 (=1) jest wciśnięty
  6. Portc.3 = 0         ‚ to dioda led gaśnie
  7. End if

Instrukcja Set

Ustawia bit w stan 1, czyli jak chcemy napisać np. portx.y = 1 to możemy użyć takiego stwierdzenia Set portx.y. Będzie oznaczać to samo

Przykład

  1. Set Portc.7

Instrukcja Reset

Ustawia bit w stan 0, czyli jak chcemy napisać np. portx.y = 0 to możemy użyć takiego stwierdzenia Reset portx.y. Będzie oznaczać to samo

  1. Reset Portc.7

Instrukcja Wait/ms/us

Przerywa działanie programu na określony czas.

Dla instrukcji Wait przerwa jest wyrażana w sekundach
Dla instrukcji Waitms przerwa jest wyrażana w milisekundach (1 000 ms = 1s)
Dla instrukcji Waitus przerwa jest wyrażana w sekundach  (1 000 000 us = 1s)

  1. Wait 3               ‚czekaj, albo przerwa w programie na 3 s
  2. Waitms 689           ‚czekaj, albo przerwa w programie na 689 ms
  3. Waitus 70050         ‚czekaj, albo przerwa w programie na 70050 us

Instrukcja DO…LOOP

Jest to nic innego jak zapętlenie programu, wykorzystywane jest jeżeli cały czas ma być wykonywana jakaś instrukcja do póki „coś” nie zostanie spełnione

  1. Do
  2. Set Portc.3         ‚portc.3 to nasza dioda led. jest włączona
  3. Wait 2              ‚czekaj 2s
  4. Reset Portc.3       ‚zgaś diodę
  5. Waitms 300          ‚czekaj 300ms
  6. Set Portc.3         ‚zapal diodę
  7. Waitus 500000       ‚czekaj 500 000us
  8. Reset Portc.3       ‚zgaś diodę
  9. Loop

W tej części kursu podałem te najbardziej podstawowe instrukcje, w każdym kursie będę starał się wdrążać kolejne. Mam nadzieję że chociaż trochę rozjaśniłem programowanie językiem Basic Bascom ;)