ZESPÓŁ LABORATORIÓW TELEMATYKI TRANSPORTUPOLITECHNIKA WARSZAWSKAWYDZIAŁ TRANSPORTU Zakład Telekomunikacji w Transporcie |
---|
LABORATORIUM PODSTAW ELEKTRONIKI II |
Studia stacjonarne I stopnia
Badanie podstawowych elementów kontrolnych
AUTOR SPRAWOZDANIA1. Paweł Wontorski SKŁAD ZESPOŁU1. Kamil Rolek 2. Paweł Wontorski |
GRUPASRK |
SEMESTR IV |
---|
Data wykonania ćwiczenia01.03.2012 |
Data oddania sprawozdania 15.03.2012 |
---|
WSTĘP TEORETYCZNY
Celem ćwiczenia nr 26 było zapoznanie się z podstawowymi elementami kontrolnymi przy wykorzystaniu poznanego wcześniej programu LabView umożliwiającego programowanie w języku G i współpracę z konsolą LV100 przy wykorzystaniu portu równoległego LPT. Żaden z programów nie był przez nas budowany od początku – zmodyfikowaliśmy trzy gotowe programy 1,2,3 z rozszerzeniem .vi.
PRZEBIEG ĆWICZENIA
2.1.Program „1.vi”
Zbudowany był ze struktury sekwencyjnej. Kolejnymi fragmentami programu wykonywanymi w ustalonej kolejności były następujące czynności osadzone w ramkach od „0” do „3”:
- ramka „0”: oczekiwanie 1000 ms (1 sekunda)
- ramka „1”: wyłączenie diody na panelu frontowym programu i jednoczesne włączenie ustalonej liczby diod na stanowisku laboratoryjnym LV-100
- ramka „2”: oczekiwanie 1000 ms (1 sekunda)
- ramka „3”: włączenie diody na panelu frontowym programu i jednoczesne wyłączenie diod na stanowisku laboratoryjnym LV-100
2.2.Program „2.vi”
W zależności od stanu sygnału powodował przy kliknięciu zapalenie się lub wygaszenie diody LED. Włączenie diody mogło nastąpić poprzez ustalenie stanu niskiego na określoną linię wyjściową portu LPT. Linia wejściowa BUSY powinna być zanegowana (na poniższym rysunku będącym fragmentem instrukcji, obrazuje to stan ostatniej diody, która pozostaje wygaszona).
Program umożliwił policzenie następujących wartości dla kolejnych przycisków:
- dla SW1 - Error 15: 127 – 119 = 8 = 23
- dla SW2 - Select 13: 127 – 11 = 16 = 24
- dla SW3 - PE 12: 127 – 95 = 32 = 25
- dla SW4 - ACK 10: 127 – 63 = 64 = 26
- dla SW5 - Busy 11: 127 – 255 = -128 = -27
ale ze względu na zanegowanie wartości bitu dla wejścia SW5 należałoby przedstawić obliczenia dla ostatniego przycisku:
- dla SW5 - Busy 11: 255 – 127 = 128 = 27
2.3.Program „3.vi”
Na bazie którego należało napisać (poprzez modyfikację określonych elementów) własny program. Miał on dla liczb większych od 111 włączać diody L2 i L3 na stanowisku laboratoryjnym LV-100. W schemacie blokowym zawierającym strukturę wyboru ustawiono podaną wartość 111 powyżej której wejście przyjmowało true oraz zmieniono znak „=” na „>”. Wewnątrz ramki struktury wyboru należało też ustawić odpowiednią liczbę w systemie szesnastkowym, która przeliczana na system binarny miała określać, które diody zostaną zapalone. Przekształcając liczbę w sposób prawidłowy (patrząc od prawej strony) otrzymaliśmy liczbę: F3H = 111100112. W przypadku wartości na wejściu nie spełniającej zadanego warunku (>111) wszystkie diody powinny być wygaszone (ramka false), co odpowiada liczbie: FFH = 111111112. Fragment programu pierwotnego został przedstawiony na poniższym rysunku ze wskazaniem elementów do modyfikacji. Cały zapis programu znajduje się na dołączonym do sprawozdania wydruku wykonanym na zajęciach.
DODATKOWY TEMAT TEORETYCZNY: ZAMIANA KODU BINARNEGO NA SZESNASTKOWY I SZESNASTKOWEGO NA BINARNY
W ćwiczeniu wykorzystywana była umiejętność zamiany kodów binarnego i szesnastkowego. Pomijając możliwość użycia kalkulatora, a także przeliczanie liczb z pośrednim użyciem zapisu dziesiętnego, co jest umiejętnością bardziej rozpowszechnioną aczkolwiek zajmującą więcej czasu, poniżej został opisany sposób bezpośredniego, szybkiego przejścia z zapisu dwójkowego (binarnego) na szesnastkowy (heksadecymalny) i z szesnastkowego na dwójkowy.
W zapisie zastosowano indeks 2 przy zapisie binarnym i indeks H przy zapisie heksadecymalnym.
3.1. Zamiany liczby binarnej na heksadecymalną
W celu zamiany liczby binarnej na heksadecymalną należy podzielić ją na 4-bitowe fragmenty patrząc od prawej strony, następnie w tym samym kierunku przyporządkować dwójki (podstawa systemu binarnego) w kolejnych potęgach od 0 do 3 i przemnożyć je przez binarne 0 lub 1, po czym zsumować iloczyny. Wyniki z kolejnych 4-bitowych fragmentów tworzą liczbę w zapisie szesnastkowym, przy czym liczbom większym od 9 odpowiadają kolejnego litery alfabetu łacińskiego (10- A, 11-B, 12-C, 13-D, 14-E, 15-F).
Przykład:
Liczba z zajęć w zapisie binarnym:
111100112
Liczbę należy podzielić na 4-bitowe fragmenty:
1111 i 0011
Następnie należy pomnożyć kolejne 0 i 1 przez 2 w kolejnej potędze od 0 do 3 patrząc od prawej strony, a następnie zsumować iloczyny:
1·20 + 1·21 + 1·22 + 1·23 = 15 = F
1·20 + 1·21 + 0·22 + 0·23 = 3
Wyniki tworzą liczbę w zapisie heksadecymalnym:
F3H
3.2. Zamiany liczby heksadecymalnej na binarną
W celu zamiany liczby heksadecymalnej na binarną należy każdą cyfrę (w rozumieniu cyfr od 0 do F) zamienić oddzielnie na liczbę w zapisie binarnym, podobnie jak przy zamianie na system dziesiętny, tzn. spisując kolejne reszty z dzielenia przez 2 (będą to 0 i 1). Wynikowe 4-bitowe fragmenty należy czytać „od dołu” (przykład poniżej), krótsze fragmenty należy poprzedzić odpowiednią liczbą zer aż do uzyskania 4 bitów.
Przykład:
Liczba z zajęć w zapisie szesnastkowym:
F3H
Liczbę należy rozdzielić i podzielić na 2 kolejne ilorazy uzyskując reszty (0 lub 1) spisywane „od dołu”:
F = 15 :2 | 1 3 :2 | 1
7 :2 | 1 1 :2 | 1
3 :2 | 1
1 :2 | 1 wynik: 11112 wynik: 00112
Wyniki tworzą liczbę w zapisie binarnym:
111100112
WNIOSKI
Ćwiczenie pozwoliło zapoznać się z programem LabView, który znacznie ułatwia pracę
z układami elektronicznymi, umożliwiając uzyskanie dowolnego efektu w urządzeniach rzeczywistych przy jedynie niewielkich przekształceniach w tworzonych programach, których łatwo można dokonać na monitorze komputera. Przykładem może być modyfikacja programu 3.vi
z zajęć.
LabView nie wydaje się być skomplikowanym oprogramowaniem: po zapoznaniu się
z instrukcją i wykonaniem kilku operacji w domu i na zajęciach można zrozumieć jego strukturę
i działanie, przy czym wg mnie wymagają dopracowania elementy interfejsu odpowiedzialne za uruchomienie i zatrzymanie symulacji (bądź też po prostu zbyt krótko pracowałem w LabView
i stąd taka opinia). W każdym razie oprogramowanie tego typu znacznie ułatwia pracę, wygodna jest również opcja odczytu i zapisu plików .vi i tym samym wielokrotne modyfikowanie, przenoszenie i wymiana plików.
W czasie wykonywania ćwiczenia pojawiły się problemy z jednym z przycisków (SW2), przy czym wartość 24 została prawidłowo przez nas przewidziana, a potem potwierdzona, gdy przycisk łączył się już prawidłowo. Jest to zresztą słuszny argument za używaniem układów budowanych
w takich programach jak LabView, o ile jest taka możliwość, które nie sprawiają problemów na rzeczywistych elementach i połączeniach między nimi.
W programie 3.vi wykorzystującym strukturę wyboru należało przeprowadzić określone modyfikacje opisane wcześniej w sprawozdaniu, przy czym istotnym elementem była znajomość zamiany liczb z systemu dwójkowego na szesnastkowy i odwrotnie. Umiejętność ta, opisana w części 3 sprawozdania okazuje się więc przydatna, przy czym nie niezbędna – można wówczas użyć kalkulatora wbudowanego w każdy system Windows.