DSM-51 i model skrzyżowania M01
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żowanie – przecię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
Zaimplementowane stany świateł (program standardowy)
- przejazd samochodów poziomo (i przejście pionowo dla pieszych)
- zmiana Å›wiateÅ‚ – żółte dla samochodów jadÄ…cych poziomo – zielone mrugajÄ…ce dla pieszych oraz brzÄ™czyk
- zmiana Å›wiateÅ‚ – czerwone dla samochodów jadÄ…cych poziomo ,czerwone dla pieszych
- zmiana Å›wiateÅ‚ – czerwone z żółtym dla samochodów w pionie
- przejazd samochodów pionowo (i przejście poziomo pieszych)
- zmiana Å›wiateÅ‚ – żółte dla samochodów jadÄ…cych pionowo- zielone mrugajÄ…ce dla pieszych oraz brzÄ™czyk
- zmiana Å›wiateÅ‚ – czerwone dla samochodów jadÄ…cych pionowo – czerwone dla pieszych
- 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:
- Standardowy – działanie takie jak oryginalny program MicroMade
- Dane wprowadzane z klawiatury – czas przejazdu drogi poziomej i pionowej regulowane za pomocą klawiatury
- 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
- MicroMade, Opis modelu M-01
- Wikipedia, Skrzyżowanie
- Wikipedia, DSM-51
Strona Internetowa
Potrzebujesz Å‚adnej strony internetowej? Zobacz demo na: tej stronie
Komentarze