• Nie Znaleziono Wyników

Systemy cyfrowe z podstawami elektroniki i miernictwa Wyższa Szkoła Zarządzania i Bankowości w Krakowie Informatyka II rok studia dzienne

N/A
N/A
Protected

Academic year: 2022

Share "Systemy cyfrowe z podstawami elektroniki i miernictwa Wyższa Szkoła Zarządzania i Bankowości w Krakowie Informatyka II rok studia dzienne"

Copied!
5
0
0

Pełen tekst

(1)

Systemy cyfrowe z podstawami elektroniki i miernictwa

Wyższa Szkoła Zarządzania i Bankowości w Krakowie Informatyka II rok studia dzienne

Ćwiczenie nr 11: Podstawy programowania mikrokontrolerow cz. 2

1 Cel ćwiczenia

Celem ćwiczenia jest poznanie podstaw budowy prostych aplikacji opartych o mikrokontrolery jednoukładowe , oraz elementów programowania mikrokontrolerów w językach wysokiego poziomu..

1.1 Wymagane wiadomości

• Budowa mikrokontrolera BasicStamp2

• Zestaw edukacyjny StampInClass – budowa i obsługa

• Język PBASIC.

Wykorzystywany sprzęt

Komputer PC z oprogramowaniem do obsługi zestawu BasicStamp.

Zestaw edukacyjny StampInClass firmy Parallax inc.

Literatura

www.parallaxinc.com

www.stampsinclass.com

(2)

2

2.1 Przycisk monostabilny

Przycisk monostabilny jest najprostszym możliwym do zrealizowania urządzeniem wejściowym. Do jego budowy niezbędne są zaledwie 2 elementy: rezystor 10kohm i sam przycisk typu pushbutton.

Przycisk działa tak, że wciśnięcie go spowoduje połączenie określonych wyprowadzeń.

Dodatkowy rezystor pełni funkcje elementu ustalającego stan linii wejściowej w chwili gdy przycisk jest niewciśnięty. Schemat układu przełącznika wykorzystywany w tej części przedstawiono poniżej.

Do obsługi tego typu urządzenia służy w języku PBASIC funkcja BUTTON.

Zadaniem w tej części będzie przygotowanie programu zapalającego i gaszącego wykorzystywaną już wcześniej diodę LED w zależności od stanu przycisku.

Dla ułatwienia montażu oznaczmy pola na płytce montażowej jak na rysunku:

Aby przygotować układ testowy należy wykonać następujące połączenia:

• Umieścić przełącznik tak aby wyprowadzenia znalazły się w otworach J3,J8,L3,L8.

• Rezystor 10k (brązowy, czarny, pomarańczowy) umieścić jednym końcem w złączu X3

oznaczonym Vdd, a drugim w otworze J1.

• Kawałek przewodu umieścić w otworze J0 i otworze P7 złącza X2.

• Innym kawałek przewodu połączyć Vss ze złącza X3 do dowolnego otworu w wierszu L (np. L9) .

• Połączyć diodę świecącą zgodnie ze schematem

Rezystor 200 Ω (czerwony, czarny, brązowy) umieścić jednym końcem w otworze P0 złącza X2 , a drugim w jednym z otworów R0 –R3. Diodę umieścić dłuższym wyprowadzeniem w otworze R4 a krótszym w otworze R5. Kawałkiem przewodu połączyć Vss do jednego z otworów R6-R9.

J4 J5

L4 L5

(3)

Do obsługi przycisku wykorzystywane jest polecenie BUTTON. Przykładowy program poniżej ilustruje użycie tej funkcji do sterowania zapaleniem się diody LED.

'{$STAMP BS2} ‘dyrektywa wskazujaca na modul BS2

' =========================================================================

' File: BUTTON.BS2 '

' ilustracja uzycia funkcji BUTTON

' =========================================================================

LEDpin CON 0 ' dioda podłączona do pinu P0 ButtonPin CON 7 ' włącznik do Pin 1

DlyTm CON 100 ' czas zwłoki w milisekundach BtnWrk VAR BYTE 'zmienna dla funkcji BUTTON.

' ---

Loop:

BUTTON ButtonPin,0,255,250,BtnWrk,0,NoPress ' jesli przycisk nie wcisniety 'to idz do NoPress

HIGH LEDpin ' wlacz diode GOTO Loop

NoPress:

LOW LEDpin ' wylacz diode PAUSE DlyTm

GOTO Loop END

Wynikiem wykonania tego programu jest błyśniecie diody po naciśnięciu przycisku.

Zmodyfikować program tak, aby wciśniecie przycisku gasiło diodę.

W przedstawionym przykładzie aktywnym stanem przycisku jest stan niski ( wciśnięcie przycisku powoduje podanie na odpowiednią linie portu stanu niskiego).

Możliwa jest realizacja przycisku tak, aby stanem aktywnym był stan wysoki.

Zaproponować realizacje takiego przycisku. Zmienić program, aby prawidłowo obsługiwał tak przygotowany układ ( przestudiować parametry wywołania funkcji BUTTON).

(4)

4

2.2 Obsługa wejścia analogowego

Celem tego eksperymentu będzie zapoznanie się z metodą obsługi wejścia analogowego bez wykorzystania przetwornika AC. Metoda opiera się na pomiarze czasu ładowania i

rozładowania kondensatora o znanej pojemności C poprzez nieznaną rezystancję Rx W podobny sposób można dokonywać cyfrowego pomiary temperatury z wykorzystaniem czujnika termorezystywnego.

Sygnał wejściowy stanowić będzie wartość rezystancji potencjometru podłączonego do linii P15 mikrokontrolera. Wynikiem działania programu będzie zapalenia proporcjonalnie do położenia suwaka potencjometru diod w linijce diodowej wykorzystywanej w jednym z wcześniejszych eksperymentów.

Obwód do tego ćwiczenia:

Sposób wykonania połączeń:

1. Potencjometr umieścić tak aby wyprowadzenia znalazły się w wierszach A,B i C w kolumnie 8 lub 9.

2. Kondensator 0.1 uF umieścić jednym wyprowadzeniem w gnieździe VDD złącza X3 a drugim w otworze B6

3. Rezystor 200Ω (lub 220Ω umieścić jednym końcem w otworze B5 a drugim w otworze P15 złącza X2.

4. Kawałkiem przewodu połączyć wyprowadzenie VSS złącza X3 z otworem C5.

5. Zmontować linijkę diodową (tak jak w poprzednim ćwiczeniu) podłączając ją za pomocą rezystorów 200Ω do wyprowadzeń P0-P7

Po zmontowaniu obwodu uruchomić przykładowy program:

' =========================================================================

' Plik: LEDGRAGH.BS2

' sterowanie linijka diodowa za pomoca potencjometru ' {$STAMP BS2}

' =========================================================================

LEDs VAR OutL ' diody wyjściowe

PotPin CON 15 ' gniazdko dla potencjometru

DotGraf CON 0 ' tryb wyswietlania->pojedyncza dioda BarGraf CON 1 ' tryb wyswietlania->wiele diod

GrMode CON BarGraf ' definiuje aktualny tryb

rawVal VAR Word ' wartość dla pojedyńczej diody grafVal VAR Byte ' wartość dla wielu diod

bits VAR Byte ' bit dla najwyżej świecącej diody

newBar VAR Byte ' przestrzeń robocza dla nowego wyświetlacza ' --- Initialize:

(5)

DirL = %11111111 ' wszystkie gniazda diod ustaw jako wyjścia

' --- Main:

HIGH PotPin ' rozładowanie kondensatora

PAUSE 1 ' przerwa, dla próbkowania co jedną milisekundę RCTIME PotPin,1,rawVal 'odczytaj aktualną wartość potencjometru

grafVal = rawVal */ $005F 'przeskalowanie zawartości 'potencjometru na przedział 0-8

GOSUB ShowGraph 'wskocz do podprocedury odpowiadającej za wyświetlanie PAUSE 50

GOTO Main ' i tak w pętelce END

' --- ShowGraph:

LEDs = DCD (grafVal / 32) ' zaświeć pojedynczą diodę

' funkcja DCD zamienia argument na kod „1 z N”

RETURN

Po inicjalizacji program czyta aktualną zawartość potencjometru, przy użyciu instrukcji RCTIME, i zwraca ją do rawVal. Można użyć trybu DEBUG do odczytania aktualnej zawartości zmiennej rawVal. Wartość zwracana przez RCTIME jest z przedziału 0 (potencjometr ustawiony ma wartość minimalną) do 685 (potencjometr ustawiony na wartość maksymalną). Ponieważ grafVal może przyjmować wartości 0-255 a rawVal zwraca 0- 685 należy to przeskalować, stąd po podzieleniu wychodzi 0.372 . Do dzielenia liczb zmiennoprzecinkowych, z zaokrągleniem do jedności używa się operatora */

Używany jest operator DCD do zamiany 4 bitowej liczby całkowitej kod 1 z n.

W trybie zapalania pojedynczej diody te działania są wystarczające do jej zaświecenia.

Przekonstruować funkcje wyświetlającą tak, aby wynik był reprezentowany w postaci świecącej linijki diod.

Do konstrukcji danej do wyświetlenia można wykorzystać operatory przesuwania o 1 bit w prawo „>>” i o 1 bit w lewo „<<” oraz przypisanie : zmienna.nr_bitu = wartosc_bitu które na pozycji określonej przez nr_bitu w zmiennej zmienna ustawia zadaną warość_bitu.

Cytaty

Powiązane dokumenty

Układ wspólnego kolektora charakteryzuje się wzmocnieniem napięciowym równym 1 (w rzeczywistości nieco poniżej jedności) i dużą impedancją wejściową, dzięki czemu dobrze

Udało nam się udowodnić, że dla niskich częstotliwości i dla stałego sygnału wzmacniacz operacyjny jest układem o liniowym wzmocnieniu oraz przewidywalnym stopniu wzmocnienia.

Da się tu wskazać prostą dzielącą populacje wszystkich trzech klas, która rozgraniczy Iris Setosa od Iris Virginica i Iris Versicolor.. Pozostałe wykresy prezentują resztę

Należy wybrać narzędzie Przesuń, kliknąć prawym przyciskiem myszy przycisk Animacja i wybrać Właściwości.. W zakładce Kolor zaznaczamy opcję Kolor Tła i

Jak widać po zastosowaniu maski Sobela krawędzie w obu przypadkach są bardziej widoczne, ale program Filtry tworzy większe zakłócenia, niż Image ProPlus. Krawędzie w Image Pro

² Ten parametr jest widoczny dopiero wówczas, gdy w parametrze „Działanie przy naciśnięciu części klawisza/poje- dynczego przycisku” wybrana jest wartość „Kąt

Łączna liczba punktów ECTS, którą student musi uzyskać w ramach zajęć z zakresu nauk podstawowych, do których odnoszą się efekty kształcenia dla określonego kierunku, poziomu

Głównym celem realizacji przedmiotu jest opanowanie wiedzy z zakresu zarządzania systemami i sieciami informatycznymi, nabycie umiejętności zarządzania systemami i