DSM-51

Dydaktyczny System Mikroprocesorowy – urządzenie oparte na mikrokontrolerze Intel 8051, służące do nauki programowania mikrokontrolerów 8051 i kompatybilnych [3].

Urządzenie zawiera następujące elementy:

  • Mikrokontroler 8051
  • Pamięć RAM
  • Port RS232
  • Poty I/O analogowe i cyfrowe
  • Wyświetlacz alfanumeryczny LCD 2 linie po 16 znaków
  • Wyświetlacz siedmiosegmentowy LED
  • Klawiatura matrycowa 16 klawiszy (pod pewnym adresem w przestrzeni adresowej są dwa bajty, których wartość odpowiada stanowi wszystkich klawiszy)
  • Klawiatura sekwencyjna 6 klawiszy (powiązana z wyświetlaczem siedmiosegmentowym, określa się z góry konkretny klawisz i zwracany bit określa, czy dany klawisz jest wciśnięty)
  • Dioda LED “TEST” i brzęczyk
  • Watchdog

Układ skrzyżowania M-01

Skrzyżowanieprzecięcie się w jednym poziomie dróg mających jezdnię, ich połączenie lub rozwidlenie, łącznie z powierzchniami utworzonymi przez takie przecięcia, połączenia lub rozwidlenia [2].

Schemat układu skrzyżowania M-01

Skrzyżowanie DSM-51 M01
Rysunek skrzyżowania

Zaimplementowane stany świateł (program standardowy)

  1. przejazd samochodów poziomo (i przejście pionowo dla pieszych)
  2. zmiana świateł – żółte dla samochodów jadących poziomo – zielone mrugające dla pieszych oraz brzęczyk
  3. zmiana świateł – czerwone dla samochodów jadących poziomo ,czerwone dla pieszych
  4. zmiana świateł – czerwone z żółtym dla samochodów w pionie
  5. przejazd samochodów pionowo (i przejście poziomo pieszych)
  6. zmiana świateł – żółte dla samochodów jadących pionowo- zielone mrugające dla pieszych oraz brzęczyk
  7. zmiana świateł – czerwone dla samochodów jadących pionowo – czerwone dla pieszych
  8. zmiana świateł – czerwone z żółtym dla samochodów w poziomie

Opis ustawiania świateł

W modelu M-01 wykorzystano jedynie częściowo port A i port B układu 8255. Oba te porty powinny pracować jako wyjściowe, gdyż ich zadaniem jest zapalenie odpowiednich diod świecących symbolizujących światła na skrzyżowaniu ulic. Jak widać, do portu A przyporządkowano światła dla pieszych, natomiast do portu B światła dla samochodów. Faktycznie linia w porcie wysterowuje kilka diod na skrzyżowaniu, które pełnią te sama funkcje. Na przykład w omawianym modelu są aż cztery czerwone diody dla przejść pionowych, sterowane przez linie PA0. Wszystkie one zapalane są i gaszone jednocześnie sygnałem z tej linii. Stan 0 na odpowiedniej linii zaświecą przyporządkowane do niej diody, natomiast stan 1 je gasi [1].

Projekt

Standardowy program skrzyżowania MicroMade rozszerzyłem o następujące funkcjonalności:

  • Nastawa parametrów – czasów przejazdu drogi poziomej i pionowej za pomocą przetwornika AC/DC oraz klawiatury
  • Możliwość włączenia trybu awaryjnego (nocnego) – świecą się pomarańczowe światła dla pojazdów, natomiast dla pieszych brak świateł
  • Wyzwalacz świateł przejść dla pieszych

Wykorzystane elementy urządzenia DSM-51

Układ 8255

Układ 8255 zawiera w sobie 3 porty, które mogą być indywidualnie konfigurowane. Oprócz pełnienia typowych funkcji portu wejściowego bądź wyjściowego, mogą one również spełniać funkcje układu realizującego transmisje równoległą. W tym trybie następuje automatyczne potwierdzanie przesłanych bajtów i zgłaszanie, w odpowiednich momentach, przerwań do mikroprocesora. W systemie DSM-51 został umieszczony układ 8255, choć nie jest on wykorzystywany do sterowania wewnętrznych elementów systemu. Wszystkie jego trzy porty zostały podłączone do złącza wejść/wyjść cyfrowych. Jest on wiec przeznaczony do sterowania różnorodnych układów podłączanych do DSM-51. W strukturze DSM-51 układ 8255 podłączony jest do szyny systemowej mikrokontrolera. Oprócz podłączenia szyny danych, sygnałów RD, WR, sygnału wyboru z dekodera adresów – CS55, są do niego dołączone dwie linie adresowe: A0 i A1. Układ 8255 zajmuje w przestrzeni adresowej mikrokontrolera cztery kolejne adresy. W systemie DSM-51 jego rejestry występują pod nazwami: CS55A, CS55B, CS55C, CS55D. Pierwsze trzy z tych rejestrów to w rzeczywistości trzy porty nazywane tutaj A, B i C. Czwarty rejestr jest rejestrem sterującym. Wpisanie odpowiedniego bajtu do tego rejestru  ustawia tryby pracy portów.

Przetwornik AC

To układ służący do zamiany sygnału analogowego (ciągłego) na reprezentację cyfrową (sygnał cyfrowy). Proces ten polega na uproszczeniu sygnału analogowego do postaci skwantowanej (dyskretnej), czyli zastąpieniu wartości zmieniających się płynnie do wartości zmieniających się skokowo w odpowiedniej skali (dokładności) odwzorowania. Przetwarzanie A/C tworzą 3 etapy: próbkowanie, kwantyzacja (dyskretyzacja) i kodowanie. W projekcie przetwornik został użyty do zwiększania czasu przejazdu dla głównej drogi.

Timery

To układ odmierzający czas oraz będący źródłem przerwań. W projekcie została użyta procedura przerwania timer’a 0. W niej zostaje przetwarzana wartość analogowa na cyfrową (przetwornik AC). Wartość próbki jest wykorzystana do sterowania główną drogą skrzyżowania.

Wyświetlacz 7-segmentowy

Służy do obrazowania wyników w liczbowym systemie dziesiętnym. Zasilany jest przez linię P1.6. W projekcie służy do odliczania pozostałego czasu świecenia świateł w danym stanie. Wysterowanie odpowiedniej pozycji na wyświetlaczu sprowadza się do wysłanie odpowiedniego wskaźnika do bufora i następnie wysłanie kodu cyfry.

Wyświetlacz LCD

LCD (ang. Liquid Crystal Display) – urządzenie wyświetlające obraz, którego zasada działania oparta jest na zmianie polaryzacji światła na skutek zmian orientacji cząsteczek ciekłego kryształu pod wpływem przyłożonego pola elektrycznego. W projekcie jest użyty do nawigacji w menu, prezentowania wybranych i wprowadzanych wartości oraz wyświetlenia obecnego stanu skrzyżowania. W celu wysłania jakiegoś tekstu, znaku należy wysłać do akumulatora bądź rejestru danych, pożądanej wartości i użycie odpowiedniej funkcji.   

Klawiatura matrycowa

Klawiatura w projekcie służy do nawigacji w menu, oraz do wprowadzania i zatwierdzania danych. Używanie klawisze w projekcie: ESC, ENTER, 1-9.

Diody LED, Buzzer

Diody LED są zasilane przez linię P1.6 (wraz z wyświetlaczem 7-seg.). Wysterowanie diody sprowadza się do wysłania odpowiedniego wskaźnika oraz kodu diody. Następujące diody (F1-F4, OK, ER) są używane w projekcie, do sygnalizacji wybranego trybu działania programu. F1 – tryb pierwszy, F1 i F2 – tryb drugi, F1, F2 i F3 – tryb trzeci. Natomiast diody OK i ER wskazują na wyjątkowe stany skrzyżowania, odpowiednio: piesi/awaryjny. Rola buzzera sprowadza się do brzęczenia podczas mrugających świateł dla pieszych. Jest sterowany poprzez linię P1.5.     

Implementacja 

Skrzyżowanie może działać w 3 różnych trybach:

  1. Standardowy – działanie takie jak oryginalny program MicroMade
  2. Dane wprowadzane z klawiatury – czas przejazdu drogi poziomej i pionowej regulowane za pomocą klawiatury
  3. Za pomocą przetwornika AC – główna droga jest wybierana przy pomocy klawiatury, a czas przejazdu jest ustawiany na podstawie wartość próbki AC

Opis działania programu

Na początku programu jest ustalany tryb działania skrzyżowania. Jeśli został wybrany tryb nr 1 to następuje przeskok do inicjalizacji układu 8255 poprzez wysłanie odpowiedniej wartości na port sterujący D, oraz ustawienie trybu pracy portu A – dla pieszych, oraz B – dla samochodów.
Dla trybu nr 2 następuje pobranie wartości czasów przejazdu z klawiatury dla drogi poziomej i pionowej oraz zapisaniu tych wartości odpowiednio do rejestrów R0 i R1 w banku nr 2. Następnie układ jest inicjalizowany.
Natomiast w trybie nr 3 następuje wybranie drogi głównej i wyznaczeniu jej czasu przejazdu na podstawie wartości próbki z przetwornika AC podzielonej przez 5. Pobranie wartości przetwornika jest obsługiwane poprzez przerwanie timer’a 0, wywoływanego po wskazaniu głównej drogi skrzyżowania. Po ustawieniu czasów dróg na skrzyżowaniu, rozpoczyna się główna pętla programu. Rejestr R2 banku 0, jest inicjalizowany wartością ‘1’, wskazujący na pierwszy stan. Kolejno są wywoływane procedury SET_AUTO , SET_PEOPLE, SET_BLINK, SET_TEXT, gdzie są zawarte informacje o diodach w poszczególnych stanach oraz tekście wyświetlanym na ekranie LCD. Dla każdego stanu przez N-sekund (rejestr R5) jest wywoływana pętla BLINK, w której następuje: odliczanie pozostałego czasu na wyświetlaczu 7-seg., sprawdzenie w jakim trybie działa program i zapalenie odpowiednich diód wskazujących na tryb oraz przejściu do następnego stanu. Naciśnięcie klawisza ENTER spowoduje przejście w stan nr 9 (tryb pieszych). Po skończeniu tego trybu następuje przywrócenie poprzedniego stanu skrzyżowania. Analogicznie rzecz ma się dla klawisza ESC – następuje wtedy wywołanie stanu nr 10 czyli trybu awaryjnego – wszystkie światła święcą na pomarańczowo. Po przejściu wszystkich stanów, następuje skok do głównej pętli programu i wszystko zaczyna się od nowa.

Prezentacja

Bibliografia

  1. MicroMade, Opis modelu M-01
  2. Wikipedia, Skrzyżowanie
  3. Wikipedia, DSM-51

Podobne artykuły

Komentarze

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *