Architektura systemów komputerowych Laboratorium 10 Symulator SMS32 Urządzenia wejścia i wyjścia

Podobne dokumenty
Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach

Architektura systemów komputerowych Laboratorium 8 Symulator SMS32 Instrukcje skoku i pętle

Laboratorium Elektrycznych Systemów Inteligentnych

LABORATORIUM INTELIGENTNYCH SYSTEMÓW ELEKTRYCZNYCH

LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

LABORATORIUM INTELIGENTNYCH SYSTEMÓW ELEKTRYCZNYCH. Ćwiczenie 10. Wykorzystanie funkcji ściemniacza w systemie TEBIS

LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH

Instrukcja obsługi i montażu regulatora SR530C1E I S530C1E

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

Sterowanie oświetleniem poprzez TEBIS

SKRÓCONY OPIS REGULATORA AT-503 ( opracowanie własne TELMATIK - dotyczy modeli AT i AT )

Architektura systemów komputerowych Laboratorium 7 Symulator SMS32 Stos, Tablice, Procedury

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Sterownik kompaktowy Theben PHARAO II

Sterowanie urządzeniami elektronicznymi przy użyciu portu LPT

SML3 październik

WEJŚCIE W TRYB PROGRAMOWANIA

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

1. Opis teoretyczny regulatora i obiektu z opóźnieniem.

LiftCall Talker. Instrukcja. Wersja 3.1

Programowanie w językach asemblera i C

Instrukcja obsługi włączników dotykowych

Stair Lighting Driver. Sterownik oświetlenia schodowego Instrukcja użytkowania

Projektowanie Systemów Wbudowanych

W ielofunkcyjne linie wejściowe

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

Instytut Teleinformatyki

Instrukcja obsługi programowalnego zegara cyfrowego

STEROWNIK ŚWIATEŁ i SZLABANÓW SWS-4/485K/UK

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Sterownik Visilogic V260

Ćwiczenie 7 Matryca RGB

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

Sterowanie w domu. Sprzęt

Uniwersalny sterownik silnika krokowego z portem szeregowym RS232 z procesorem AT90S2313 na płycie E200. Zestaw do samodzielnego montażu.

EasyLink. Instrukcja obsługi. Sterownik klawiatury brajlowskiej pod Windows wersja 1.2. Poznań, Sierpień 2009 r.

Laboratoryjne zasilacze programowalne AX-3003P i AX-6003P

E W górę (Up) Służy do wybierania trybu treningu i zwiększaniu wyświetlanych wartości

Termostat sieciowy Instrukcja REV 1.01

Instytut Teleinformatyki

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

Program EDYTOR-AS-OUX

Niektóre piny mogą pełnić różne role, zależnie od aktualnej wartości sygnałów sterujących.

MSW8-LPM. wersja 0.1 (wersja robocza) Dokumentacja użytkownika

Rysunek 1: Okno z lista

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

2. Architektura mikrokontrolerów PIC16F8x... 13

kratki.pl Mikroprocesorowy sterownik pomp MSP instrukcja obsługi

Przygotowanie do konfiguracji parametrów sterownika GSM-44

LICZNIK IMPULSÓW Z WYŚWIETLACZEM LED NA SZYNĘ DIN LIMP-1 ZASILANY 230VAC

INSTRUKCJA TERMOSTATU DWUSTOPNIOWEGO z zwłok. oką czasową Instrukcja dotyczy modelu: : TS-3

Instytut Teleinformatyki

Regulacja dwupołożeniowa.

Sterownik uniwersalnego zastosowania Suzan

Elastyczne systemy wytwarzania

Problemy techniczne. Kontrolę konta administratora można z powrotem włączyć po zainstalowaniu programu.

OPIS PROGRAMU APEK MULTIPLEKSER RX03

Infra Instrukcja obsługi. Instrukcja obsługi

Systemy Czasu Rzeczywistego FPGA

Organizacja typowego mikroprocesora

Szczegółowy opis parametrów dostępnych w sterownikach serii EKC 201/301 (wersja oprogramowania 2.2)

POLITECHNIKA SZCZECIŃSKA WYDZIAŁ ELEKTRYCZNY

NAZWA PRODUKTU: Interaktywny ROBOT OLBRZYM K1 Walczy Strzela Y73 Cechy produktu

Systemy Czasu Rzeczywistego FPGA

Interfejs analogowy LDN-...-AN

Instrukcja do oprogramowania ENAP DEC-1

Laboratorium Napędu robotów

SMS SMS telefon. Umożliwia łatwe i szybkie wysyłanie wiadomości SMS...

IPSEN-H2O Konfiguracja IPSEN H2O przez SNMP

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

IPSEN-D6, D16 Konfiguracja IPSEN D6/D16 przez SNMP

REER ELECTRONICS. BEZPRZEWODOWY VIDEODOMOFON XT GHz Cyfrowa transmisja. Spis treści

INSTRUKCJA OBSŁUGI APARATU DO POMIARU TEMPERATURY TOPNIENIA STUART SMP 30

Enkoder magnetyczny AS5040.

Programowanie mikrokontrolerów. 8 listopada 2007

Dwukanałowy regulator temperatury NA24

Problemy techniczne. Zdejmowanie kontroli konta administratora systemu Windows na czas instalowania programów Optivum

Kuchenka elektryczna z grillem HEN6650 firmy Bosch

Instrukcja obsługi. Sterownik ścienny KJR-12B/DP

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

LABORATORIUM 06, ZESTAW 1 SYNTEZA BEZSTYKOWYCH UKŁADÓW KOMBINACYJNYCH

Odczyt zegara ze sterownika do panelu serii TIU z możliwością korekty ustawień zegara w sterowniku

Miernik poziomu cieczy MPC-1

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Opis dydaktycznych stanowisk pomiarowych i przyrządów w lab. EE (paw. C-3, 302)

Instrukcja i-r Light Sensor

Podstawy techniki mikroprocesorowej

WYŚWIETLACZ UNIWERSALNY

Interfejs PC INSTRUKCJA OBSŁUGI. Nr produktu Strona 1 z 8

Sterowniki programowalne

Instrukcja programowania sterownika temperatury Piec APE 800

TECHNIKA MIKROPROCESOROWA

1. Opis okna podstawowego programu TPrezenter.

Programator tygodniowy cyfrowy Brennenstuhl, 3680 W, 20 programów, max. 23 h/59 min, IP44

Instrukcja obsługi Bezprzewodowy profesjonalny czytnik kodów ze stacją dokującą HD8900

POLITECHNIKA SZCZECIŃSKA WYDZIAŁ ELEKTRYCZNY

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

NASTROJOWA LAMPA LED Z GŁOŚNIKIEM BLUETOOTH

Transkrypt:

Marcin Stępniak Architektura systemów komputerowych Laboratorium 10 Symulator SMS32 Urządzenia wejścia i wyjścia 1. Informacje Symulator SMS32 posiada kilka urządzeń peryferyjnych (wejściowych i wyjściowych) dostępnych pod różnymi portami. Porty oznaczone są odpowiednimi numerami. Instrukcja IN numer_portu odczytuje bajt ze wskazanego portu i umieszcza go w rejestrze AL. Do zapisu danych z rejestru AL do portu służy instrukcja numer_portu. Tabela 1 zawiera listę urządzeń, które można w ten sposób obsłużyć. Tabela 1. Dostępne urządzenia i numery ich portów Numer portu Urządzenie 01 Światła drogowe 02 Wyświetlacz siedmiosegmentowy 03 Grzałka i termostat 04 Labirynt 05 Silnik krokowy 06 Winda 1.1. Światła drogowe Światła są podłączone do portu 01. Po wysłaniu bajtu do tego portu, tam gdzie znajduje się jedynka, odpowiednie światło zapala się. Na rysunku 1, dane binarne to 01010101. Jeśli przyjrzeć się bliżej widać, że włączone są 1

Rysunek 1. Okno symulatora reprezentujące światła drogowe. światła odpowiadające jedynkom w bajcie danych. 01010101 to 55 w systemie szesnastkowym. Listing 1 zawiera program do sterowania światłami. Listing 1. Program demonstrujący działanie świateł drogowych ; ====================================================================== ; ===== 99Tlight.asm =================================================== ; ===== Traffic Lighte on Port 01 ====================================== Start: MOV AL,55 ; 01010101 01 ; Send the data in AL to Port 01 (the traffic lights) MOV AL,AA ; 10101010 01 ; Send the data in AL to Port 01 (the traffic lights) JMP Start END ; ====================================================================== 1.2. Wyświetlacz siedmiosegmentowy Wyświetlacz siedmiosegmentowy (rys. 2) jest podłączony do portu 02. Po wysłaniu bajtu do tego portu, tam gdzie znajduje się jedynka, odpowiedni segment zapala się. Pierwszy bit z prawej strony określa, która z dwóch grup będzie aktywna. Jest to prosty przykład multipleksowania. Jeżeli najmniej znaczący bit (LSB) wynosi zero, to segmenty po lewej stronie będą aktywne. Jeżeli bit najmniej znaczący (LSB) ma wartość jeden, to będą aktywne 2

Rysunek 2. Okno symulatora reprezentujące wyświetlacz 7 segmentowy. segmenty po prawej stronie. Listing 2 zawiera przykładowy program do sterowania wyświetlaczem. Listing 2. Program demonstrujący działanie wyświetlacza siedmiosegmentowego ; ====================================================== ; ===== 99sevseg.asm =================================== ; ===== Seven Segment Displays Port 02 ================= Start: MOV AL,FA ; 1111 1010 02 ; Send the data in AL to Port 02 MOV AL,0 ; 0000 0000 02 ; Send the data in AL to Port 02 MOV AL,FB ; 1111 1011 02 ; Send the data in AL to Port 02 MOV AL,1 ; 0000 0001 02 ; Send the data in AL to Port 02 JMP Start END ; ====================================================== 3

Rysunek 3. Okno symulatora reprezentujące grzałkę i termostat. 1.3. Grzałka i termostat Układ grzałki i termostatu (rys. 3) jest podłączony do portu 03. Aby wyłączyć grzałkę należy wysłać 00 do portu 3, a 80 (16) w celu jej włączenia. Wczytanie danych z portu 03 pozwala sprawdzić stan termostatu. Najmniej znaczący bit zostanie ustawiony, jeżeli temperatura przekroczy określony poziom. Listing 3 zawiera przykładowy program do sterowania grzałką w zależności od temperatury. Jest on jednak niekompletny, bo nie działa w sposób ciągły. Kliknięcie na termometr pozwala na ustawienie temperatury, co może być przydatne przy testowaniu programów korzystających z tego urządzenia. Listing 3. Program demonstrujący działanie termostatu ; ===== Heater and Thermostst on Port 03 ===================== ; ===== 99Heater.asm ========================================= MOV AL,0 ; Code to turn the heater off 03 ; Send code to the heater IN 03 ; Input from Port 03 AND AL,1 ; Mask off left seven bits JZ Cold ; If the result is zero, turn the heater on HALT ; Quit Cold: MOV AL,80 ; Code to turn the heater on 03 ; Send code to the heater END ; ============================================================ 4

Rysunek 4. Okno symulatora reprezentujące labirynt i poruszającego się w nim węża. 1.4. Labirynt Dane przesyłane do portu 04 kontrolują ruch węża. Cztery lewe (najbardziej znaczące) bity kontrolują kierunek ruchu węża: 80 - Góra 40 - Dół 20 - Lewo 10 - Prawo Cztery prawe (najmniej znaczące) bity kontrolują dystans jaki wąż ma przebyć, np. 4F oznacza przesunięcie węża w dół na dystansie 15 (4 oznacza dół, a F (16) = 15 (10) ). Listing 4 zawiera program resetujący pozycję węża i wykonujący nim 4 ruchy. Listing 4. Program sterujący wężem w labiryncie ; ========================================================== ; ===== 99snake.asm ======================================== ; ===== Snake and Maze ===================================== Start: MOV AL,FF ; Special code to reset the snake. 04 ; Send AL to port 04 to control the snake. MOV AL,4F ; 4 means DOWN. F means 15. 5

04 ; Send 4F to the snake 04 ; Send 4F to the snake 04 ; Send 4F to the snake 04 ; Send 4F to the snake JMP Start END ; ========================================================== 1.5. Silnik krokowy Silnik krokowy pozwala na precyzyjne sterowanie jego ruchem. Silnik w symulacji (rys. 5) jest sterowany przez aktywowanie czterech magnesów po kolei. Jest możliwe, aby sterować silnikiem w półkrokach zasilając odpowiednie pary magnesów. Jeżeli magnesy są zasilane w niewłaściwej kolejności, silnik skarży się wydając dźwięk z głośnika komputera. Listing 5 zawiera przykładowy program sterujący silnikiem krokowym (sterowanie pełnokrokowe jak i półkrokowe). Rysunek 5. Okno symulatora reprezentujące silnik krokowy. Listing 5. Program demonstrujący działanie silnika krokowego ; ================================ ; ===== 99Step.asm =============== ; ===== Stepper Motor ============ mov al,1 out 05 mov al,2 out 05 mov al,4 out 05 mov al,8 out 05 6

mov al,9 out 05 mov al,1 out 05 mov al,3 out 05 mov al,2 out 05 mov al,6 out 05 mov al,4 out 05 mov al,c out 05 mov al,8 out 05 mov al,9 out 05 mov al,1 out 05 end ; ================================ 1.6. Winda Urządzenie windy (rys. 6) pozwala na sterowanie przyciskami windy, silnikiem i odczytywanie danych z czujników na górze i dole szybu. Sygnały wejściowe Bity 8 i 7 są nieużywane. Bit 6 jest podłączony do górnego przycisku przywołania. Bit 5 jest podłączony do dolnego przycisku przywołania. Jeśli te przyciski zostaną kliknięte myszą, odpowiednie bity zostaną ustawione. Bit 4 jest podłączony do czujnika, który wykrywa kabinę windy i ustawia bit w stan wysoki, gdy kabina osiągnie dno szybu. Bit 3 przechodzi w stan wysoki, gdy klatka windy osiągnie szczyt szybu. Wyjścia Ustawienie bitu 2 steruje silnikiem w taki sposób, aby kabina opadała. Ustawienie bitu 1 włącza silnik powodując, że kabina jedzie w górę. 1.7. Dodatkowe informacje 1. http://www.softwareforeducation.com/sms32v50/sms32v50_ manual/400-peripherals.htm 2. https://pl.wikipedia.org/wiki/silnik_krokowy 3. https://pl.wikipedia.org/wiki/termostat 7

Rysunek 6. Okno symulatora reprezentujące windę. 2. Zadania 2.1. Zadanie 1 Wykorzystując urządzenie świateł drogowych należy zasymulować rzeczywistą sekwencję zmiany świateł (tylko kolejne zmiany kolorów, bez opóźnień). 2.2. Zadanie 2 Wyświetlić na wyświetlaczu siedmiosegmentowym dzień swoich urodzin (tylko dzień miesiąca, bez numeru miesiąca). Jeżeli jest to liczba jednocyfrowa, to należy na pierwszej pozycji wstawić 0. 2.3. Zadanie 3 Napisać program, który wykorzystuje termostat i grzałkę w taki sposób, aby temperatura utrzymywała się na stałym poziomie. 8

2.4. Zadanie 4 Napisać program, który doprowadzi węża do końca labiryntu bez kolizji ze ścianami. 2.5. Zadanie 5 Napisać program sterujący silnikiem krokowym w sposób ciągły. Silnik ma obracać się w kierunku przeciwnym do ruchu wskazówek zegara. Można wykorzystać pełne kroki lub/i półkroki. 9