Instrukcja obsługi DSM-51
Transkrypt
Instrukcja obsługi DSM-51
DSM-51 DYDAKTYCZNY SYSTEM MIKROPROCESOROWY Instrukcja Obsługi DSM-51 Copyright © 2006, 2007 by MicroMade All rights reserved Wszelkie prawa zastrzeŜone MicroMade Gałka i Drożdż sp. j. 64-920 PIŁA, ul. Wieniawskiego 16 Tel./fax: (67) 213.24.14 E-mail: [email protected] Internet: www.micromade.pl Wszystkie nazwy i znaki towarowe uŜyte w niniejszej publikacji są własnością odpowiednich firm. 2 Instrukcja Obsługi 3.01 © 08/2007 MicroMade DSM-51 Szanowni Państwo ! Dziękujemy za zakup Dydaktycznego Systemu Mikroprocesorowego DSM-51. System ten został specjalnie zaprojektowany w celu nauczania podstaw programowania mikrokontrolerów. Obecnie znajduje się na wyposaŜeniu wielu szkół średnich o profilu elektronicznym i na wyŜszych uczelniach technicznych w całym kraju. System DSM-51 zalecany jest przez Ministra Edukacji Narodowej do nauczania przedmiotu - pracownia systemów mikroprocesorowych w zawodzie technik elektronik na poziomie technikum i szkoły policealnej. Wraz z systemem otrzymali Państwo opracowany przez nas podręcznik do nauczania systemów mikroprocesorowych: Piotr i Paweł Gałka “Podstawy programowania mikrokontrolera 8051. Pracownia systemów mikroprocesorowych na bazie DSM-51.”. Daje on solidne podstawy do późniejszego, samodzielnego opanowania programowania dowolnego innego mikrokontrolera. Jesteśmy przekonani, Ŝe Dydaktyczny System Mikroprocesorowy DSM-51 spełni Państwa oczekiwania. Autorzy Przed przystąpieniem do uŜytkowania systemu, prosimy o zapoznanie się z poniŜszymi uwagami. Bezpieczeństwo uŜytkowania Do zasilania Dydaktycznego Systemu Mikroprocesorowego DSM-51 naleŜy wykorzystać zasilacz stanowiący bezpieczne źródło napięcia stabilizowanego 9V o wydajności prądowej 500mA. Zasilacz musi posiadać podwójną (lub równowaŜną) izolację napięcia wyjściowego od napięcia sieci 230V. Zabezpiecza to uŜytkownika przed poraŜeniem prądem elektrycznym, zapewniając bezpieczeństwo uŜytkowania Dydaktycznego Systemy Mikroprocesorowego DSM-51, bez konieczności uziemiania jego obudowy. Wymagania te spełnia zasilacz sieciowy Tatarek 6WZS 9/500, stanowiący opcjonalne wyposaŜenie systemu DSM-51. Dydaktyczny System Mikroprocesorowy DSM-51 powinien być uŜytkowany w temperaturze otoczenia w zakresie +10ºC do +40ºC. Podczas pracy system powinien być ustawiony na poziomej, stabilnej powierzchni. Systemu DSM-51 nie moŜna umieszczać w pomieszczeniach o duŜym zapyleniu i zawilgoceniu, ani naraŜać na działanie wody i podobnych czynników. Kompatybilność elektromagnetyczna. Dydaktyczny System Mikroprocesorowy DSM-51 przeszedł badania potwierdzające spełnienie wymogów odpowiednich norm zharmonizowanych z dyrektywą EMC Unii Europejskiej. Normy takie określają zarówno dopuszczalne poziomy emisji zakłóceń jak i wraŜliwości urządzenia na zdarzające się zaburzenia elektromagnetyczne. Ze względów dydaktycznych modele, stanowiące opcjonalne wyposaŜenie systemu DSM-51, są wykonane w postaci nieobudowanych płytek drukowanych. MoŜliwość bezpośredniego dotykania elementów elektronicznych naraŜa je na wyładowania elektrostatyczne. Wyładowania takie mogą zakłócić pracę modelu, a nawet, w szczególnych okolicznościach, spowodować jego uszkodzenie. Dlatego nie naleŜy uŜytkować Systemu DSM-51 w środowisku sprzyjającym powstawaniu ładunków elektrostatycznych (elektryzujące wykładziny podłogowe itp.). Ochrona środowiska Dydaktycznego Systemu Mikroprocesorowego DSM-51 w przypadku zaprzestania jego uŜytkowania nie moŜna wyrzucać wraz z innymi odpadkami komunalnymi. Zgodnie z Dyrektywą WEEE Unii Europejskiej System DSM-51, tak jak większość urządzeń elektronicznych, musi zostać poddany odpowiednim procesom odzysku i recyklingu. Informacji o sposobie zbierania zuŜytych egzemplarzy systemu naleŜy szukać na stronie: www.micromade.pl. © 08/2007 MicroMade Instrukcja Obsługi 3.01 3 DSM-51 DEKLARACJA ZGODNOŚCI Producent: MicroMade Gałka i DroŜdŜ sp. j. ul. Wieniawskiego 16 64-920 Piła tel./fax: (+48) (67) 213 24 14 Polska deklaruje, Ŝe produkt: DSM-51 Dydaktyczny System Mikroprocesorowy jest zgodny z zasadniczymi wymaganiami dyrektywy Unii Europejskiej: 89/336/EEC – Kompatybilność Elektromagnetyczna Produkt spełnia wymagania norm zharmonizowanych: EN 61326:1997+A1:1998+A2:2001+A3:2003 EN 55022:1998+A1:2000+A2:2002 EN 61000-3-2:2000 Piła, 30.06.2005 Piotr Gałka Główny Konstruktor 4 Instrukcja Obsługi 3.01 © 08/2007 MicroMade DSM-51 Spis treści 1.Instalacja systemu DSM-51............................................................................................................................................7 1.1 Zapoznanie z elementami zestawu............................................................................................................................7 1.2 Identyfikacja elementów systemu DSM-51..............................................................................................................8 1.2.1 Zasilanie...........................................................................................................................................................8 1.2.2 Elementy systemu mikroprocesorowego..........................................................................................................8 1.2.3 Układy komunikacji z uŜytkownikiem.............................................................................................................8 1.2.4 Porty urządzeń zewnętrznych...........................................................................................................................9 1.3 Podłączenie zasilania................................................................................................................................................9 1.4 Test systemu..............................................................................................................................................................9 1.5 Podłączenie do komputera......................................................................................................................................10 2.Instalacja oprogramowania..........................................................................................................................................11 2.1 Przebieg instalacji...................................................................................................................................................11 2.2 Rozmieszczenie plików po instalacji......................................................................................................................15 2.3 Testowanie transmisji komputer - DSM-51............................................................................................................16 3.Praca z systemem DSM-51............................................................................................................................................18 3.1 Tryby pracy DSM-51..............................................................................................................................................18 3.1.1 Tryby dekodera adresów................................................................................................................................18 3.1.2 Tryb 0 systemu DSM-51................................................................................................................................19 3.1.3 Tryb 1 systemu DSM-51................................................................................................................................19 3.1.4 Tryb 2 systemu DSM-51................................................................................................................................20 3.1.5 Tryb monitor systemu DSM-51......................................................................................................................20 3.2 Praca systemu pod nadzorem komputera................................................................................................................20 3.2.1 Przygotowanie kodu źródłowego...................................................................................................................20 3.2.2 Asemblacja programu.....................................................................................................................................21 3.2.3 Przesłanie i uruchomienie programu..............................................................................................................21 3.2.4 Uruchomienie programu pod nadzorem monitora..........................................................................................22 3.3 Uruchamianie programów bez pomocy komputera................................................................................................23 3.4 Podprogramy w pamięci EPROM systemu DSM-51..............................................................................................25 3.5 Urządzenia wejść/wyjść DSM-51...........................................................................................................................26 3.6 Ograniczenia pracy krokowej DSM-51..................................................................................................................27 4.Dokumentacja techniczna.............................................................................................................................................28 4.1 Zmiany wprowadzone w wersji 3 systemu..............................................................................................................28 4.2 Dane techniczne......................................................................................................................................................29 4.3 Dekoder adresów.....................................................................................................................................................31 4.4 Sterownik przerwań................................................................................................................................................32 4.5 Złącza systemu........................................................................................................................................................33 4.6 Schematy blokowe..................................................................................................................................................35 4.7 Schematy ideowe.....................................................................................................................................................37 5.Asembler dsm51ass........................................................................................................................................................43 5.1 Format linii programu:............................................................................................................................................43 5.2 WyraŜenia arytmetyczne.........................................................................................................................................43 5.3 Operatory arytmetyczne..........................................................................................................................................44 5.4 Dyrektywy asemblera..............................................................................................................................................46 5.5 Predefiniowane symbole.........................................................................................................................................48 6.Modele urządzeń............................................................................................................................................................51 M-01 - SkrzyŜowanie....................................................................................................................................................51 M-02 - Tester diod i tranzystorów................................................................................................................................54 M-03 - Licznik obiektów...............................................................................................................................................57 M-04 - Zegar czasu rzeczywistego................................................................................................................................60 © 08/2007 MicroMade Instrukcja Obsługi 3.01 5 DSM-51 M-05 - Wyjście do drukarki Centronix.........................................................................................................................65 M-06 - Tyrystorowy regulator oświetlenia....................................................................................................................69 M-07 - Interface sieci RS485........................................................................................................................................72 M-08 - Czytnik kart magnetycznych.............................................................................................................................75 M-09 - Równia pochyła.................................................................................................................................................79 M-10 - Miernik i regulator temperatury........................................................................................................................82 M-11 - Programator pamięci EEPROM........................................................................................................................85 M-13 - Zegar Czasu Rzeczywistego I²C.......................................................................................................................91 7.Notatki............................................................................................................................................................................96 6 Instrukcja Obsługi 3.01 © 08/2007 MicroMade 1.Instalacja systemu DSM-51 DSM-51 1.Instalacja systemu DSM-51 1.1 ZAPOZNANIE Z ELEMENTAMI ZESTAWU Przed rozpoczęciem uŜytkowania zestawu dydaktycznego naleŜy sprawdzić, czy w pudełku zostały załączone wszystkie jego elementy. W kaŜdym zestawie powinny być: system DSM-51 niniejsza instrukcja obsługi ksiąŜka “Podstawy programowania mikrokontrolera 8051” wraz z płytą CD zawierającą oprogramowanie systemu DSM-51 kabel RS232, słuŜący do połączenia systemu z komputerem zestaw kabli “Digital”, “Analog”, “Opto”, słuŜących do podłączania modeli Dodatkowo, w zaleŜności od zamówienia, w pudełku moŜe znajdować się opcjonalne wyposaŜenie systemu DSM-51: zasilacz sieciowy Tatarek 6WZS 9/500 modele urządzeń sterowanych przez system DSM-51 M-01 - SkrzyŜowanie, M-02 - Tester diod i tranzystorów, M-03 - Licznik obiektów, M-04 - Zegar czasu rzeczywistego, M-05 - Wyjście do drukarki Centronix, M-06 - Tyrystorowy regulator oświetlenia, M-07 - Interface sieci RS485, © 08/2007 MicroMade Instrukcja Obsługi 3.01 7 DSM-51 1.Instalacja systemu DSM-51 M-08 - Czytnik kart magnetycznych, M-09 - Równia pochyła, M-10 - Miernik i regulator temperatury, M-11 - Programator pamięci EEPROM, M-12 - Czytnik kart chipowych. 1.2 IDENTYFIKACJA ELEMENTÓW SYSTEMU DSM-51 W celu lepszego rozumienia dalszych opisów, naleŜy zidentyfikować wszystkie elementy systemu DSM-51. Wśród nich moŜna wyróŜnić cztery podstawowe grupy: zasilanie elementy systemu mikroprocesorowego układy komunikacji z uŜytkownikiem porty urządzeń zewnętrznych. 1.2.1 Zasilanie Elementy systemu związane z zasilaniem znajdują się w lewym górnym rogu. gniazdo zasilania wyłącznik zasilania zielona dioda LED “POWER ON” sygnalizująca zasilanie systemu 1.2.2 Elementy systemu mikroprocesorowego Przyciski RESET połoŜone są w dolnym lewym rogu systemu: przycisk RESET ROM - sygnał reset do mikrokontrolera oraz zerowanie trybu dekodera adresu przycisk RESET RAM - sygnał reset do mikrokontrolera Ŝółta dioda LED sygnalizująca pracę układu WatchDog 1.2.3 Układy komunikacji z uŜytkownikiem sygnalizatory czerwona dioda świecąca “TEST” brzęczyk wyświetlacz 7-segmentowy z klawiaturą 6 wskaźników 7-segmentowych 6 diod LED podłączonych jako siódmy wskaźnik 6 przycisków przeglądanych razem z wyświetlaczem wyświetlacz LCD klawiatura matrycowa <- klawisz Escape <- klawisz Enter 8 Instrukcja Obsługi 3.01 © 08/2007 MicroMade DSM-51 1.Instalacja systemu DSM-51 1.2.4 Porty urządzeń zewnętrznych W tylnej ściance systemu DSM-51 zostały umieszczone złącza. SłuŜą one do połączenia systemu z komputerem oraz do dołączenia urządzeń zewnętrznych. złącza: analogowe cyfrowe izolowane COM2 COM1 DC wejścia/wyjścia analogowe wejścia/wyjścia cyfrowe wejścia/wyjścia izolowane galwanicznie dwa kanały RS232 (COM1 i COM2) 1.3 PODŁĄCZENIE ZASILANIA System DSM-51 wymaga zasilania prądem stałym o stabilizowanym napięciu 9V i wydajności 500 mA. Najwygodniej, uŜyć do tego celu, oferowany jako opcja zasilacz: Tatarek 6WZS 9/500. Kolejność wykonywanych czynności przy włączeniu zasilania powinna być następująca: upewnić się, Ŝe wyłącznik zasilania jest w pozycji “OFF” włączyć wtyk zasilacza do gniazda DSM-51 włączyć zasilacz do sieci 230V wyłącznik zasilania przełączyć do pozycji “ON”. JeŜeli wszystko jest prawidłowo, zapali się zielona dioda LED oznaczona “Power ON”, a na wyświetlaczu LCD pojawi się napis: DSM-51v3 MODE 0 >> PC CONTROL << 1.4 TEST SYSTEMU System DSM-51 posiada wbudowany test, który umoŜliwia sprawdzenie poprawności pracy pamięci RAM oraz układów komunikacji z uŜytkownikiem. Procedurę testującą uruchamia się następująco: nacisnąć i przytrzymać klawisz [0] nacisnąć i puścić klawisz [RESET ROM] puścić klawisz [0]. Po takim starcie system DSM-51 wykona następujące czynności: sprawdzi pamięć RAM jeśli pracuje ona poprawnie wypisze na wyświetlaczu napis “RAM OK!” po chwili napis zmieni się na “PRESS KEYS...” zachęcający do naciskania kolejnych klawiszy na wskaźnikach wyświetlacza 7-segmentowego będą zapalane kolejne (na wszystkich te same) segmenty naciskanie kolejnych klawiszy z klawiatury matrycowej powoduje: wpisywanie na wyświetlacz LCD odpowiednich znaków zapalanie diody “TEST” naciśnięcie klawisza “ENTER” powoduje wyczyszczenie wyświetlacza © 08/2007 MicroMade Instrukcja Obsługi 3.01 9 DSM-51 1.Instalacja systemu DSM-51 uŜycie klawiszy związanych z wyświetlaczem 7-segmentowym powoduje: zapalenie się określonej diody świecącej (F1…F4, OK, ER) włączenie brzęczyka. W celu zakończenia testowania, naleŜy nacisnąć klawisz [RESET ROM]. Spowoduje to powrót systemu do trybu 0 (tak jak po włączeniu zasilania). Opisany test funkcjonuje poprawnie bez względu na to, czy system jest połączony z komputerem, czy nie. 1.5 PODŁĄCZENIE DO KOMPUTERA Dydaktyczny System Mikroprocesorowy DSM-51 moŜe być stosowany samodzielnie lub we współpracy z komputerem. Ten drugi wariant naleŜy obecnie uznać za podstawowy. DSM-51 jest wyposaŜony w mechanizm umoŜliwiający przesłanie programu z komputera do pamięci RAM systemu oraz jego uruchomienie. Dzięki temu nie jest potrzebne Ŝadne dodatkowe wyposaŜenie, a uruchamianie oprogramowania nie wymaga ani ciągłego programowania i wymieniania pamięci EPROM, ani stosowania symulatora pamięci EPROM. Połączenie systemu DSM-51 z komputerem wykonywane jest za pomocą, dostarczonego wraz z systemem, kabla RS232. Aby to wykonać naleŜy: wyłączyć zasilanie komputera oraz systemu DSM-51 podłączyć jeden koniec kabla RS232 do złącza COM1 systemu DSM-51 podłączyć drugi koniec kabla RS232 do złącza COM1 .. COM4 komputera włączyć zasilanie komputera i systemu DSM-51 Po wykonaniu tych czynności system jest gotowy do pracy pod nadzorem komputera. 10 Instrukcja Obsługi 3.01 © 08/2007 MicroMade 2.Instalacja oprogramowania DSM-51 2.Instalacja oprogramowania 2.1 PRZEBIEG INSTALACJI Razem z systemem DSM-51 dostarczana jest płyta CD, na której znajduje się wersja instalacyjna oprogramowania dla systemu DSM-51. Po włoŜeniu płyty do komputera powinna uruchomić się przeglądarka internetowa z załadowaną stroną: W celu uruchomienia instalacji naleŜy wybrać klawisz “Instalator DSM-51”. Powinien zostać uruchomiony program dsm51_setup.exe. PoniewaŜ system traktuje ten plik jak plik z internetu, mogą, w zaleŜności od wersji systemu Windows, zostać wyświetlone ostrzeŜenia: Faktycznie plik ten pochodzi z płyty CD, więc bez obaw moŜna zawsze wybrać klawisz “Uruchom”. JeŜeli jednak program dsm51_setup.exe nie zostanie uruchomiony, moŜna to zrobić “ręcznie” wybierając: Start/Uruchom... © 08/2007 MicroMade Instrukcja Obsługi 3.01 11 DSM-51 2.Instalacja oprogramowania i wpisując D:\dsm51_setup.exe gdzie zamiast D naleŜy wpisać literę odpowiadającą napędowi CD. Po uruchomieniu instalacji pokaŜe się okienko powitalne: Przez kolejne okienka, jeŜeli akceptujemy zawarte w nim informacje, przechodzimy wybierając klawisz “Dalej”. Program kolejno zaproponuje standardowe ustawienia: folder programu - C:\Program Files\MicroMade\DSM-51 folder w Menu Start - MicroMade\DSM-51 12 Instrukcja Obsługi 3.01 © 08/2007 MicroMade 2.Instalacja oprogramowania DSM-51 utworzenie dla programu DSM-51 ikon na pulpicie i na pasku szybkiego uruchamiania oraz skojarzenie plików typu *.asm i *.hex z systemem DSM-51. Z plikiem *.asm będą skojarzone komendy: Otwórz - otwiera plik do edycji w Notatniku, DSM-51 Ass - asembluje kod źródłowy wywołując asembler dsm51ass. Natomiast z plikiem *.hex: Uruchom - przesyła i uruchamia program w systemie DSM-51, wykorzystując program dsm51run.exe, Otwórz - otwiera program DSM51.exe z załadowanym plikiem *.hex, co powoduje przesłanie pliku do systemu DSM-51 i oczekiwanie na dalsze komendy wydawane z programu DSM51. Skojarzenie komend z plikami *.asm i *.hex ułatwia pracę z systemem DSM-51. Przed właściwą instalacją program oczekuje na potwierdzenie wybranych ustawień. Naciśnięcie klawisza “Instaluj” rozpoczyna właściwą instalację programu. © 08/2007 MicroMade Instrukcja Obsługi 3.01 13 DSM-51 2.Instalacja oprogramowania Po zakończeniu instalacji moŜna zapoznać się z opisem zainstalowanych plików. Opis ten jest równieŜ dostępny później w pliku dsm51_info.txt w katalogu DSM-51. Ostatni ekran informuje o zakończeniu instalacji. Po zakończeniu instalacji oprogramowania DSM-51 komputer jest gotowy do pisania programów i uruchamiania ich w systemie DSM-51. 14 Instrukcja Obsługi 3.01 © 08/2007 MicroMade 2.Instalacja oprogramowania DSM-51 2.2 ROZMIESZCZENIE PLIKÓW PO INSTALACJI Wszystkie pliki przegrane na komputer w trakcie instalacji zostały umieszczone w folderze DSM-51. Standardowo jest to folder: C:\Program Files\MicroMade\DSM-51 Po instalacji będą tam umieszczone następujące pliki: oprogramowanie przewidziane do uruchamiania na komputerze, które pozwala na asemblację, uruchamianie i monitorowanie programów dla DSM-51 dsm51ass.exe - assembler 8051 dsm51run.exe - program do uruchamiania programów w DSM-51 DSM51.exe - program do monitorowania pracy programów w DSM-51 \Doc - dokumentacja systemu DSM-51 oraz opis programów DSM51.exe i asemblera dsm51ass.exe DSM_dt03.pdf - dokumentacja techniczna DSM-51 v3 dsm51.txt - opis programu DSM-51 dsm51ass.pdf - dokumentacja programu dsm51ass mxx_i.pdf - dokumentacja modeli (xx=01..11) \Example - przykładowe programy dla DSM-51 segmenty.asm - kod źródłowy programu, który zapala kolejne segmenty wyświetlacza 7-segmentowego segmenty.hex - w/w program po asemblacji stoper.asm - DSM-51 jako stoper (ENTER = start/stop) stoper.hex \Lekcje - wszystkie programy zawarte w kolejnych lekcjach podręcznika "Podstawy programowania mikrokontrolera 8051" \Modele - oprogramowanie dla modeli - opcjonalnego wyposaŜenia systemu DSM-51 \M01 - SkrzyŜowanie skrzyz.asm - sterowanie światłami na skrzyŜowaniu m01.txt - propozycje zadań do wykonania \M02 - Tester diod i tranzystorów dioda.asm - program dla DSM-51 - testowanie diod dioda.exe - wykreślanie charakterystyki diody - program na komputer tranzyst.asm - program dla DSM-51 - testowanie tranzystorów tranzystor.exe - wykreślanie charakterystyk tranzystora - program na komputer m02.txt - propozycje zadań do wykonania \SOURCE dioda.cpp - kod źródłowy programu dioda.exe tranzystor.cpp - kod źródłowy programu tranzystor.exe \M03 - Licznik obiektów licznik.asm - liczenie obiektów z wykryciem kierunku ruchu m03.txt - propozycje zadań do wykonania \M04 - Zegar czasu rzeczywistego rtc_read.asm - odczytanie czasu z zegara czasu rzeczywistego rtc_set.asm - ustawienie czasu zegara © 08/2007 MicroMade Instrukcja Obsługi 3.01 15 DSM-51 2.Instalacja oprogramowania m04.txt - propozycje zadań do wykonania \M05 - Wyjście do drukarki Centronix drukarka.asm - wypisanie tekstu na drukarce m05.txt - propozycje zadań do wykonania \M06 - Tyrystorowy regulator oświetlenia zarowka.asm - sterowanie jasnością Ŝarówki m06.txt - propozycje zadań do wykonania \M07 - Interface sieci RS485 master.asm - zarządzanie siecią RS485 slave.asm - element slave w sieci m07.txt - propozycje zadań do wykonania \M08 - Czytnik kart magnetycznych czytnik.asm - czytanie kart magnetycznych m08.txt - propozycje zadań do wykonania \M09 - Równia pochyła rownia.asm - pomiar czasów na równi pochyłej m09.txt - propozycje zadań do wykonania \M10 - Miernik i regulator temperatury grzalka.asm - pomiar rezystancji czujników KTY81-210 m10.txt - propozycje zadań do wykonania \M11 - Programator pamięci EEPROM EE_93c46.asm - programowanie pamięci EEPROM Microwire 93c46 EE_25040.asm - programowanie pamięci EEPROM SPI 25040 EE_24c01.asm - programowanie pamięci EEPROM I²C 24c01 m11.txt - propozycje zadań do wykonania At93c46.pdf - karta katalogowa pamięci EEPROM Atmel 93c46 At25040A.pdf - karta katalogowa pamięci EEPROM Atmel 25040A At24c01A.pdf - karta katalogowa pamięci EEPROM Atmel 24c01A \Test - programy testowe test.asm - program do testowania transmisji z komputera do DSM-51. 2.3 TESTOWANIE TRANSMISJI KOMPUTER - DSM-51 Po instalacji oprogramowania na komputerze moŜemy sprawdzić, czy połączenie RS232 komputera z systemem DSM-51 opisane w rozdziale 1.5 na stronie 10 działa poprawnie. Do przetestowania poprawności transmisji pomiędzy komputerem a systemem DSM-51 zostanie wykorzystany program dsm51run.exe, który prześle program testowy i automatycznie go uruchomi. Testowanie transmisji naleŜy wykonać następująco: Połączyć system DSM-51 kablem RS232 z komputerem (patrz rozdz. 1.5 str. 10). Włączyć zasilanie - system DSM-51 wypisze na wyświetlaczu: DSM-51v3 MODE 0 >> PC CONTROL << 16 Instrukcja Obsługi 3.01 © 08/2007 MicroMade 2.Instalacja oprogramowania DSM-51 Otworzyć Eksplorator Windows na folderze C:\Program Files\MicroMade\DSM-51\Test Wskazać myszką plik “TEST.HEX” i korzystając ze skojarzenia komend z plikami *.hex wykonanych w czasie instalacji, wydać polecenie „Uruchom” Zostanie uruchomiony program dsm51run.exe, który prześle plik TEST.HEX do systemu DSM-51 i spowoduje jego uruchomienie (jeŜeli wszystko przebiegnie pomyślnie okienko programu zostanie samoczynnie zamknięte) System DSM-51 przełączy się w tryb 1, w którym pamięć RAM jest przełączana w obszar pamięci programu. Na wyświetlaczu DSM-51 pojawi się napis: DSM-51v3 MODE 1 >> SIMULATOR << Po upływie około 0,5 sekundy kontrola nad systemem jest przekazywana do programu załadowanego do pamięci RAM. Dalsze działanie systemu DSM-51 jest wynikiem pracy przesłanego programu „TEST”. Na wyświetlaczu, litera po literze co ok. 0,1 s, pojawi się napis świadczący o tym, Ŝe program “TEST” został prawidłowo przesłany i uruchomiony w systemie DSM-51: DSM-51v3 TEST TRANSMISSION OK Naciśnięcie klawisza [RESET ROM] powoduje start systemu DSM-51 od początku - system czeka na przesłanie programu do uruchomienia (jak po włączeniu zasilania). MoŜna powtórzyć test przesyłając ten sam, lub inny program. Brak moŜliwości przesłania programu do systemu DSM-51 jest sygnalizowane juŜ przez program dsm51run.exe. Okienko programu nie zamknie się automatycznie i zostanie tam podana informacja o problemie. W takim wypadku naleŜy sprawdzić, czy połączenie jest wykonane prawidłowo, i czy inny program nie zablokował portu COM w komputerze. © 08/2007 MicroMade Instrukcja Obsługi 3.01 17 DSM-51 3.Praca z systemem DSM-51 3.Praca z systemem DSM-51 Dydaktyczny System Mikroprocesorowy DSM-51 moŜe pracować samodzielnie lub we współpracy z komputerem. W kaŜdym z tych wariantów umoŜliwia uŜytkownikowi wprowadzanie swoich programów do pamięci RAM, a następnie uruchamianie ich. MoŜliwe jest równieŜ wykonywanie wprowadzonego programu pod kontrolą monitora - w trybie pracy krokowej. W celu zrealizowania tych wszystkich moŜliwości, system potrafi pracować w kilku trybach. RóŜnią się one przede wszystkim trybem pracy dekodera adresów oraz reakcją na uŜycie klawiszy RESET. 3.1 TRYBY PRACY DSM-51 3.1.1 Tryby dekodera adresów Dekoder adresów systemu DSM-51 moŜe pracować w jednym z dwóch trybów. Podział przestrzeni adresowej przy standardowej konfiguracji w poszczególnych trybach został przedstawiony poniŜej: TRYB 0 PROGRAM TRYB 1 DANE PROGRAM FFFFH F000H I/O EPROM DANE I/O EPROM 8000H 7FFFH EPROM RAM RAM RAM 0000H Zastosowany w systemie DSM-51 mikrokontroler 8051 posiada rozdzieloną przestrzeń adresową: oddzielnie pamięć programu i oddzielnie pamięć danych. Dla kaŜdej z tych pamięci przestrzeń adresowa wynosi 64 kB. Zastosowane układy pamięci (EPROM i RAM) posiadają pojemność o połowę niŜszą, czyli 32 kB. Dzięki temu, moŜliwe jest ich “przemieszczanie” w przestrzeni adresowej. PołoŜenie pamięci w przestrzeni adresowej: EPROM z firmowym oprogramowaniem systemu DSM-51 tryb 0 - dostępny w obu połowach pamięci programu tryb 1 - dostępny tylko w starszej połowie RAM tryb 0 - dostępna tylko w młodszej połowie pamięci danych tryb 1 - dostępna w młodszych połowach pamięci programu i danych Układy wejść/wyjść - zawsze dostępne w starszej połowie pamięci danych Dostępność w trybie 1 pamięci RAM zarówno w przestrzeni pamięci programu jak i danych umoŜliwia wykonywanie programu zapisanego wcześniej w obszar pamięci danych. Zmiana trybu dekodera adresów odbywa się na zasadzie działania urządzenia wejść/wyjść, podłączonego do szyny mikrokontrolera. W tym celu został zarezerwowany adres FF40H w przestrzeni adresowej pamięci danych. Zapis dowolnych danych pod ten adres zmienia tryb na 1, natomiast odczyt spod tego adresu zmienia tryb na 0. Funkcje te zostały zrealizowane wewnątrz dekodera adresów. 18 Instrukcja Obsługi 3.01 © 08/2007 MicroMade 3.Praca z systemem DSM-51 DSM-51 W systemie DSM-51 umieszczono dwa klawisze RESET: [RESET RAM] - generuje sygnał RESET do mikrokontrolera [RESET ROM] - generuje sygnał RESET do mikrokontrolera oraz impuls zerujący do dekodera adresów, czyli przestawia go w tryb 0. UŜycie klawisza [RESET ROM] gwarantuje, Ŝe pod adresem 0 w pamięci programu znajduje się pamięć EPROM z oprogramowaniem systemowym. System DSM-51 rozpocznie swoją pracę od początku. 3.1.2 Tryb 0 systemu DSM-51 (Dekoder adresów pracuje w trybie 0.) Uwaga ! Nie mylić trybów pracy systemu DSM-51 z trybami dekodera adresów. Dla kaŜdego trybu pracy systemu jest określony jeden z trybów, w którym pracuje dekoder adresów. Po włączeniu zasilania system startuje w trybie 0. System sygnalizuje ten stan wypisując na wyświetlaczu: DSM-51v3 MODE 0 >> PC CONTROL << W trybie tym system DSM-51 pracuje pod kontrolą komputera tzn. oczekuje na polecenia z komputera przesłane przez port szeregowy COM1 systemu. Polecenia te mogą być wydawane przez program DSM51.exe lub dsm51run.exe. SłuŜą one przede wszystkim do przesłania programu uŜytkownika z komputera i uruchomiania go w systemie DSM-51. Faktycznie, w trybie tym, moŜliwe jest tylko przesłanie programu do systemu DSM-51 i zapisanie go w pamięci RAM. Nie moŜna go natomiast uruchomić, poniewaŜ pamięć RAM nie leŜy w obszarze pamięci programu. Aby program uruchomić, trzeba zmienić tryb pracy DSM-51 na tryb 1. Do trybu pracy 0 moŜna zawsze powrócić (z dowolnego, innego stanu systemu DSM-51) poprzez uŜycie klawisza [RESET ROM]. 3.1.3 Tryb 1 systemu DSM-51 (Dekoder adresów pracuje w trybie 1.) Program dsm51run.exe, po przesłaniu programu do systemu DSM-51, wydaje mu polecenie przełączenia się w tryb 1. Po otrzymaniu tego polecenia system sygnalizuje to poprzez wypisanie na wyświetlaczu: DSM-51v3 MODE 1 >> SIMULATOR << Napis ten oznacza, Ŝe system przechodzi do pracy z symulowaniem pamięci EPROM przez pamięć RAM. Aby to było moŜliwe, system zmienia tryb pracy dekodera adresów na tryb 1. Po upływie około 0,5 sekundy kontrola nad systemem jest przekazywana do programu załadowanego do pamięci RAM. Dalsze działanie systemu DSM-51 jest wynikiem pracy przesłanego programu. W trybie tym klawisze “RESET” pozwalają na sterowanie systemem. [RESET RAM] - ponownie uruchamia przesłany program [RESET ROM] - powoduje start systemu DSM-51, czyli przejście do trybu 0 Naciśnięcie klawisza [RESET ROM] nie niszczy zawartego w pamięci RAM programu. Dlatego, pomimo przejścia do trybu 0, istnieje moŜliwość ponownego uruchomienia programu znajdującego się w pamięci RAM. W tym celu naleŜy nacisnąć kombinację klawiszy [RESET ROM] i [1]: nacisnąć i przytrzymać klawisz [1] nacisnąć i puścić klawisz [RESET ROM] puścić klawisz [1]. Działanie to wymusi ponowne uruchomienie trybu 1, czyli ustawienie trybu 1 dekodera adresów i przekazanie sterowania do programu znajdującego się w pamięci RAM. Uwaga! UŜycie ww. kombinacji klawiszy, tj. [RESET ROM] i [1], przed załadowaniem jakiegokolwiek programu do pamięci RAM spowoduje trudne do przewidzenia działanie systemu DSM-51 (po włączeniu zasilania w pamięci RAM znajdują się losowe wartości). © 08/2007 MicroMade Instrukcja Obsługi 3.01 19 DSM-51 3.Praca z systemem DSM-51 3.1.4 Tryb 2 systemu DSM-51 (Dekoder adresów pracuje w trybie 1.) Tryb 2 pracy systemu DSM-51 pozwala na jego samodzielną pracę (bez połączenia z komputerem). Tryb drugi moŜna uruchomić poprzez kombinację klawiszy [RESET ROM] i [2]: nacisnąć i przytrzymać klawisz [2] nacisnąć i puścić klawisz [RESET ROM] puścić klawisz [2]. Przejście do trybu 2 system sygnalizuje poprzez wypisanie na wyświetlaczu: DSM-51v3 MODE 2 >> ASSEMBLER << System zmienia tryb pracy dekodera adresów na 1, a pod adresem 00H pamięci RAM umieszcza skok do asemblera zawartego w pamięci EPROM. Asembler pozwala na wpisanie i uruchomienie programu zawierającego maksymalnie 255 linii. Wpisany program moŜe być uruchomiony w trybie pracy ciągłej bądź w trybie pracy krokowej. Klawisze “RESET” pozwalają na wydanie następujących komend (równieŜ w trakcie działania wpisywanego programu): [RESET RAM] - ponownie uruchamia symulator (z zachowaniem treści wpisanego programu) [RESET ROM] + [2] - ponownie uruchamia symulator, kasuje program wpisany do pamięci [RESET ROM] - powoduje start systemu DSM-51, czyli przejście do trybu 0 3.1.5 Tryb monitor systemu DSM-51 (Dekoder adresów pracuje w trybie 1.) Tryb monitor systemu DSM-51 moŜe być włączony tylko z trybu 0 poprzez wydanie odpowiedniej komendy z komputera. Tryb ten jest wykorzystywany przez program DSM51.exe. Po przesłaniu programu do systemu DSM-51, program DSM51.exe wydaje polecenie wejścia w tryb monitora. Tryb ten pozwala na uruchomienie przesłanego programu w trybie pracy krokowej, z jednoczesnym śledzeniem zawartości rejestrów mikrokontrolera na ekranie komputera. W dowolnym momencie moŜna równieŜ wydać z komputera polecenie kontynuacji programu w czasie rzeczywistym, czyli faktycznie przejście do trybu 1. Działanie klawiszy “RESET”: [RESET RAM] - uruchamia przesłany program od początku w trybie 1 [RESET ROM] - powoduje start systemu DSM-51, czyli przejście do trybu 0. 3.2 PRACA SYSTEMU POD NADZOREM KOMPUTERA Uruchamianie programu uŜytkownika w systemie DSM-51 w przypadku korzystania z pomocy komputera składa się z następujących kroków: przygotowanie kodu źródłowego programu, asemblacja programu, przesłanie wynikowego programu (*.hex) do systemu DSM-51 i jego uruchomienie . 3.2.1 Przygotowanie kodu źródłowego Kod źródłowy programu powinien być przygotowany w postaci pliku tekstowego. MoŜna się w tym celu posłuŜyć dowolnym edytorem np. Notatnikiem. Jako domyśle rozszerzenie nazwy pliku przyjęto .asm. Dla tego rozszerzenia skojarzono przy instalacji komendy: Otwórz - otwiera plik do edycji w Notatniku, DSM-51 Ass - asembluje kod źródłowy wywołując asembler dsm51ass. 20 Instrukcja Obsługi 3.01 © 08/2007 MicroMade 3.Praca z systemem DSM-51 DSM-51 Na program w asemblerze składa się zestaw linii, z których kaŜda moŜe zawierać maksymalnie jeden rozkaz procesora, dyrektywę asemblera lub wywołanie wcześniej zdefiniowanego makrorozkazu. Format kaŜdej linii programu jest następujący: [<etykieta>] [<rozkaz>] [<operandy>] [;<komentarz>] . Znaczenie poszczególnych pól linii programu jest następujące: <etykieta> - symbol umieszczony na samym początku linii (pierwszy znak etykiety musi być pierwszym znakiem w linii). Etykieta musi zaczynać się od litery lub znaku podkreślenia „_” i moŜe zawierać dowolną kombinację liter, cyfr i podkreśleń. <rozkaz> - mnemonik kodu maszynowego procesora, dyrektywa asemblera lub makrorozkaz <operandy> - informacje wymagane przez <rozkaz>. Poszczególne operandy są oddzielane przecinkami <komentarz> - wszystkie znaki po średniku są traktowane jako komentarz i ignorowane przez asembler. Poszczególne pola linii programu muszą być oddzielone między sobą co najmniej jednym znakiem spacji (lub tabulacji). W programie mogą występować puste linie lub linie zawierające wyłącznie komentarz. Szczegółowy opis formatu pliku źródłowego dla asemblera znajduje się w rozdz. 5 na str. 43. 3.2.2 Asemblacja programu Razem z Dydaktycznym Systemem Mikroprocesorowym DSM-51 dostarczany jest asembler mikrokontrolera 8051 dsm51ass.exe. W celu asemblacji programu naleŜy wywołać asembler w następujący sposób: dsm51ass <nazwa> gdzie <nazwa> jest nazwą pliku zawierającego kod źródłowy programu. Jeśli w nazwie nie zawarto rozszerzenia, to domyślnie przyjmowane jest rozszerzenie .asm. W celu ułatwienia wywołania asemblera, z plikiem *.asm skojarzono komendę “DSM-51 Ass”. Jest ona dostępna z podręcznego menu otwieranego prawym klawiszem myszy. Wywołanie tej komendy powoduje uruchomienie programu dsm51ass.exe z przekazaniem do niego nazwy pliku do asemblacji. W wyniku działania programu powstają następujące pliki: <nazwa>.hex - plik zawierający kod wynikowy w formacie Intel HEX <nazwa>.lst - listing programu. Listing programu to plik tekstowy zawierający treść programu uzupełnioną o numery linii, wygenerowane kody rozkazów oraz opisy błędów. 3.2.3 Przesłanie i uruchomienie programu Powstały w wyniku asemblacji plik w formacie Intel HEX (rozszerzenie .hex) jest wykorzystywany do uruchomienia programu w systemie DSM-51. Aby umoŜliwić uruchomienie programu w systemie DSM-51, system powinien: być połączony kablem RS232 z komputerem, pracować w trybie 0. Do przesłania i uruchomienia programu uŜytkownika słuŜy program dsm51run.exe. Przy wywołaniem tego programu naleŜy podać jako parametr nazwę pliku, który ma być przesłany do DSM-51. dsm51run <nazwa>.hex W celu ułatwienia wywołania tego programu, z plikiem *.hex skojarzono komendę “Uruchom”. Jest ona dostępna z podręcznego menu otwieranego prawym klawiszem myszy. © 08/2007 MicroMade Instrukcja Obsługi 3.01 21 DSM-51 3.Praca z systemem DSM-51 Wywołanie tej komendy powoduje uruchomienie programu dsm51run.exe z przekazaniem do niego nazwy pliku. Plik jest przesyłany do systemu DSM-51 i automatycznie uruchamiany. 3.2.4 Uruchomienie programu pod nadzorem monitora Do przesłania i uruchomienia programu moŜna oprócz dsm51run.exe uŜyć równieŜ program DSM51.exe. MoŜliwa jest wtedy praca krokowa uruchamianego programu z jednoczesnym śledzeniem zawartości rejestrów mikrokontrolera na ekranie komputera. W celu uruchomienia programu DSM51.exe najprościej uŜyć komendy “Otwórz” skojarzonej z plikiem *.hex. Uruchomiony w ten sposób program DSM51.exe wykona następujące czynności: pobierze plik *.hex przeszuka porty COM1 do COM4 komputera w celu połączenia się z systemem DSM-51 prześle plik *.hex do systemu DSM-51 przełączy system DSM-51 w tryb monitora Na ekranie komputera program wyświetli stan mikrokontrolera i będzie oczekiwał na wydanie kolejnych poleceń. Uwagi do pracy monitora systemu DSM-51. Do realizacji pracy krokowej wykorzystuje przerwanie z wejścia INT0. Dlatego, uruchamiane programy nie mogą wykorzystywać pamięci pod adresem 0003H..0005H. W przykładowych programach wstawiono na początku programu skok do adresu 0100H. Monitor wykorzystuje do swej pracy 4 bajty na stosie. W oknie "Stos" w miejsce wartości tych 4 bajtów wpisywane jest XX, aby przypomnieć uŜytkownikowi, Ŝe bajty te nie mogą być wykorzystywane przez jego program. W innych oknach ("8051 RAM" i "SFR") wartość tych bajtów nie jest maskowana. Pozostałe ograniczenia wynikające z pracy monitora moŜna znaleźć w rozdz. 3.6 na str. 27. W czasie wykonywania programu w systemie DSM-51 w trybie pracy krokowej dostępne są następujące polecenia: Reset - ponowne załadowanie programu do DSM-51 i przygotowanie do pracy krokowej. Krok bez analizy procedur - wykonanie jednego rozkazu, a jeśli jest to LCALL lub ACALL to wykonanie programu do następnej linii. Krok bez analizy procedur DSM - wykonanie jednego rozkazu, a jeśli jest to LCALL lub ACALL, którego adres docelowy znajduje się w EPROMie (procedury DSM) to wykonanie programu do następnej linii. 22 Instrukcja Obsługi 3.01 © 08/2007 MicroMade 3.Praca z systemem DSM-51 DSM-51 Krok - wykonanie jednego rozkazu programu. Następna linia - wykonanie programu do następnej linii. Szybkość wykonania programu do następnej linii zaleŜy od tego, w której pamięci ona się znajduje. Linia programu w pamięci RAM - wykonanie programu odbywa się z pełną prędkością. Linia programu w pamięci EPROM - wykonanie programu jest wielokrotnie spowolnione. Z tego powodu, w przypadku wejścia w zawarte w pamięci EPROM procedury opóźnień czasowych moŜe się wydawać, Ŝe nastąpiło zawieszenie systemu. Procedura, która normalnie wykonuje się 1s, w tym przypadku zajmie prawie 40s. Uruchom - uruchomienie programu od aktualnej pozycji w trybie pracy ciągłej (utrata kontroli nad programem). Aby przywrócić kontrolę nad systemem naleŜy: nacisnąć przycisk "RESET ROM" - system DSM-51 wróci do trybu 0 wykonać funkcję "Reset" w programie DSM51. 3.3 URUCHAMIANIE PROGRAMÓW BEZ POMOCY KOMPUTERA System DSM-51 umoŜliwia wpisywanie i uruchamianie krótkich programów bez konieczności korzystania z komputera. Jest to moŜliwe dzięki wbudowaniu w system specjalizowanego edytora kodu źródłowego programu i prostego asemblera. Wpisywanie kolejnej linii kodu programu polega na wybraniu z menu mnemonika rozkazu, wybraniu zestawu jego parametrów i określeniu ich wartości. W treści programu moŜna wstawiać etykiety, które następnie są wykorzystywane przy określaniu adresów skoków. Asembler zawarty w pamięci EPROM pozwala na wpisanie i uruchomienie programu zawierającego maksymalnie 255 linii. W jednej linii moŜe być zawarty jeden rozkaz mikrokontrolera lub etykieta. Obszar pamięci RAM 00..FFH i 7000H..7FFFH jest zarezerwowany dla potrzeb asemblera i nie moŜe być uŜyty przez program uŜytkownika. Aby rozpocząć pracę z asemblerem, naleŜy przełączyć DSM-51 w tryb 2. MoŜna to uzyskać poprzez kombinację klawiszy: [2] - przytrzymać naciśnięty i [RESET ROM] - nacisnąć na moment. Po rozpoczęciu pracy w trybie 2 na wyświetlaczu pojawia się napis: DSM-51v3 MODE 2 >> ASSEMBLER << który informuje o moŜliwości wpisywania programu w asemblerze, jego asemblacji i uruchamiania. UŜycie klawisza [Enter] powoduje przejście do głównego menu asemblera: EDIT RUN STEP Znaczenie poszczególnych pozycji menu: EDIT - edycja programu RUN - uruchomienie wpisanego programu w trybie pracy ciągłej STEP - uruchomienie wpisanego programu w trybie pracy krokowej. Najpierw naleŜy przystąpić do edycji programu. W tym celu naleŜy klawiszami kursora ([←], [→]) wybrać odpowiednią pozycję menu i nacisnąć klawisz [Enter]. Na wyświetlaczu pojawi się kolejne menu, które pozwala na: INS - wstawianie kolejnej linii programu MAIN - powrót do głównego menu DEL - usunięcie linii programu W drugiej linii wyświetlacza LCD widać jedną linię programu. Wstawianie kolejnej linii (polecenie INS) powoduje wpisanie nowej linii przed linię widoczną na wyświetlaczu. Usunięcie linii (polecenie DEL) powoduje skasowanie linii widocznej na wyświetlaczu. Posługując się klawiszami kursora ([↑], [↓]) moŜna przeglądać kolejne linie programu. Na początku program ma długość jednej linii. Jest to ostatnia linia programu i wygląda następująco: .END © 08/2007 MicroMade Instrukcja Obsługi 3.01 23 DSM-51 3.Praca z systemem DSM-51 Linii tej nie moŜna skasować, natomiast moŜna wstawiać przed nią kolejne linie. Po wybraniu komendy INS moŜna wybrać z menu odpowiedni mnemonik, dyrektywę bądź etykietę. Mnemoniki ułoŜone są w kolejności alfabetycznej, za nimi następują dyrektywy (DB i ORG), a następnie etykiety. Program pozwala na uŜycie 64 etykiet o z góry zdefiniowanych nazwach, składających się z litery L i zapisanego szesnastkowo numeru etykiety (L00... L3F). Jeśli dla wybranego mnemonika istnieje kilka zestawów parametrów, to na wyświetlaczu pojawia się menu, pozwalające na wybór jednego z dostępnych zestawów. Klawisze [←], [→], [↑], [↓] pozwalają wybrać zestaw parametrów, a klawisz [Enter] [↵] akceptuje wybór. Po wybraniu zestawu, system oczekuje określenia wartości kolejnych parametrów. Dla poszczególnych typów parametrów istnieją następujące moŜliwości: Rr - wybór jednego z ośmiu rejestrów R0...R7 @Ri - wybór jednego z dwu rejestrów @R0, @R1 dir - wybór rejestru specjalnego według jego nazwy lub edycja (w trybie szesnastkowym) adresu komórki pamięci wewnętrznej #d8 - edycja dwucyfrowej liczby szesnastkowej #d16 - edycja czterocyfrowej liczby szesnastkowej lub wartość jednej z etykiet L00...L3F bit - wybór bitu w rejestrach specjalnych wg. jego nazwy lub edycja (w trybie szesnastkowym) numeru bitu addr - wybór jednej z etykiet: L00...L3F addr - w rozkazie LCALL wybór jednego z podprogramów systemowych DSM-51 lub jednej z etykiet: L00...L3F addr - w dyrektywie ORG edycja czterocyfrowej liczby szesnastkowej rel - wybór jednej z etykiet: L00...L3F. Do edycji liczb szesnastkowych wykorzystywane są klawisze kursorów. Klawisze [↑], [↓] powodują zwiększanie lub zmniejszanie cyfry wskazywanej przez kursor. Klawisze [←], [→] pozwalają na wybór edytowanej cyfry. Wprowadzenie liczby czterocyfrowej podzielone jest na 2 etapy. Najpierw wprowadzany jest jej starszy bajt, a potem młodszy. Po określeniu wszystkich wartości w dolnej linii wyświetlacza ukazuje się cała linia programu. System oczekuje jej zatwierdzenia klawiszem [Enter]. Zatwierdzona linia jest włączana do edytowanego programu. Naciśnięcie w tym momencie klawisza [Esc] powoduje powrót do edycji programu bez wprowadzania linii. Po zakończeniu edycji naleŜy powrócić do głównego menu wybierając komendę MAIN. Z głównego menu moŜna uruchomić wpisany program w trybie pracy ciągłej (RUN) bądź krokowej (STEP). Przed uruchomieniem program jest automatycznie asemblowany i umieszczany w pamięci RAM od adresu 100 H. Uruchomienie programu polega na wykonaniu skoku pod ten adres. W trakcie asemblacji do wszystkich dyrektyw ORG dodawana jest wartość 100H. Na przykład kod rozkazu występujący po dyrektywie ORG 0023H jest umieszczany pod adresem 0123H. W celu umoŜliwienia obsługi przerwań pod adresy 000BH, 0013H, 001BH, 0023H zostały wpisane rozkazy skoków (LJMP), odpowiednio do adresów 010BH, 0113H, 011BH, 0123H. Na przykład, rozkazy obsługi przerwania od układu transmisji szeregowej naleŜy poprzedzić dyrektywą ORG 0023H. Wewnętrzny asembler nie sprawdza poprawności programu. Oto błędy, które mogą wystąpić: próba wykonania skoku względnego poza dopuszczalny obszar, próba wykonania skoku lub wywołania podprogramu rozkazami AJMP / ACALL poza obszar strony 2kB, nałoŜenie się fragmentów programu na siebie przy złych adresach dyrektyw ORG. W trybie pracy krokowej po wykonaniu kaŜdego rozkazu programu aktualny adres i kolejny rozkaz, który będzie wykonany, są wyświetlane na wyświetlaczu. Poza tym na wyświetlaczu widoczna jest zawartość jednego spośród rejestrów: ACC, PSW, SP, (SP), (SP-1), B, DPTR, R0..R7. Klawisze [ ←], [→] pozwalają na wybór wyświetlanego rejestru. Klawisz [Enter] powoduje wykonanie kolejnego rozkazu, a klawisz [↓] wykonanie programu aŜ do osiągnięcia następnej linii. MoŜe to być na przykład szybkie wykonanie podprogramu czy dokończenie pętli. Zarówno z trybu pracy krokowej, jak i z trybu pracy ciągłej, moŜna wrócić do asemblera klawiszem [RESET RAM]. Ten sposób powrotu do asemblera powoduje zachowanie treści wpisanego programu. MoŜliwa jest zatem jego edycja bądź ponowne uruchomienie. UŜycie kombinacji klawiszy [2] i [RESET ROM] spowoduje skasowanie programu wpisanego do pamięci. Do realizacji pracy krokowej system DSM-51 wykorzystuje przerwanie INT0. W związku z tym, pod adresem 03 H jest umieszczony skok do odpowiednich podprogramów w pamięci EPROM. Zatem w programie uruchamianym w trybie pracy krokowej uŜytkownik nie moŜe uŜywać tego przerwania do swoich celów. 24 Instrukcja Obsługi 3.01 © 08/2007 MicroMade 3.Praca z systemem DSM-51 DSM-51 3.4 PODPROGRAMY W PAMIĘCI EPROM SYSTEMU DSM-51 W pamięci EPROM systemu DSM-51 zostały umieszczone podprogramy, które mają ułatwić pisanie prostych programów. Podprogramy te obsługują wyświetlacz LCD, klawiaturę, generują opóźnienia czasowe oraz wykonują kilkubajtowe operacje mnoŜenia i dzielenia. Zestawienie wszystkich podprogramów jest zawarte w tabelce poniŜej. Podprogram WRITE_TEXT WRITE_DATA WRITE_HEX 2 A,PSW ,DPTR 2 A,PSW 3 A,PSW R0 R0 WRITE_INSTR LCD_INIT LCD_OFF LCD_CLR 2 2 1 1 R0 R0 R0 R0 DELAY_US 0 A - DELAY_MS DELAY_100MS WAIT_ENTER 1 A 2 A 4 A,PSW R0 WAIT_ENTER_NW 2 A,PSW R0 TEST_ENTER 1 A,PSW R0 WAIT_ENT_ESC 2 A,PSW R0 WAIT_KEY 2 A,PSW R0 GET_NUM 4 A,PSW R0 BCD_HEX R0 DIV_2_1 0 A,PSW ,B 4 A,PSW ,B 1 A,PSW ,B 1 A,PSW ,B 1 A,PSW DIV_4_2 1 PSW HEX_BCD MUL_2_2 MUL_3_1 A,PSW A,PSW A,PSW A,PSW R0 R0,R2 R0,R2 R0 R0,R2 A,R0, R2 Opis Wypisuje na wyświetlacz LCD tekst wskazany rejestrem DPTR, zakończony bajtem=0. Wypisuje znakowo bajt z Akumulatora na wyświetlacz LCD. Wypisuje szesnastkowo bajt z Akumulatora na wyświetlacz LCD. Wysyła do wyświetlacza LCD rozkaz z Akumulatora. Inicjuje pracę wyświetlacza LCD. Wyłącza wyświetlacz LCD. Kasuje zawartość wyświetlacza LCD i ustawia kursor na początku. Oczekuje przez czas zgodnie ze wzorem (łącznie z wywołaniem procedury): Czas[µs] = ( A*2 + 6 ) * 12 / 11.0592 Odczekuje przez czas A[ms] (A=0 oznacza 256 ms). Odczekuje przez czas A*100[ms] (A=0 oznacza 25.6 s). Pisze na wyświetlaczu „PRESS ENTER...” i czeka na naciśnięcie klawisza [Enter]. Czeka na naciśnięcie klawisza [ENTER] (niczego nie pisze na wyświetlaczu). Sprawdza, klawisz [Enter]. C=0 - klawisz naciśnięty, C=1 - klawisz puszczony. Czeka na [Enter] lub [Esc]. Zwraca informację: C=0 - [Enter], C=1 - [Esc]) Program czeka na dowolny klawisz z klawiatury matrycowej. Nr klawisza zwraca w Akumulatorze. Wczytuje liczbę BCD (4 cyfry) z klawiatury pod adres @R0. Koniec wpisywania: [Enter] (C=0), po 4 cyfrze równieŜ [Esc] (C=1). Zamienia liczbę z postaci upakowane BCD na 2 bajtach wskazanych przez @R0 na HEX na tych bajtach. Zamienia liczbę HEX na 2 bajtach (@R0) na postać upakowane BCD (3 bajty @R0). MnoŜy 2 bajty * 2 bajty (mnoŜna - @R0, mnoŜnik - B,A (B-high), iloczyn - @R0 (4 bajty)) MnoŜy 3 bajty * 1 bajt (mnoŜna - @R0 (3 bajty), mnoŜnik - A, iloczyn - @R0 (4 bajty)) Dzieli 2 bajty przez 1 bajt (dzielna - @R0, dzielnik - B, iloraz - na dzielnej (@R0), reszta - A) Dzieli 4 bajty przez 2 bajty (dzielna -@R0,dzielnik -B,A (B=high), iloraz - na dzielnej (@R0), reszta - @(R0+4), @(R0+5)) 1. W kolumnie 2…4 umieszczono informacje: zapotrzebowanie na miejsce na stosie, zmieniane rejestry, uŜywane rejestry. 2. @R0 w podprogramach wskazuje najmłodszy bajt danych. Starsze bajty są pod kolejnymi starszymi adresami. © 08/2007 MicroMade Instrukcja Obsługi 3.01 25 DSM-51 3.Praca z systemem DSM-51 3.5 URZĄDZENIA WEJŚĆ/WYJŚĆ DSM-51 Podane poniŜej adresy urządzeń dołączonych do szyny mikroprocesora dotyczą adresowania 8-bitowego (@Ri) przy załoŜeniu, Ŝe port P2 jest ustawiony na 0FFH. Przy adresowaniu poprzez rejestr DPTR naleŜy dodać wartość 0FF00H. Adres 0000 0xxx 0000 1xxx 0001 0xxx 0001 1xxx 0010 0x01 0010 0x10 0010 1x00 0010 1x01 0010 1x10 0010 1x11 0011 0xxx 0011 1xxx 01xx xxxx 10xx xx00 10xx xx01 10xx xx10 10xx xx11 HEX 00H 08H 10H 18H 21H 22H 28H 29H 2AH 2BH 30H 38H 40H 80H 81H 82H 83H B B B B B B B B B B B B B B B B B Sterownik Przerwań Sygnał przerwania Priorytet przerwania P1.1 = ’ 1 ’ P1.1 = ’ 0 ’ IAD IAD najwyŜszy IOI IOI IPA IPB najniŜszy Nr przerwania 0 1 2 3 a e 26 g d Urządzenie sterownik przerwań przetwornik C/A przetwornik A/C multiplekser analogowy klawiatura matrycowa: klawisze 0…7 klawiatura matrycowa: klawisze 8… układ 8255 - rejestr portu A układ 8255 - rejestr portu B układ 8255 - rejestr portu C układ 8255 - rejestr sterujący bufor wyboru wskaźnika 7-segmentowego bufor danych wskaźnika 7-segmentowego tryb dekodera adresów HD44780 - wpis rozkazów HD44780 - wpis danych HD44780 - odczyt stanu HD44780 - odczyt danych Urządzenia podłączone do portów mikrokontrolera 8051 COM2 wyjście COM1 wejście P3.0 (RxD) sterownik przerwań COM1 wyjście P3.1 (TxD) wyjście izolowane O1 sterownik przerwań - COM2 wejście P3.2 (INT0) wyjście izolowane O2 sterownik przerwań (patrz tabela) P3.3 (INT1) watchdog wejście izolowane I1 P3.4 (T0) brzęczyk BUZZER klawiatura P3.5 (T1) wyświetlacz 7-segmentowy dioda świecąca TEST P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 f Symbol CSIC CSDA CSAD CSMX CSKB0 CSKB1 CS55A CS55B CS55C CS55D CSDS CSDB CSMOD LCDWC LCDWD LCDRC LCDRD b c DP IAD IOI IPA IPB Opis - przetwornik A/C - wejście izolowane I2 - PC3 (8255) - PC0 (8255) Dołączenie wyświetlacza 7-segmentowego i klawiatur Bufor danych wsk. Bufor wyboru wsk. Klawiatura matrycowa Bit segment LED wskaźnik klawisz CSKB0 CSKB1 0 a F1 W1 0 8 ↵ 1 b F2 W2 Esc 1 9 2 c F3 W3 → 2 ← 3 d F4 W4 ↑ 3 → 4 e OK W5 ↓ 4 ↑ 5 f ER W6 ← 5 ↓ 6 g LED 6 Esc 7 DP 7 Enter Instrukcja Obsługi 3.01 © 08/2007 MicroMade 3.Praca z systemem DSM-51 DSM-51 3.6 OGRANICZENIA PRACY KROKOWEJ DSM-51 Ograniczenia nakładane na uruchamiane programy przez program pracy krokowej systemu DSM-51: do realizacji pracy krokowej wykorzystane jest przerwanie z wejścia INT0. Pod adresem 0003H jest wpisany rozkaz skoku LJMP do procedury obsługującej wykonanie pojedynczego kroku (adresy 0003 H…0005H nie mogą być wykorzystane przez program); przy uruchamianiu programu w trybie pracy krokowej nie moŜna wykorzystywać przerwania INT0 oraz zmieniać ustawień dotyczących tego przerwania - w rejestrach TCON (IE0, IT0), IE (EA, EX0), P3 (P3.2 - INT0); program pracy krokowej wykorzystuje 4 bajty na stosie; uruchomione przez program Timery będą pracowały z pełną prędkością; rejestr IP nie jest kontrolowany przez program pracy krokowej - ustawienie wyŜszego priorytetu pozwala na wykorzystanie przerwania w czasie rzeczywistym. Dodatkowo, w trybie monitora sterowanego z komputera: uruchamiany program powinien się rozpoczynać rozkazem LJMP pod adres min. 0006H; obszar pamięci RAM 7F00H…7FFFH jest uŜywany do zapamiętania zmiennych programu MONITOR i nie powinien być uŜywany przez program uŜytkownika; komunikacja MONITORA z komputerem odbywa się poprzez COM1. W uruchamianym programie nie moŜna wykorzystywać transmisji szeregowej oraz zmieniać ustawień dotyczących portu szeregowego i Timera 1. Dodatkowo, w trybie wewnętrznego asemblera systemu DSM-51: obszar pamięci RAM 7700H…7FFFH jest uŜywany do zapamiętania treści programu i nie powinien być uŜywany przez program; w momencie uruchamiania pracy ciągłej lub krokowej program jest asemblowany i umieszczany w pamięci RAM, począwszy od adresu 0100H; do wszystkich dyrektyw ORG dodawana jest wartość 0100H, np. dyrektywa ORG 0023H jest traktowana przez program jako ORG 0123H, tzn. kod rozkazu występującego po dyrektywie ORG 0023 H jest umieszczany pod adresem 0123H; w celu umoŜliwienia obsługi przerwań pod adresy 000B H, 0013H, 001BH, 0023H zostały wpisane rozkazy skoków LJMP odpowiednio do adresów 010BH, 0113H, 011BH, 0123H; pod adresem 0000H umieszczony jest rozkaz skoku do programu, który ponownie uruchomi pracę asemblera w przypadku uŜycia klawisza RESET RAM. Zniszczenie tego rozkazu przez program uniemoŜliwi powrót do asemblera bez straty wpisanej treści programu; w trybie pracy krokowej nie moŜna uŜywać wyświetlacza LCD i klawiatury matrycowej. © 08/2007 MicroMade Instrukcja Obsługi 3.01 27 DSM-51 4.Dokumentacja techniczna 4.Dokumentacja techniczna Dydaktyczny System Mikroprocesorowy DSM-51 jest uniwersalnym sterownikiem zbudowanym w oparciu o mikrokontroler 80C51. Zastosowane w systemie dwa programowalne układy logiczne typu GAL (Generic Array Logic - Uniwersalna Matryca Logiczna) pozwalają na róŜnorodne konfigurowanie otoczenia mikrokontrolera, a w szczególności na zmianę konfiguracji w trakcie pracy programu. Zostało to wykorzystane w standardowej konfiguracji dekodera adresów do uruchamiania programu załadowanego do pamięci RAM. Dydaktyczny System Mikroprocesorowy DSM-51 jest wykonany w postaci jednej płytki drukowanej o wymiarach 16,5 x 21,5 cm, umieszczonej na metalowej podstawie. Z góry system jest przykryty przezroczystą płytką wykonaną z pleksi, na której umieszczono opisy złącz i klawiatur. Dydaktyczny System Mikroprocesorowy DSM-51 moŜna podzielić na trzy zespoły: system mikroprocesorowy, układy komunikacji z uŜytkownikiem, porty urządzeń zewnętrznych. Zgodnie z tym podziałem narysowane są schematy blokowe i ideowe, zamieszczone w dalszej części dokumentacji. 4.1 ZMIANY WPROWADZONE W WERSJI 3 SYSTEMU Usunięcie złącza szyny systemowej. Obecnie szyna systemowa mikrokontrolera 8051 nie jest wyprowadzona poza DSM-51. Zmiana sterownika przerwań. Do sterownika przerwań był doprowadzony sygnał przerwania IX ze złącza szyny systemowej. Obecnie sygnał ten nie istnieje. NaleŜało go równieŜ usunąć z równań opisujących sterownik przerwań. Zostało to zrobione w taki sposób, aby w niczym nie zmienić działania sterownika przerwań dla pozostałych sygnałów. Zmiana dekodera adresów. Poprzednio, do elementów systemu, były rozprowadzone sygnały wyboru (CS..) oraz sygnały zapisu i odczytu (WR i RD). Obecnie, sygnały te zostały zmieszane juŜ w dekoderze adresów, tworząc odpowiednio sygnały wyboru i zapisu (CW..) oraz sygnały wyboru i odczytu (CR..), rozprowadzane do poszczególnych elementów systemu. Nie zmienia to w jakikolwiek sposób działania systemu DSM-51. 28 Instrukcja Obsługi 3.01 © 08/2007 MicroMade 4.Dokumentacja techniczna DSM-51 4.2 DANE TECHNICZNE Parametry ogólne: wymiary: 170 x 220 x 25 mm zasilanie: 9V / 500 mA. System mikroprocesorowy: mikrokontroler: 80C52 zegar: 11.0592 MHz pamięć EPROM: 32kB pamięć RAM: 32kB stała czasowa watchdoga: min 250 ms. Układy komunikacji z uŜytkownikiem: sygnalizatory: optyczny: dioda LED akustyczny: brzęczyk zespół wyświetlacza 7-segmentowego: wyświetlacz: 6 cyfr diody świecące: 6 diod klawiatura sekwencyjna: 6 klawiszy zespół wyświetlacza LCD: wyświetlacz: 2 linie po 16 znaków sterownik wyświetlacza: HITACHI - HD44780 klawiatura matrycowa: 16 klawiszy. © 08/2007 MicroMade Instrukcja Obsługi 3.01 29 DSM-51 4.Dokumentacja techniczna Porty urządzeń zewnętrznych: Prąd pobierany z VCC łącznie przez urządzenia zewnętrzne: max 150 mA. RS232: 2 kanały dwukierunkowe wejścia/wyjścia cyfrowe: 24 linie układ wejść/wyjść równoległych: izolowane wejścia cyfrowe: napięcie sterujące: izolowane wyjścia cyfrowe: 8255 2 linie 5…9V 2 linie napięcie wyjściowe: max 9V prąd wyjściowy: max 3mA wejścia analogowe: liczba wejść: 8 zakres przetwarzanego napięcia: 0…5V przetwornik A/C: ADC0804 rozdzielczość: 8 bitów czas przetwarzania: ok. 150 µs wyjścia analogowe: 30 liczba wyjść: 1 zakres napięć wyjściowych: 0…5V przetwornik C/A: DAC08 rozdzielczość: 8 bitów czas ustalania przetwornika: 85 ns szybkość narastania napięcia: 3V/µs Instrukcja Obsługi 3.01 © 08/2007 MicroMade DSM-51 4.Dokumentacja techniczna 4.3 DEKODER ADRESÓW Równania opisujące dekoder adresów v3.0: Sygnał wyboru pamięci EPROM: CSE = PSEN + TRYB * A15 Sygnał wyboru pamięci RAM: CSR = A15 Sygnał odczytu pamięci RAM: RDR = ( PSEN + TRYB + A15 ) * RD Sygnał wyboru pozostałych urządzeń wejść/wyjść: CSIO = A15 * A14 * A13 * A12 * A7 * A6 Sygnał wyboru wyświetlacza LCD: ( LCD = A15 * A14 * A13 * A12 * A7 * A6 * RD + WR ) Tryb podziału przestrzeni adresowej: TRYB = ( ) RST 2 * A15 * A14 * A13 * A12 * A7 * A6 * TRYB + ( ) + RST 2 * A15 * A14 * A13 * A12 * A7 * A6 * RD * WR + + RST 2 * TRYB * RD Uwaga! Sygnał TRYB nie jest podłączony do Ŝadnych zewnętrznych układów. Jest on jedynie wykorzystywany wewnątrz dekodera adresów. © 08/2007 MicroMade Instrukcja Obsługi 3.01 31 DSM-51 4.Dokumentacja techniczna 4.4 STEROWNIK PRZERWAŃ Równania opisujące sterownik przerwań v3.0: Pamięć przerwania IAD: O0 = ( D 0 * D1 * CWIC * IAD ) + ( O0 * IAD) Pamięć przerwania IOI: O1 = ( D0 * D1 * CWIC *IOI ) + ( O1 * IOI ) Pamięć przerwania IPA: O2 = ( D 0 * D1 * CWIC * IPA ) + ( O2 * IPA ) + PP1 Pamięć przerwania IPB: O3 = ( D0 * D1 * CWIC * PP1 ) + ( O3 * PP1 ) + + ( D0 * D1 * CWIC * IPB * PP1 ) + ( O3 * IPB * PP1 ) Sygnał przerwania INT0 procesora: INT0 = 0 INT0.TRST = IRS Sygnał przerwania INT1 procesora: INT1 = O0 * O1 * O2 * O3 Sygnały wyjściowe (te równania decydują o priorytecie przerwań): D0 = O0 * O1 + O0 * O2 D1 = O0 * O1 Sygnały sterujące trójstanowymi buforami wyjściowymi: D0.TRST = CRIC D1.TRST = CRIC 32 Instrukcja Obsługi 3.01 © 08/2007 MicroMade DSM-51 4.Dokumentacja techniczna 4.5 ZŁĄCZA SYSTEMU Złącze zasilania 9V / 0.5 A Złącze kanału szeregowego COM1 S2 Pin 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 Sygnał RxD (P3.0) TxD (P3.1) Opis NC Wejście Wyjście NC Masa - GND NC NC NC NC Złącze kanału szeregowego COM2 S3 Pin 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 Sygnał IRS P1.0 Opis NC Wejście Wyjście NC Masa - GND NC NC NC NC Złącze wejść/wyjść izolowanych galwanicznie S4 1 3 5 7 9 © 08/2007 MicroMade 2 4 6 8 10 Pin 1 2 3 4 5 6 7 8 9 10 Symbol O1e O1k O2e O2k GND VCC I1k I1a I2k I2a Instrukcja Obsługi 3.01 Sygnał P1.2 P1.2 P1.3 P1.3 P3.4 P3.4 IOI IOI Opis Wyjście 1 - emiter Wyjście 1 - kolektor Wyjście 2 - emiter Wyjście 2 - kolektor Masa Napięcie +5V Wejście 1 - katoda Wejście 1 - anoda Wejście 2 - katoda Wejście 2 - anoda 33 DSM-51 4.Dokumentacja techniczna Złącze wejść/wyjść analogowych S5 1 3 5 7 9 11 13 2 4 6 8 10 12 14 Pin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Symbol AGND VCC AGND OUT AGND VOUT IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 Opis Masa Napięcie +5V Masa Wyjście analogowe Masa Napięcie (ok. 8V / 30 mA) Wejście analogowe 0 Wejście analogowe 1 Wejście analogowe 2 Wejście analogowe 3 Wejście analogowe 4 Wejście analogowe 5 Wejście analogowe 6 Wejście analogowe 7 Pin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Symbol PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 GDN VCC Złącze wejść/wyjść cyfrowych S6 1 3 5 7 9 11 13 15 17 19 21 23 25 34 2 4 6 8 10 12 14 16 18 20 22 24 26 Instrukcja Obsługi 3.01 Opis 8255 port A 8255 port C 8255 port B Masa Napięcie +5V © 08/2007 MicroMade DSM-51 4.Dokumentacja techniczna 4.6 SCHEMATY BLOKOWE System mikroprocesorowy WATCHDOG + RESET RESET ROM RST2 PSEN RD WR RST1 RESET RAM SZYNA STERUJĄCA DEKODER ADRESÓW P1.4 CSE CSR RDR WR CRIC CWIC A0...A15 A8..A15 SZYNA ADRESOWA A0...A7 MIKROKONTROLER 80C51 ALE BUFOR ADRESÓW EPROM STEROWNIK PRZERWAŃ RAM SZYNA PRZERWAŃ D0...D1 D0...D7 SZYNA DANYCH PRZERWANIA MIKROKONTROLERA INT0, INT1 P1.1 Komunikacja z uŜytkownikiem P1.7 LED TEST WYŚWIETLACZ 7-SEGMENTOWY F1 F2 F3 MIKRO KONTROLER F4 P1.5 80C51 OK BUZZER ER a f b g a f b g a f b g a f b g a f b g a f b g e c DP d e c DP d e c DP d e c DP d e c DP d e c d DP P3.5 (T1) 0 1 2 3 4 5 6 7 BUFOR DANYCH WSKAŹNIKA Esc 6 P1.6 a b c d e f g DP 1 3 2 4 BUFOR WYBORU WSKAŹNIKA 5 SZYNA STERUJĄCA 0 CWDB CWDS CRKB LCD SZYNA DANYCH D0...D7 SZYNA ADRESOWA A0...A1 BUFOR KLAWIATURY MATRYCOWEJ WYŚWIETLACZ LCD 2*16 © 08/2007 MicroMade A0 A1 0 1 8 9 Instrukcja Obsługi 3.01 2 3 4 5 6 Esc 7 Enter 35 DSM-51 4.Dokumentacja techniczna Porty urządzeń zewnętrznych COM1 TXD P1.0 MIKRO KONTROLER RXD 80C51 WE/WY CYFROWE WE/WY IZOLOWANE COM2 BUFOR TRANSMISJI RS232 STEROWNIK TRANSMISJI RÓWNOLEGŁEJ P1.2, P1.3 (BUFOR WE/WY) IZOLACJA GALWANICZNA P3.4(T0) SZYNA PRZERWAŃ IPA IPB IOI IRS IAD SZYNA STERUJĄCA CWMX CR55 CW55 CRAD CWAD SZYNA DANYCH D0...D7 CWDA D0..2 SZYNA ADRESOWA A0...A1 BUFOR PRZETWORNIK ANALOGOWOCYFROWY BUFOR MULTI PLEKSER PRZETWORNIK CYFROWOANALOGOWY WYJŚCIE WEJŚCIA ANALOGOWE 36 Instrukcja Obsługi 3.01 © 08/2007 MicroMade 4.Dokumentacja techniczna DSM-51 4.7 SCHEMATY IDEOWE Na następnych stronach umieszczono schematy ideowe Dydaktycznego Systemu Mikroprocesorowego DSM-51: 1/4 - Schemat systemu DSM-51 v3 2/4 - System mikroprocesorowy 3/4 - Komunikacja z uŜytkownikiem 4/4 - Porty urządzeń zewnętrznych oraz schematy następujących kabli połączeniowych: RS232 - kabel połączeniowy kanałów szeregowych RS232, DIGITAL - kabel połączeniowy wejść/wyjść cyfrowych, ANALOG - kabel połączeniowy we/wy analogowych., OPTO - kabel połączeniowy wejść/wyjść izolowanych galwanicznie. © 08/2007 MicroMade Instrukcja Obsługi 3.01 37 A B C 1 DC_GN13# S4 3 2 1 KF200 3 GND Tr18D D51 SPDT_03 L22 1 2 K1 GND 100n 1k C60 100n 2 L25 GND 220U/16 C61 100UH/500 C22 GND 220U/16 GND LED3G D6 C21 R18 D1A D52 ZASILANIE 100n C23 100n C24 GND GND KF200 L23 1 100n VCC 3 P1[0..7] A[0..1] D[0..7] P1[0..7] A[0..15] D[0..7] 7805# U16 V8 CW55 CR55 CWMX CWDA CRAD CWAD CW55 CR55 CWMX CWDA CRAD CWAD RAD_TO220 Z1 GND GND 22u/10 C62 P35 P35 3 CWDB CWDS CRKB LCD CWDB CWDS CRKB LCD D[0..7] A[0..1] P1[0..7] DSM_KU_C.sch RST1 IAD IPB IPA IOI IRS TXD RXD P34 DSM_PZ_C.sch RST1 IAD IPB IPA IOI IRS TXD RXD P34 IN OUT C20 3 DSM-51 DSM_SM_C.sch System Mikroprocesorowy 8051 2 0 D 1 2 4 5 DSM51 6-Jun-2006 Data: 5 D:\MM\MM_PROT\DSM\DSM51\DSM51_C.SCH Plik: DSM Nr rys.: Dydaktyczny System Mikroprocesorowy DSM-51 Symbol: Tytuł: Komunikacja z użytkownikiem Porty urządzeń zewnętrznych 4 C 1 z 4 Arkusz: REV. A B C D A B C D 11 VCC 100n C25 AHC14 U15E 1n C57 100k AHC14 1 12 U15F 1k R2 BAV99 D53 R12 13 GND GND 10 14 V 7 G RST2 11 R15 C8 AHC14 100n C26 GND U14D 8 GND VCC 100n C17 9 100k 1k USW K2 RESET ROM R6 GND T2Z6V8 4 5 USW K3 1k R5 AHC14 U14C AHC14 U14B P1[0..7] RESET RAM 6 3 1M R27 VCC D5 BAW56 D62 AHC14 BAW56 D61 GND VCC 330 R16 R14 LED3Y D54 AHC14 U14A 13 U14F12 10M 100n 1 2 GND 33P C55 100k R13 10 P14 2 100n C18 P11 P1[0..7] Rk11.059 L1 4 5 6 7 8 9 KF1K WR RD L10 CWIC CRIC IAD IPA IPB 80c32 U1 I/O0 I/O1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7 GAL16V8 1 I/CK 11 I/OE U12 I0 I1 I2 I3 I4 I5 I6 I7 24 25 26 27 28 29 30 31 43 42 41 40 39 38 37 36 35 B14 B15 B9 B10 B11 B12 B13 B8 20 19 18 17 16 15 14 13 12 GND PLCC20 P1 INT0 1k R1 INT1 D0 D1 ALE 11 D1 D2 D3 D4 2 3 4 5 6 D5 7 D6 8 D7 9 D0 D1 D2 D3 D4 3 3 D0 D5 KF1K L29 D6 KF1K L30 D7 KF1K L14 KF1K L21 KF1K L26 KF1K L27 KF1K L28 KF1K L7 33 KF1K L8 ALE 32 KF1K L9 PSEN PSEN P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 Vpp/EA 100n VCC C5 P3.0 RXD P3.1 TXD P3.2 INT0 P3.3 INT1 P3.4 T0 P3.5 T1 P3.6 WR P3.7 RD P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 X2 2 IAD 3 IPA 4 IPB 5 GND IOI 6 IOI 7 VCC IRS 8 IRS 9 KF1K L11 RXD TXD INT0 P17 P12 P13 P14 P15 P16 KF1K P10 2 P11 3 20 100n VCC C4 GND 44 10 RST 21 X1 1k R52 11 RXD 13 TXD 14 INT1 15 P34 16 P34 P35 17 P35 18 19 33P C11 1n 33P C54 C53 X1 GND RST1 22 G RST1 AHC573 U7 LE D0 D1 D2 D3 D4 D5 D6 D7 100n VCC C1 OE Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 10 AHC14 2 20 V B5 B6 B7 B1 B2 B3 B4 B0 GND 1 19 18 17 16 15 14 13 12 GND FCSR A1 A10 A11 A8 A9 A5 A14 A13 A7 100 B12 R78 A12 100 B15 R79 A15 100 CSE R39 FCSE B14 B13 B7 4X100 B6 1R42 A6 B8 B9 B5 4X100 B4 1R41 A4 B11 4X100 B2 1R44 A2 FRDR RDR B3 A3 CSR B1 B10 4X100 B0 1R43 A0 A13 A12 A7 A6 WR A15 A14 4 13 14 15 17 18 19 20 21 I0 I1 I2 I3 I4 I5 I6 I7 LCD I/O0 I/O1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7 LCD PLCC20 VCC CSIO RD A3 A4 A5 GND D[0..7] AHC138 4 E1 5 E2 6 E3 U4 1 A0 2 A1 3 A2 100n Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 VCC C10 AHC138 4 E1 5 E2 6 E3 U3 1 A0 2 A1 3 A2 100n VCC C7 A[0..1] Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 CWDB CW55 CWDS CWAD CWMX CWIC CWDA 15 14 13 12 11 10 9 7 CRKB CR55 CRAD CRIC GND 15 14 13 12 11 10 9 7 GND 11 D0 A0 D0 12 D1 A1 D1 13 D2 A2 D2 15 D3 A3 D3 16 D4 A4 D4 17 D5 A5 D5 18 D6 A6 D6 19 D7 A7 D7 A8 A9 U10 A10 62C256 A11 27 WR A12 WE 22 FRDR A13 OE 20 FCSR A14 CE VCC CSIO WR LCD CSR RDR A4 A5 A3 A[0..15] CSE 20 P2 FCSE CSIO GND 19 18 17 16 15 14 13 12 A6 A7 A8 A9 A10 D6 D7 10 9 8 7 6 5 4 3 25 24 21 23 2 26 1 100n VCC C3 5 CRKB CR55 CRAD CW55 CWDS CWDB CWDA CWAD CWMX D[0..7] Data: 5 C REV. 2 z 4 Arkusz: DSM_SM Nr rys.: D:\MM\MM_PROT\DSM\DSM51\DSM_SM_C.SCH Plik: DSM51 - System mikroprocesorowy Symbol: Dydaktyczny System Mikroprocesorowy DSM-51 Tytuł: GAL16V8 U11 100n PLCC32 P3 VCC C6 32 A1 A2 A3 A4 A5 D1 D2 D3 D4 D5 A11 A12 A13 A14 A0 D0 VCC GND A0 D0 A1 D1 A2 D2 A3 D3 A4 D4 A5 D5 A6 D6 A7 D7 A8 A9 U9 A10 29C512 A11 A12 31 A13 WE 24 A14 OE 22 A15 CE 1 I/CK 11 I/OE 2 3 4 5 6 7 8 9 100n VCC C2 6-Jun-2006 PSEN RST2 RD 12 11 10 9 8 7 6 5 27 26 23 25 4 28 29 3 GND A11 A12 A13 A14 A6 A7 A8 A9 A10 A1 A2 A3 A4 A5 A0 4 16 U14E 7 G 14 V 1 20 G 32 V V V 20 V 10 G 8 G G 10 G 14 G 28 V 16 V 16 V 8 G A B C D A B C P1[0..7] D[0..7] CRKB LCD A[0..1] 1 P1[0..7] D[0..7] A[0..1] USW K17 USW K16 USW K15 USW K14 USW K13 USW K12 USW K11 USW K10 P17 1 2 A1 2 2 AHC14 GND LED3R D55 R17 330 GND T2Z6V8 D46 USW K25 USW K24 USW K23 USW K22 USW K21 USW K20 USW K19 USW K18 AHC125 U13B 220 R63 6 K7 K6 K5 K4 K3 K2 K1 K0 D0 D1 D2 D3 D4 D5 D6 D7 U15A AHC125 U13A 220 R62 3 K7 K6 K5 K4 K3 K2 K1 K0 A0 A1 LCD 4 RS 5 R/W 6 E 3 VO DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 D 4X10K R73 VCC D47 D48 D49 D50 3 2 AHC14 1k U15B R11 4 GND BC847 T4 GND 100n C50 VCC CRKB BUZ14G G1 GND K0 K1 K2 K3 K4 K5 K6 K7 5 T2Z6V8 T2Z6V8 T2Z6V8 T2Z6V8 P15 A0 1 K0 K1 K2 K3 K4 K5 K6 K7 4X10K R72 GND K5 K6 K7 K1 K2 K3 K4 K0 A0 A1 A2 A3 A4 A5 A6 A7 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 12 100n VCC C9 AHC541 1 OE1 19 OE2 U6 GND 4X1K R75 R74 1 4X1K 2 3 4 5 6 1 7 8 9 100n VCC C48 GND AHC125 U13D 11 9 D5 D6 D7 D1 D2 D3 D4 D0 GND 18 17 16 15 14 13 12 11 GND GND 3 AHC125 U13C 8 P16 CWDS CWDB P35 470 D5 D6 D7 D1 D2 D3 D4 D0 2 3 4 5 6 7 8 9 S0 2 3 4 5 D2 6 D1 7 D0 8 9 D6 D5 D4 D3 CWDS 11 GND BC857 T3 100n C51 CWDB 11 GND KF200 L24 R60 GND 220U/16 C19 100n C52 D60 1 G 15 A 16 K 1 GND BC847 T11 L6 100n AHC574 OE OE AHC574 U21 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 CLK D0 D1 D2 D3 D4 D5 D6 D7 S3 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 VCC C47 U20 CLK D0 D1 D2 D3 D4 D5 D6 D7 100n S2 VCC C46 S1 BC807 T26 D58 WL1602 L5 L2 L1 L0 L6 L5 L4 L3 GND 1 19 18 17 16 15 14 13 12 GND GND 1 BC847 T5 R76 19 1 18 4X1K 17 16 15 R77 14 4X1K 13 12 GND S4 S5 D59 V8 D56 LED3R LED3R D71 100n 20 V LED3R 10k BC807 BC807 R5 R6 R7 R1 R2 R3 1R4 R0 4 T12 BC847 BC847 T14 S1 BC847 T15 S2 BC807 T23 BC807 T24 L1 BC847 T9 BC847 T16 S3 BC847 T17 S4 BC847 T18 S5 S0 S1 S2 S3 S4 S5 S6 S7 BC847 L0 P35 L4 L5 220 R40 GND USW K5 USW K4 T2Z6V8 D42 T2Z6V8 D41 USW K9 USW K8 USW K7 USW K6 T2Z6V8 D40 GND 1 GND R38 4X220 R37 L0 4X220 1 L1 L2 L3 T2Z6V8 D43 T2Z6V8 GND D45 T2Z6V8 GND D44 GND GND 2k2 R57 BAV70 D70 BAV70 D69 BAV70 D68 GND R1 GND R2 GND R3 GND R4 GND R5 GND R6 GND R7 GND S7 BC847 T10 T19 S6 BC807 T25 5 6-Jun-2006 5 C REV. 3 z 4 Arkusz: DSM_KU Nr rys.: D:\MM\MM_PROT\DSM\DSM51\DSM_KU_C.SCH Plik: DSM51 - Komunikacja z użytkownikiem Data: Symbol: Dydaktyczny System Mikroprocesorowy DSM-51 Tytuł: R0 T13 BC847 S0 S0 S1 S2 S3 S4 S5 S6 S7 W3 W7A14*3 W7A14*3 BC847 T8 L3 L2 BC847 T7 W2 BC807 T22 L4 BC847 T21 T20 T6 R71 2k2 220/0.25W W1 R70 LED3G 12 A1 9 A2 8 A3 11 7 4 2 1 10 5 3 A B C D E F G DP 220/0.25W VCC R69 4 R68 R61 R26 C49 3 220/0.25W 2 R67 7 8 9 10 11 12 13 14 1 220/0.25W V 4 10 G 14 V 7 G 13 R66 1 10 220/0.25W 12 A1 9 A2 8 A3 A B C D E F G DP 11 7 4 2 1 10 5 3 220/0.25W LED3R 20 20 220/0.25W R65 D57 V V R64 LED3R 10 G 10 G 220/0.25W A B C D A B C D I1k I2k GND O2e O1e 1 3 5 7 9 GND S3 DB9W^ GND DB9W^ S2 100n C43 1 D100/10GK S7 GND 1 6 2 7 3 8 4 9 5 GND 1 6 2 7 3 8 4 9 5 100n C42 2 O1k 4 O2k 6 8 I1a 10 I2a KF220 L19 GND VCC GND 2 PA6 4 PA4 6 PA2 8 PA0 10 PC6 12 PC4 14 PC2 16 PC0 18 PB6 20 PB4 22 PB2 24 PB0 26 S6 GND D100/26GK PA7 1 PA5 3 PA3 5 PA1 7 PC7 9 PC5 11 PC3 13 PC1 15 PB7 17 PB5 19 PB3 21 PB1 23 25 1 GND T2Z6V8 D39 T2Z6V8 D38 100n 1 D65 D66 2k2 R24 R9 1k 2k2 D4 D5 D6 D7 D0 D1 D2 D3 40 CW55 WR 6 CR55 RD 7 CS VCC C16 100n ST202 U8 GND IPA IPB GND 2k2 2 GND 5 VCC VCC GND AHC14 O3 PC357 R56 1k 9 1n U15C GND AHC14 O2 PC357 R8 6 1k 1k 1k R3 GND R4 C58 11 12 10 9 100n U15D C2TTL t1 r1 t2 r2 O1 PC357 R7 8 14 13 7 8 C1RS T1 R1 T2 R2 O4 PC357 R55 R10 1k 2k2 D67 R25 I2k DZ24V I2a I1k DZ24V I1a O2e DZ24V O2k O1e DZ24V 38 37 36 35 33 32 31 30 39 RST1 10 A0 A0 9 A1 A1 D0 D1 D2 D3 D4 D5 D6 D7 RST IntB PC0 GND PC1 PC2 IntA PC3 PC4 PC5 PC6 PC7 U25 82C55 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 KF1K L2 16 17 18 19 15 14 13 11 20 21 22 24 25 26 27 28 5 4 3 2 44 43 42 41 100n C36 C14 2 C15 6 100n 100n V+ VC12 1 C1+ C2+ 4 3 5 C13 100n 4X220 R34 4X220 R33 4X220 R32 4X220 R31 4X220 4X220 D64 Tr18D D4 O1k Tr18D Tr18D C45 R28 PB3 PB41 PB5 PB6 PB7 PB3 PB4 PB5 PB6 PB7 PC41 PC5 PC6 PC7 PB01 PB1 PB2 PB0 PB1 PB2 PC4 PC5 PC6 PC7 PA7 PA7 PC01 PC1 PC2 PC3 PA3 PA41 PA5 PA6 PA3 PA4 PA5 PA6 PC0 PC1 PC2 PC3 4X220 PA1 PA2 R30 R29 PA0 PA1 PA2 D2 D3 GND 100n C44 KF220 L20 VCC GND Tr18D D1 KF1K L3 KF1K L4 KF1K L5 KF1K L6 GND T2Z6V8 D30 T2Z6V8 D31 T2Z6V8 D32 T2Z6V8 D33 T2Z6V8 D34 T2Z6V8 D35 T2Z6V8 D36 T2Z6V8 D37 T2Z6V8 D26 T2Z6V8 D27 T2Z6V8 D28 T2Z6V8 D29 PA01 GND VCC 1n IOI P34 P13 P12 C59 IRS TXD RXD P10 P1[0..7] A[0..1] IOI P34 P1[0..7] IRS TXD RXD IPA IPB CW55 CR55 A[0..1] D[0..7] RST1 3 D[0..7] 3 CWMX CWDA IAD CWAD CRAD V8 1 1 1 KF220 L18 100 R51 4X100 R45 E6 E7 E2 E3 E4 E5 E0 E1 GND AGND GND 100n C38 CWMX CRAD CWDA IAD CWAD 4X100 R47 4X100 D6 D7 D2 D3 D4 D5 D0 D1 R46 11 2 3 4 5 6 7 8 9 OE Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 100n C33 V+ AHC574 CLK U18 D0 D1 D2 D3 D4 D5 D6 D7 C2 C3 C4 C5 C6 C7 C5 C4 C3 C2 C1 C0 11 AGND 2 D0 3 D1 4 D2 5 D3 6 D4 E2 7 D5 E1 8 D6 E0 9 D7 E1 E2 E3 E4 E5 100n AHC574 CLK U19 OE Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 4 VLC B0 B1 B2 B3 B4 B5 B6 B7 U24 AGND AGND 10k X 100n 5 6 C35 AGND 100n C32 R50 100 HC4051 CE X0 X1 X2 X3 X4 X5 X6 X7 100n VV+ C34 9 A0 10 A1 11 A2 6 R49 100n V+C29 V- 131 1 15 2 141 5 12 4 8 AGND 2,3,6,7 22u/10 C63 22 2u2/10 22 I 100n O AGND TPS60403 U17 6-Jun-2006 5 2u2/10 C65 V- 4 z 4 C REV. DZ12V D63 Arkusz: DSM_PZ Nr rys.: D:\MM\MM_PROT\DSM\DSM51\DSM_PZ_C.SCH Plik: DSM51 - Porty Zewnętrzne Data: Symbol: 1 R53 100 AGND 10k AGND VOUT AGND L15 BC857 KF220 T2 R23 R59 C37 BC857 T1 D22 D23 D24 D25 C64 KF1K IN5 IN7 IN1 IN3 100n T2Z6V8 D21 AGND 100n C41 V+ C40 L17 KF220 T2Z6V8 T2Z6V8 T2Z6V8 T2Z6V8 1 R58 L12 2 V+ TLC272 IN OUT 78L05 U27 AGND 2 4 6 8 10 12 14 KF220 L16 D100/14GK S5 R22 10k AGND 1 1 3 AGND 5 IN0 7 IN2 9 IN4 11 IN6 13 AGND 7 U23B 100n IN6 IN7 IN1 IN2 IN3 IN4 IN5 C39 4X220 R36 U23A AGND TLC272 2 3 33P 10k_1% C66 R48 R35 4X220 IN0 AGND AGND 4 C30 100n C31 Comp 7 100n V- 8 Iout 6 Iout AGND U22 X0 X1 X2 3 1 2 10k_1% VRef+ 3 R20 VRef- V+ 5 Dydaktyczny System Mikroprocesorowy DSM-51 Tytuł: AGND 1 19 18 17 16 15 14 X2 13 X1 12 X0 AGND 5 16 15 14 13 12 11 10 9 AGND DAC08 C0 C1 C7 C6 AGND 1 19 18 17 16 15 14 13 12 AGND 4 D0 6 D1 VI+ 7 D2 VID3 9 AGND D4 VRef/2 D5 8 D6 AG D7 AGND 5 19 INT CkR 3 R54 WE 2 4 47k OE Ck 1 C56 CE U26 ADC0804 33P AGND AGND V+ C28 18 17 16 15 14 13 E6 12 E7 11 E0 AGND E1 E0 E5 E4 E3 E2 E7 E6 100n V+ C27 10 2 29 V 8 16 10 20 G V 15 G 20 V G V 16 V+ 8 G 7 V- G 20 V 10 IN0 IN1 3 C- G IN2 IN3 IN4 C+ 5 G 4 8 4 IN5 IN6 IN7 A B C D A B C D 1 3 5 7 9 11 13 15 17 19 21 23 25 1 I2k O1e O2e VCC I1k 1 3 5 7 9 1 3 AGND 5 7 IN0 9 IN2 IN4 11 IN6 13 AGND AGND GND PC1 PB7 PB5 PB3 PB1 PA3 PA1 PC7 PC5 PC3 PA7 PA5 1 2 4 6 8 10 12 14 16 18 20 22 24 26 2 4 6 8 10 12 14 2 4 6 8 10 D100/10W S7 D100/14W S5 D100/26W S3 2 MODEL 26 24 22 20 18 16 14 12 10 8 6 4 2 I2a O1k O2k GND I1a DSM-51 10 8 6 4 2 I2k O1e O2e VCC I1k AGND 10 8 IN0 6 IN2 4 IN4 2 IN6 GND PC1 PB7 PB5 PB3 PB1 PA3 PA1 PC7 PC5 PC3 PA7 PA5 VOUT IN1 IN3 IN5 IN7 dł. 10 cm MODEL MODEL AGND 14 AGND 12 Kabel OPTO dł. 10 cm Kabel ANALOG dł. 10 cm Kabel DIGITAL VCC OUT DSM-51 VCC PC0 PB6 PB4 PB2 PB0 PA2 PA0 PC6 PC4 PC2 PA6 PA4 DSM-51 2 25 23 21 19 17 15 13 11 9 7 5 3 1 13 11 9 7 5 3 1 9 7 5 3 1 D100/10W S8 D100/14W S6 D100/26W S4 I2a O1k O2k GND I1a VOUT IN1 IN3 IN5 IN7 VCC OUT VCC PC0 PB6 PB4 PB2 PB0 PA2 PA0 PC6 PC4 PC2 PA6 PA4 3 3 DB9G S1 1 6 2 7 3 8 4 9 5 4 4 1 6 2 7 3 8 4 9 5 DB9G S2 6-Jun-2006 Data: 5 C REV. 1 z 1 Arkusz: DSM_KS Nr rys.: D:\MM\MM_PROT\DSM\DSM51\DSM_KS_C.SCH Plik: DSM51 - Kable standardowe Symbol: Dydaktyczny System Mikroprocesorowy DSM-51 Tytuł: dł. 1.5 m Kabel RS232 5 A B C D 5.Asembler dsm51ass DSM-51 5.Asembler dsm51ass Program DSM51ASS jest asemblerem mikrokontrolera 8051 przeznaczonym do stosowania przy nauce programowania tego mikrokontrolera z wykorzystaniem Dydaktycznego Systemu Mikroprocesorowego DSM-51. Podstawowe cechy asemblera DSM51ASS: jest makroasemblerem jednoprzebiegowym, komunikaty wypisuje w języku polskim, pozwala asemblować tylko pojedynczy plik wejściowy (nie ma fazy linkowania), asemblowany program moŜe liczyć maksymalnie około 20 000 linii listingu (zaleŜnie od dostępnej pamięci), zezwala na stosowanie rozbudowanych wyraŜeń arytmetycznych o postaci zbliŜonej do wyraŜeń języka C, wszystkie wyraŜenia arytmetyczne liczy na liczbach 32 bitowych ze znakiem, wartości wszystkich symboli pamięta w postaci liczb 16 bitowych bez znaku. Wywołanie programu: DSM51ASS <nazwa> gdzie <nazwa> jest nazwą pliku zawierającego kod źródłowy programu. Jeśli w nazwie nie zawarto rozszerzenia to domyślnie przyjmowane jest rozszerzenie .asm. W wyniku działania programu powstają następujące pliki: <nazwa>.hex - plik zawierający kod wynikowy w formacie Intel HEX. <nazwa>.lst - listing programu 5.1 FORMAT LINII PROGRAMU: Typowa linia programu w asemblerze wygląda następująco: [<etykieta>] [<rozkaz>] [<operandy>] [;<komentarz>] Znaczenie poszczególnych pól linii programu jest następujące: <etykieta> - symbol umieszczony na samym początku linii (pierwszy znak etykiety musi być pierwszym znakiem w linii). Etykieta musi zaczynać się od litery lub znaku podkreślenia '_', i moŜe zawierać dowolną kombinację liter, cyfr i podkreśleń. Jeśli etykieta jest zakończona dwukropkiem to nadawana jest jej wartość określająca jej pozycję w kodzie źródłowym (adres rozkazu z tej linii programu). Etykiety (symbole) stosowane z dyrektywami nadającymi im wartość nie są zakończone dwukropkiem. <rozkaz> - mnemonik kodu maszynowego procesora, dyrektywa asemblera lub makro. <operandy> - informacje wymagane przez mnemonik, dyrektywę asemblera lub makro. Poszczególne operandy są oddzielane przecinkami. <komentarz> - wszystkie znaki występujące po średniku są traktowane jako komentarz i ignorowane przez asembler. Poszczególne pola linii programu muszą być oddzielone między sobą co najmniej jednym znakiem spacji (lub tabulacji). W programie mogą występować puste linie lub linie zawierające wyłącznie komentarz. 5.2 WYRAśENIA ARYTMETYCZNE WyraŜenia arytmetyczne słuŜą do określenia wartości parametrów wymagających podania wartości liczbowej. WyraŜenia składają się ze stałych liczbowych i symboli (etykiety, nazwy stałych lub zmiennych) połączonych operatorami arytmetycznymi. Składnia wyraŜeń asemblera DSM51ASS została zaczerpnięta z języka C. Wprowadzono kilka dodatkowych operatorów stosowanych powszechnie w asemblerach oraz zmieniono priorytet operacji bitowych - są one wykonywane przed operacjami porównań. Operatory porównań dają wartość 1 jeŜeli warunek jest prawdziwy oraz 0 jeŜeli jest fałszywy. © 08/2007 MicroMade Instrukcja Obsługi 3.01 43 DSM-51 5.Asembler dsm51ass Operatory logiczne ( !,&&,|| ) kaŜdą wartość róŜną od zera traktują jako prawdę, a wartość 0 jako fałsz. Jako wynik operacji logicznych równieŜ uzyskujemy wartość 1 lub 0. W asemblerze DSM51ASS wszystkie obliczenia wykonywane są na liczbach 32 bitowych ze znakiem. Oznacza to, Ŝe wartość wyraŜenia jest wyliczona prawidłowo dopóki wyniki pośrednie mieszczą się w zakresie -2,147,483,648 do 2,147,483,647. Przekroczenie tego zakresu w czasie obliczeń nie jest sygnalizowane. Wartości symboliczne uŜywane w programie są przechowywane jako liczby 16 bitowe bez znaku. Asembler kontroluje wartość i typ wyraŜenia. JeŜeli wartość wyraŜenia arytmetycznego wykracza poza zakres dopuszczony dla aktualnego parametru lub typ wyraŜenia jest nieodpowiedni to generowany jest błąd. Stałe liczbowe Stała liczbowa musi zaczynać się od cyfry. DSM51ASS akceptuje następujące typy stałych liczbowych: Typ Dziesiętny Szesnastkowy Ósemkowy Binarny Znakowy Składnia <cyfry> <cyfra><cyfry szesnastkowe>H <cyfry ósemkowe>O <cyfry binarne>B '<znak>' Przykład 125 0FFFFH 7777O 10101B 'A' Symbole Symbole reprezentowane są przez ciąg znaków zaczynający się od litery lub znaku podkreślenia '_' i składający się z dowolnej sekwencji liter, cyfr i podkreśleń. Asembler rozpoznaje pierwsze 32 znaki symbolu. W asemblerze DSM51ASS zdefiniowano standardowe symbole reprezentujące poszczególne rejestry i bity procesora 8051. Poza tym asembler rozpoznaje symbole określające adresy urządzeń systemu DSM-51 i zawartych w jego pamięci EPROM podprogramów standardowych. Listę tych symboli umieszczono w rozdz. 5.5 na str. 48. 5.3 OPERATORY ARYTMETYCZNE Operatory wg priorytetu ich wykonywania: (), Nawiasy !, ~, +, -, <, > Modyfikacje wartości .0, .1, .2, .3, .4, .5, .6, .7 Selekcja bitów *, /, % MnoŜenie, dzielenie +, - Dodawanie, odejmowanie <<, >> Przesunięcia bitowe & Bitowe AND ^ Bitowe XOR | Bitowe OR <, <=, >, >=, =, ==, != Porównania && Logiczne AND || Logiczne OR Znaczenie poszczególnych operatorów Nawiasy () 44 - Nawiasy określają kolejność wykonywania działań. Nie ma ograniczenia liczby zastosowanych zagłębionych nawiasów. Instrukcja Obsługi 3.01 © 08/2007 MicroMade DSM-51 5.Asembler dsm51ass Operatory modyfikujące wartość następującego po nich operandu: ! - Negacja logiczna. Zmienia wartość róŜną od 0 na 0, a wartość równą 0 na 1. ~ - Negacja bitowa. Zmienia wszystkie 32 bity w operandzie na odwrotne. + - Nie zmienia wartości. - - Zmienia znak operandu na przeciwny. < - Najmłodszy bajt operandu ( wyraŜenie '< operand' jest równowaŜne wyraŜeniu '( operand & 0FFH )' lub '( operand % 256 )' ). > - Starsze 3 bajty operandu ( wyraŜenie '> operand' jest równowaŜne wyraŜeniu '( operand >> 8 )' lub '( operand / 256 )'). Operatory selekcji bitów w bitowo adresowalnych rejestrach: .n - Występując po adresie (nazwie) rejestru oblicza adres wskazanego bitu tego rejestru. JeŜeli dany adres nie jest adresem bitowo adresowalnego rejestru sygnalizowany jest błąd. 'n' jest cyfrą z zakresu 0..7. Operatory mnoŜenia i dzielenia: * - MnoŜenie. / - Dzielenie. % - Dzielenie 'modulo' (reszta z dzielenia). Operatory dodawania i odejmowania: + - Dodawanie. - - Odejmowanie. Operatory przesunięć bitowych: << - Przesunięcie w lewo. Operand występujący z lewej strony operatora jest przesuwany w lewo o liczbę bitów określoną przez operand występujący z prawej strony. Na zwalniane bity wchodzą zera. >> - Przesunięcie w prawo. Operand występujący z lewej strony operatora jest przesuwany w prawo o liczbę bitów określoną przez operand występujący z prawej strony. Na zwalniane bity wchodzą zera. Operatory bitowe: & ^ | - AND między bitami operandów. Odpowiedni bit w wyniku ma wartość '1' tylko wtedy, gdy odpowiadające mu bity w obu operandach mają wartość '1'. W pozostałych przypadkach ma wartość '0'. Operacja ta jest wykonywana dla wszystkich 32 bitów. Operand1 Operand2 Wynik 0 0 0 0 1 0 1 0 0 1 1 1 - XOR między bitami operandów. Odpowiedni bit w wyniku ma wartość '1' tylko wtedy, gdy jeden z odpowiadających mu bitów w operandach ma wartość '1', a drugi '0'. W pozostałych przypadkach ma wartość '0'. Operacja ta jest wykonywana dla wszystkich 32 bitów. Operand1 Operand2 Wynik 0 0 0 0 1 1 1 0 1 1 1 0 - OR między bitami operandów. Odpowiedni bit w wyniku ma wartość '1', gdy co najmniej jeden z odpowiadających mu bitów w operandach ma wartość '1'. W przeciwnym przypadku ma wartość '0'. Operacja ta jest wykonywana dla wszystkich 32 bitów. Operand1 0 0 1 1 © 08/2007 MicroMade Operand2 0 1 0 1 Instrukcja Obsługi 3.01 Wynik 0 1 1 1 45 DSM-51 5.Asembler dsm51ass Operatory porównań: < - Mniejszy. Prawda (=1) gdy wartość lewego operandu jest mniejsza od wartości prawego operandu. <= - Mniejszy lub równy. Prawda (=1) gdy wartość lewego operandu jest mniejsza od lub równa wartości prawego operandu. > - Większy. Prawda (=1) gdy wartość lewego operandu jest większa od wartości prawego operandu. >= - Większy lub równy. Prawda (=1) gdy wartość lewego operandu jest większa od lub równa wartości prawego operandu. = - Równy. Prawda (=1) gdy wartość lewego operandu jest równa wartości prawego operandu. == - Równy. Prawda (=1) gdy wartość lewego operandu jest równa wartości prawego operandu. != - RóŜny. Prawda (=1) gdy wartość lewego operandu jest róŜna od wartości prawego operandu. Operatory logiczne: && - AND logiczne. Prawda (=1) gdy oba operandy mają wartości róŜne od zera. || - OR logiczne. Prawda (=1) gdy co najmniej jeden z operandów ma wartość róŜną od zera. 5.4 DYREKTYWY ASEMBLERA W poszczególnych liniach programu oprócz mnemoników oznaczających poszczególne rozkazy procesora mogą wystąpić dyrektywy asemblera. UmoŜliwiają one wstawianie danych w treść programu, przypisywanie wartości symbolom, sterowanie przebiegiem asemblacji i budowanie makr (zestawów poleceń wywoływanych pojedynczą nazwą). Asembler DSM51ASS akceptuje następujące dyrektywy: Dyrektywy danych: DB - wstawienie w kod wartości numerycznych i tekstowych, DW - wstawienie w kod dwubajtowych wartości numerycznych, EQU - definiowanie stałej, BIT - definiowanie stałej typu bit, REG - definiowanie stałej typu rejestr, SET - definiowanie zmiennej. Dyrektywy sterujące: IF - początek bloku warunkowej asemblacji, ELSE - początek alternatywnego bloku warunkowej asemblacji, ENDIF- koniec bloku warunkowej asemblacji, ORG - ustawienie adresu dla następnego bloku kodu, END - koniec programu. Dyrektywy makrodefinicji: MACRO - początek definicji makra, ENDM (MACEND) - koniec definicji makra. Dyrektywy danych DB - wstawienie w kod wartości numerycznych i tekstowych Składnia: [<etykieta>] DB <parametry> Wpisuje w treść programu wartości parametrów. Poszczególne parametry oddzielane są przecinkami. Parametry mogą być wyraŜeniami arytmetycznymi lub ciągami znaków ujętymi w znaki ' lub ". 46 Instrukcja Obsługi 3.01 © 08/2007 MicroMade 5.Asembler dsm51ass DSM-51 Wartości kolejnych parametrów będących wyraŜeniami arytmetycznymi są wpisywane w kolejne bajty treści programu. Parametry będące ciągami znaków są wpisywane w całości do treści programu. W ciągu znaków ujętym w znaki " moŜe wystąpić znak ' i odwrotnie. DW - wstawienie w kod dwubajtowych wartości numerycznych Składnia: [<etykieta>] DW <parametry> Wpisuje w treść programu wartości parametrów. Poszczególne parametry oddzielane są przecinkami. Parametry są wyraŜeniami arytmetycznymi. Wartość kaŜdego parametru jest wpisywana w dwa kolejne bajty treści programu (najpierw starszy). EQU - definiowanie stałej Składnia: <symbol> EQU <wyraŜenie> Symbolowi <symbol> przypisywana jest wartość wyraŜenia. Typ symbolu ustalany jest na podstawie wyraŜenia. KaŜda wartość zdefiniowana dyrektywą EQU jest stałą i nie moŜe być zmieniana w trakcie asemblacji. BIT - definiowanie stałej typu bit Składnia: <symbol> BIT <wyraŜenie> Symbolowi <symbol> przypisywana jest wartość wyraŜenia. Kontroluje typ wyraŜenia. Zdefiniowany symbol moŜe być uŜywany wyłącznie jako adres bitu. Wartość symbolu nie moŜe być zmieniana w trakcie asemblacji. REG - definiowanie stałej typu rejestr. Składnia: <symbol> REG <wyraŜenie> Symbolowi <symbol> przypisywana jest wartość wyraŜenia. Kontroluje typ wyraŜenia. Zdefiniowany symbol moŜe być uŜywany wyłącznie jako adres rejestru wewnętrznego mikrokontrolera lub komórki wewnętrznej pamięci RAM. Wartość symbolu nie moŜe być zmieniana w trakcie asemblacji. SET - definiowanie zmiennej Składnia: <symbol> SET <wyraŜenie> Symbolowi <symbol> przypisywana jest wartość wyraŜenia. Typ symbolu ustalany jest na podstawie wyraŜenia. Wartości zdefiniowane dyrektywą SET mogą być dowolnie wiele razy modyfikowane przez ponowne uŜycie dyrektywy SET. Zmiana typu symbolu w trakcie kolejnego przypisania powoduje wygenerowanie ostrzeŜenia. Dyrektywy sterujące IF - początek bloku warunkowej asemblacji Składnia: IF <wyraŜenie> JeŜeli wartość wyraŜenia jest róŜna od '0' (prawda) to kod występujący za tą dyrektywą jest asemblowany. JeŜeli wartość wyraŜenia jest równa '0' (fałsz) i istnieje dyrektywa ELSE to kod występujący po ELSE jest asemblowany. Dyrektywa ENDIF zamyka blok kodu asemblowanego warunkowo. Dopuszczalne jest zagłębianie dyrektyw IF do 16 poziomów. ELSE - początek alternatywnego bloku warunkowej asemblacji Składnia: ELSE UŜywana w połączeniu z dyrektywą IF. Jeśli wyraŜenie testowane w dyrektywie IF ma wartość '0' to alternatywny kod zaznaczony przez ELSE jest asemblowany. ENDIF - koniec bloku warunkowej asemblacji Składnia: ENDIF Zakończenie bloku warunkowej asemblacji rozpoczętego dyrektywą IF. ORG - ustawienie adresu dla następnego bloku kodu © 08/2007 MicroMade Instrukcja Obsługi 3.01 47 DSM-51 5.Asembler dsm51ass Składnia: ORG <wyraŜenie> Ustawienie adresu dla następującego po tej dyrektywie bloku kodu. Adres dla następnej instrukcji procesora jest ustalany poprzez wyliczenie wartości wyraŜenia. MoŜliwe jest jedynie zwiększanie aktualnego adresu kodu. Próba zmniejszenia adresu jest sygnalizowana jako błąd. Standardowo kod programu jest umieszczany rozpoczynając od adresu 0. END - koniec programu Składnia: END Zaznaczenie końca programu. Linie występujące w pliku źródłowym po tej dyrektywie nie są asemblowane. UŜycie tej dyrektywy w programie nie jest konieczne. Przy jej braku końcem programu jest koniec pliku. Dyrektywy makrodefinicji MACRO - początek definicji makra Składnia: <Nazwa> MACRO <parametry> Makro to zestaw instrukcji asemblera. Ciąg instrukcji występujący po linii zawierającej dyrektywę MACRO, aŜ do najbliŜszej dyrektywy ENDM, tworzy makro o nazwie <Nazwa>. Po zdefiniowaniu cały taki zestaw moŜe być włączony w kod źródłowy programu poprzez wywołanie makra. W treści makr mogą występować bez ograniczeń wywołania innych makr, ale nie moŜe wystąpić definicja innego makra. Próba wywołania przez makro samego siebie (lub innego zapętlenia wywoływań prowadzącego do nieskończonego rozwijania makr) jest wykrywana i sygnalizowana jako błąd. Parametry to oddzielone przecinkami symbole (parametry formalne makra), które mogą być wykorzystywane w treści makra. Makro jest wywoływane poprzez umieszczenie jego nazwy w polu rozkazu danej linii programu. Przy wywołaniu podawane są parametry aktualne makra. W czasie wstawiania makra w kod programu asembler zastępuje wszystkie parametry formalne parametrami aktualnymi. Asembler nie umoŜliwia tworzenia etykiet lokalnych w makrach. Jeśli występuje taka potrzeba to moŜna podawać etykietę (lub jej fragment) jako jeden z parametrów makra. Jest to moŜliwe, gdyŜ zastępowanie parametrów formalnych parametrami aktualnymi odbywa się na drodze podmieniania tekstów przed asemblacją linii programu. Teksty te są podmieniane niezaleŜnie od tego, czy występują w etykiecie, nazwie mnemonika, czy w treści operandu. ENDM (MACEND) - koniec definicji makra. Składnia: ENDM Dyrektywa ENDM kończy definicję makra. Alternatywną nazwą tej dyrektywy jest MACEND. 5.5 PREDEFINIOWANE SYMBOLE Rejestry funkcji specjalnych: Symbol ACC B PSW SP DPTR DPL DPH P0 P1 P2 48 Nazwa (opis) akumulator rejestr B rejestr stanu wskaźnik stosu dwubajtowy wskaźnik danych młodszy bajt starszy bajt Port 0 Port 1 Port 2 Instrukcja Obsługi 3.01 Adres 0E0H 0F0H 0D0H 81H 82H 83H 80H 90H 0A0H © 08/2007 MicroMade DSM-51 5.Asembler dsm51ass Symbol P3 IP IE TMOD TCON TH0 TL0 TH1 TL1 SCON SBUF PCON Nazwa (opis) Port 3 rejestr kontroli priorytetów przerwań rejestr zezwoleń na przerwania timery - tryby pracy timery - sterowanie timer 0 starszy bajt timer 0 młodszy bajt timer 1 starszy bajt timer 1 młodszy bajt sterownie transmisją szeregową bufory transmisji szeregowej sterowanie trybami 'power down' Adres 0B0H 0B8H 0A8H 89H 88H 8CH 8AH 8DH 8BH 98H 99H 87H Bity adresowalne bezpośrednio Symbol © 08/2007 MicroMade P OV RS0 RS1 F0 AC CY Nazwa (opis) PSW.0 PSW.2 PSW.3 PSW.4 PSW.5 PSW.6 PSW.7 Adres 0D0H 0D2H 0D3H 0D4H 0D5H 0D6H 0D7H RXD TXD INT0 INT1 T0 T1 WR RD P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 0B0H 0B1H 0B2H 0B3H 0B4H 0B5H 0B6H 0B7H PX0 PT0 PX1 PT1 PS IP.0 IP.1 IP.2 IP.3 IP.4 0B8H 0B9H 0BAH 0BBH 0BCH EX0 ET0 EX1 ET1 ES EA IE.0 IE.1 IE.2 IE.3 IE.4 IE.7 0A8H 0A9H 0AAH 0ABH 0ACH 0AFH IT0 IE0 IT1 IE1 TR0 TF0 TR1 TF1 TCON.0 TCON.1 TCON.2 TCON.3 TCON.4 TCON.5 TCON.6 TCON.7 88H 89H 8AH 8BH 8CH 8DH 8EH 8FH RI TI RB8 TB8 REN SM2 SM1 SM0 SCON.0 SCON.1 SCON.2 SCON.3 SCON.4 SCON.5 SCON.6 SCON.7 98H 99H 9AH 9BH 9CH 9DH 9EH 9FH Instrukcja Obsługi 3.01 49 DSM-51 5.Asembler dsm51ass Urządzenia systemu DSM-51 Przedstawione poniŜej adresy urządzeń systemu DSM-51 dotyczą adresowania 8-bitowego (@Ri) przy załoŜeniu, Ŝe port P2 jest ustawiony na 0FFH. Przy adresowaniu poprzez rejestr DPTR naleŜy dodać wartość 0FF00H. Symbol CSIC CSDA CSAD CSMX CSKB0 CSKB1 CS55A CS55B CS55C CS55D CSDS CSDB CSMOD LCDWC LCDWD LCDRC LCDRD CSX Nazwa (opis) sterownik przerwań przetwornik cyfrowo/analogowy przetwornik analogowo/cyfrowy multiplekser analogowy klawiatura matrycowa, klawisze 0..7 klawiatura matrycowa, klawisze 8.. układ 8255 rejestr portu A układ 8255 rejestr portu B układ 8255 rejestr portu C układ 8255 rejestr sterujący wyświetlacz 7-segm, wybór wskaźnika wyświetlacz 7-segm, bufor danych dekoder adresów (przełączanie trybu) wyświetlacz LCD, wpis rozkazów wyświetlacz LCD, wpis danych wyświetlacz LCD, odczyt stanu wyświetlacz LCD, odczyt danych zewnętrzna magistrala systemowa Adres 00H 08H 10H 18H 21H 22H 28H 29H 2AH 2BH 30H 38H 40H 80H 81H 82H 83H 0C0H Podprogramy standardowe w pamięci EPROM systemu DSM-51 Symbol WRITE_TEXT WRITE_DATA WRITE_HEX WRITE_INSTR LCD_INIT LCD_OFF LCD_CLR DELAY_US DELAY_MS DELAY_100MS WAIT_ENTER WAIT_ENTER_NW TEST_ENTER WAIT_ENT_ESC WAIT_KEY GET_NUM BCD_HEX HEX_BCD MUL_2_2 MUL_3_1 DIV_2_1 DIV_4_2 50 Nazwa (opis) wypisanie tekstu na LCD wypisanie znaku na LCD wypisanie liczby hex na LCD wysłanie rozkazu do LCD inicjalizacja LCD wygaszenie LCD ustawienie w stan początkowy opóźnienie (2*A+6)*12/11.059 us opóźnienie A ms opóźnienie A * 100ms "PRESS ENTER." i czeka na ENTER czekanie na klawisz ENTER sprawdzenie klawisza ENTER czekanie na ENTER lub ESC czekanie na dowolny klawisz wczytanie liczby BCD (4 cyfry) zamiana BCD na HEX zamiana HEX na BCD mnoŜenie liczb 2 bajtowych mnoŜenie 3bajty * 1bajt dzielenie 2bajty / 1bajt dzielenie 4bajty / 2bajty Instrukcja Obsługi 3.01 Adres 8100H 8102H 8104H 8106H 8108H 810AH 810CH 810EH 8110H 8112H 8114H 8116H 8118H 811AH 811CH 811EH 8120H 8122H 8124H 8126H 8128H 812AH © 08/2007 MicroMade 6.Modele urządzeń DSM-51 6.Modele urządzeń M-01 - SKRZYśOWANIE Przeznaczenie modelu Model M-01 przedstawia sygnalizację świetlną na typowym skrzyŜowaniu. Model wykonany jest w postaci płytki drukowanej, na której namalowano układ jezdni i przejść dla pieszych. Rolę świateł pełnią kolorowe diody świecące. Model umoŜliwia przetestowanie róŜnych metod sterowania wieloma elementami w zadanej sekwencji czasowej. Prawidłowe wykorzystanie modelu wymaga opanowania następujących elementów: sterowanie układem 8255, odmierzanie czasu w programie, wykorzystanie timerów, inicjalizowanie i obsługa przerwań od timerów. W pliku DSM-51\Modele\M01\m01.txt są zebrane propozycje zadań do wykonania z wykorzystaniem modelu M-01. Budowa i zasada działania © 08/2007 MicroMade Instrukcja Obsługi 3.01 51 DSM-51 6.Modele urządzeń Model sterowany jest za pośrednictwem złącza wejść/wyjść cyfrowych. Porty A i B układu 8255 powinny być ustawione jako porty wyjściowe pracujące w trybie 0. Linie portu A sterują światłami dla pieszych, natomiast linie portu B światłami dla samochodów. Przyporządkowanie poszczególnych świateł do odpowiednich linii układu 8255 moŜna odczytać ze schematu blokowego. Stan 0 na odpowiedniej linii układu 8255 powoduje zapalenie odpowiadających mu świateł. Oprogramowanie Przykładowy program (skrzyz.asm) demonstrujący sposób wykorzystania modelu M-01. Program ustawia, w odpowiednich odstępach czasu, 8 kolejnych stanów świateł na skrzyŜowaniu: 1 - przejazd samochodów poziomo (i przejście poziomo pieszych) 2 - zmiana świateł - Ŝółte dla samochodów jadących poziomo - zielone mrugające dla pieszych 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 pionowo pieszych) 6 - zmiana świateł - Ŝółte dla samochodów jadących pionowo - zielone mrugające dla pieszych 7 - zmiana świateł - czerwone dla samochodów jadących pionowo - czerwone dla pieszych 8 - zmiana świateł - czerwone z Ŝółtym dla samochodów w poziomie Jednocześnie na wyświetlaczu LCD wypisuje aktualny stan świateł na skrzyŜowaniu. 52 Instrukcja Obsługi 3.01 © 08/2007 MicroMade A B C D 1 1 PA7 PA5 PA3 PA1 PC7 PC5 PC3 PC1 PB7 PB5 PB3 PB1 R38 R36 R34 10k 10k 10k GND R32 R30 10k 10k 26 24 22 20 18 16 14 12 10 8 6 4 2 25 23 21 19 17 15 13 11 9 7 5 3 1 100u/16 C1 D100/26GK S1 R37 R35 R33 R31 R29 GND 10k 10k 10k 10k 10k VCC PA6 PA4 PA2 PA0 PC6 PC4 PC2 PC0 PB6 PB4 PB2 PB0 GND PA0 PA1 PA2 PA3 PA0 PA1 PA2 PA3 GND PB3 PB4 PB5 PB2 PB1 PB0 A0 A1 A2 A3 A4 A5 A6 A7 100n VCC C2 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 A0 A1 A2 A3 A4 A5 A6 A7 100n C3 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 2 1 OE1 19 U2 OE2 AHC541 2 3 4 5 6 7 8 9 VCC 1 OE1 19 U1 OE2 AHC541 2 3 4 5 6 7 8 9 2 10 G 20 V 20 V 10 G 18 17 16 15 14 13 12 11 GND 18 17 16 15 14 13 12 11 D15 R22 470 D22 470 R21 LED1206R 470 D16 D23 470 470 R23 D17 D24 470 3 470 R24 D25 470 470 R25 D19 D26 470 470 R26 D27 470 470 R27 470 R28 D28 470 R10 D10 LED1206Y VCC LED1206G R20 D20 VCC 470 R9 D9 LED1206Y LED1206G LED1206G R19 470 R8 D8 LED1206R LED1206G LED1206G R18 470 R7 D7 LED1206R LED1206G LED1206G R17 470 R6 D18 VCC LED1206G D6 LED1206G LED1206R R16 470 R5 LED1206G D5 LED1206R LED1206R R15 470 R4 LED1206Y D4 LED1206R LED1206R D21 470 R14 470 D14 LED1206R R13 470 R3 LED1206Y D3 LED1206R D13 470 R2 LED1206R R1 470 D2 LED1206R GND D1 3 470 R11 D11 LED1206G 4 4 DSM-51 Skrzyżowanie 9-May-2007 Data: 5 D:\MM\MM_PROT\DSM\M01\DM01_D.SCH Plik: Model M01 Symbol: Tytuł: 470 R12 D12 LED1206G VCC 5 DM01 Nr rys.: D 1 z 1 Arkusz: REV. A B C D DSM-51 6.Modele urządzeń M-02 - TESTER DIOD I TRANZYSTORÓW Przeznaczenie modelu Model M-02 jest przystawką do Dydaktycznego Systemu Mikroprocesorowego DSM-51 umoŜliwiającą zdejmowanie charakterystyk prądowo-napięciowych diod półprzewodnikowych (równieŜ diod Zenera w kierunku przewodzenia i zaporowym) oraz rodziny charakterystyk wyjściowych tranzystorów n-p-n. Przystawka nie jest precyzyjnym miernikiem parametrów diod i tranzystorów. Stanowi natomiast doskonały przykład moŜliwości wykorzystania Dydaktycznego Systemu Mikroprocesorowego DSM-51 do wykonywania serii pomiarów. W celu samodzielnego uzyskania charakterystyki badanego elementu na ekranie monitora niezbędne jest opanowanie następujących zagadnień: sterowanie układu 8255, sterowanie przetwornika C/A, pomiary z wykorzystaniem przetwornika A/C, przesyłanie danych po łączu RS232, wyświetlanie charakterystyk w oknie systemu Windows. W pliku DSM-51\Modele\M02\m02.txt są zebrane propozycje zadań do wykonania z wykorzystaniem modelu M-02. Budowa i zasada działania 54 Instrukcja Obsługi 3.01 © 08/2007 MicroMade 6.Modele urządzeń DSM-51 Poszukiwana charakterystyka to zaleŜność płynącego przez element prądu od panującego na nim napięcia. System DSM-51 nie ma wejść umoŜliwiających bezpośredni pomiar prądu. W przystawce pomiar płynącego przez element prądu wykonywany jest poprzez pomiar spadku napięcia na rezystorze włączonym w szereg z badanym elementem. Model M-02 jest sterowany przez system DSM-51 za pośrednictwem dwu złącz: złącza wejść/wyjść cyfrowych oraz złącza wejśc/wyjść analogowych. Badany element zasilany jest z wyjścia przetwornika C/A systemu DSM-51 poprzez rezystor 200 Ω. Napięcia z obu końców rezystora podane są do wejść analogowych (IN0, IN1) przetwornika A/C systemu. Pomiar tych dwu napięć pozwala ustalić zarówno napięcie panujące na badanym elemencie jak i płynący przez ten element prąd. Rodzina charakterystyk wyjściowych tranzystora to zestaw charakterystyk prądowo-napięciowych złącza kolektor-emiter przy róŜnych wartościach prądu bazy. Pomiar tej rodziny charakterystyk jest moŜliwy dzięki umieszczeniu na przystawce sterowanego źródła prądowego zasilającego bazę badanego tranzystora. Prąd źródła jest sterowany liniami PA0...PA3 układu 8255 za pośrednictwem prostego 4-bitowego przetwornika C/A umieszczonego na przystawce. Port A układu 8255 powinien pracować jako port wyjściowy w trybie 0. Prąd bazy tranzystora wynosi 0, gdy wszystkie 4 linie sterujące są w stanie 0. KaŜdy wzrost podanej na port A wartości liczbowej o 1 powoduje wzrost prądu bazy o ok. 10 µA. Maksymalną wartość prądu bazy uzyskuje się, gdy wszystkie linie (PA0...PA3) są ustawione w stan 1 (wartość liczbowa = 15). Prąd bazy wynosi wtedy ok. 150 µA. Pomiar charakterystyki polega na wpisywaniu kolejnych wartości (od 0 do 255) do przetwornika C/A i mierzeniu napięć panujących na wejściach IN0 i IN1. W ten sposób uzyskuje się kolejne punkty badanej charakterystyki napięciowo-prądowej. Jeśli, odczytane z przetwornika A/C, liczby wynoszą odpowiednio N0 i N1, to wartość napięcia panującego na badanym elemencie i płynącego prądu moŜna uzyskać ze wzorów: U = ( N1 / 255 ) * 5 V I = {[ ( N0 - N1 ) / 255 ] * 5V } / 200 Ω Oprogramowanie Przykładowe programy (dioda.asm i tranzyst.asm) demonstrujące sposób wykorzystania modelu M-02 znajdują się w katalogu DSM-51\Modele\M02. Programy te uruchamiane w systemie DSM-51 współpracują z programami Dioda.exe i Tranzystor.exe uruchamianymi na komputerze. Kody źródłowe tych programów (Dioda.cpp i tranzystor.cpp) znajdują się w katalogu DSM-51\Modele\MO2\Source. Program dioda.asm mierzy charakterystykę diody (lub innego elementu 2 końcówkowego). Dla kaŜdego punktu pomiarowego wykonywane są pomiary dwóch napięć: napięcia na wyjściu przetwornika C/A, napięcia na badanym elemencie. Wyniki pomiarów przesyłane są przez łącze RS232 do komputera. Program na komputerze przelicza wyniki (oblicza prąd na podstawie spadku napięcia na rezystorze włączonym w szereg z mierzonym elementem) i wykreśla na ekranie zmierzoną charakterystykę. Program tranzyst.asm mierzy rodzinę charakterystyk tranzystora dla 8 prądów bazy. Dla kaŜdego punktu pomiarowego wykonywane są pomiary dwóch napięć: napięcia na wyjściu przetwornika C/A, napięcia na badanym elemencie. Wyniki pomiarów przesyłane są przez łącze RS232 do komputera. Program na komputerze przelicza wyniki i wykreśla na ekranie rodzinę charakterystyk tranzystora. Aby uruchomić odpowiednią parę programów naleŜy: Do systemu DSM-51 przesłać program dioda.hex lub tranzyst.hex i uruchomić go. Na komputerze uruchomić odpowiedni program Dioda.exe lub Tranzystor.exe. Programy te czekają na dane wysłane z DSM-51 i po ich odebraniu przedstawiają wyniki w postaci wykresów. Umieścić diodę lub tranzystor w podstawce modelu M-02. Nacisnąć klawisz [Enter] (klawiatury 2 x 8) systemu DSM-51. Spowoduje to wykonanie przez DSM-51 pomiarów charakterystyki badanego elementu i przesłanie ich przez złącze COM1 systemu do komputera. Aby zmierzyć inny element naleŜy po jego umieszczeniu w podstawce ponownie nacisnąć klawisz [Enter] systemu DSM-51. Nowa charakterystyka zostanie zmierzona i przesłana, a program na komputerze automatycznie ją wykreśli. © 08/2007 MicroMade Instrukcja Obsługi 3.01 55 A B C 1 PA7 PA5 PA3 PA1 PC7 PC5 PC3 PC1 PB7 PB5 PB3 PB1 GND 26 24 22 20 18 16 14 12 10 8 6 4 2 25 23 21 19 17 15 13 11 9 7 5 3 1 D100/26GK S1 PA6 PA4 PA2 PA0 PC6 PC4 PC2 PC0 PB6 PB4 PB2 PB0 PA3 PA2 PA1 PA0 10k 2 R22 10k R21 10k R20 10k R19 2 12 13 VCC 4 5 9 10 1 2 AHC00 U1B AHC00 U1C AHC00 U1A 11 6 8 3 AHC00 20K_1% R4 20K_1% R3 20K_1% R2 10k_1% R11 R10 10k_1% 10k_1% R13 20K_1% R12 VCC 20K_1% R1 GND U1D 100n C1 14 V 7 G D 1 10k_1% R5 100k R14 10k_1% R6 VCC 3 3 5 6 LM358D U2B 7 100n V8 C3 8 4 GND GND BC857 T1 1 2 3 10k_1% R7 VCC DIP6P S3 6 5 4 GND 100/0.25W R9 100/0.25W R8 GND 1k R17 1k 4 13 11 OUT 9 7 IN1 5 3 1 1k R18 C4 VCC C2 V8 GND 100u/16 GND 100u/16 DSM-51 Tester diod i tranzystorów 9-May-2007 Data: 5 5 D:\MM\MM_PROT\DSM\M02\DM02_D.SCH Plik: Model M02 Symbol: Tytuł: D100/14GK S2 3 2 14 12 10 8 6 4 2 LM358D U2A R16 IN0 10k GND R15 1 4 DM02 Nr rys.: D 1 z 1 Arkusz: REV. A B C D 6.Modele urządzeń DSM-51 M-03 - LICZNIK OBIEKTÓW Przeznaczenie modelu Model M-03 jest przystawką do Dydaktycznego Systemu Mikroprocesorowego DSM-51. Przystawka ta, zawierająca fotokomórkę, przeznaczona jest do liczenia przesuwających się obiektów. Dzięki zastosowaniu dwóch fotodiod umieszczonych naprzeciw diody emitującej promieniowanie podczerwone, moŜliwe jest określenie nie tylko liczby obiektów przecinających wiązkę promieniowania, ale takŜe kierunku ich ruchu. Zastosowane w modelu układy róŜniczkujące, generujące krótkie impulsy w momencie zasłaniania i odsłaniania kaŜdej z fotodiod, umoŜliwiają obsługę przystawki z wykorzystaniem przerwań. Diody emitujące promieniowanie podczerwone wymagają zazwyczaj zasilania stosunkowo duŜym prądem. System mikroprocesorowy moŜe decydować o zapaleniu i zgaszeniu diody nadawczej w przystawce. UmoŜliwia to pisanie programów oszczędnie gospodarujących energią (ma to szczególne znaczenie w przypadku aplikacji zasilanych z baterii). W pliku DSM-51\Modele\M03\m03.txt są zebrane propozycje zadań do wykonania z wykorzystaniem modelu M-03. Budowa i zasada działania Przystawka podłączana jest do złącza wejść/wyjść cyfrowych systemu DSM-51. D4 Tor T1 D2 D3 Tor T2 D5 Porty A i B układu 8255 powinny (choć nie są tutaj wykorzystane) być ustawione w tryb 0. Przy takim ustawieniu port C pełni rolę zwykłego bufora podłączonego do szyny mikrokontrolera. Starsza część portu C (PC4..7) powinna być ustawiona jako wyjście, natomiast młodsza część (PC0..3) jako wejście. © 08/2007 MicroMade Instrukcja Obsługi 3.01 57 DSM-51 6.Modele urządzeń Dioda D1, emitująca promieniowanie podczerwone, jest sterowana linią PC4 tego złącza. Stan logiczny 0 występujący na tej linii, po wzmocnieniu (4 inwertery układu 74HC14), włącza diodę D1. Promieniowanie z diody dociera do fotodiod D2 i D3 powodując ich przewodzenie. Sygnał z kaŜdej z fotodiod jest wzmacniany przez negator z wejściem Schmitta (74HC14). Stan z wyjścia negatora podawany jest na odpowiednią linię układu 8255 w systemie DSM-51 oraz steruje diodą świecącą umieszczoną obok fotodiody. Informacja o stanie fotodiody D2 moŜe być odczytana na linii PC1, a fotodiody D3 na linii PC2. Stan 0 na odpowiedniej linii (i świecenie odpowiedniej diody) oznacza, Ŝe fotodioda nie jest oświetlona promieniami podczerwonymi (jest zasłonięta lub dioda D1 nie jest włączona). Dodatkowo sygnały z wyjść negatorów podawane są na układy róŜniczkujące generujące dodatnie impulsy przy kaŜdorazowej zmianie stanu tych sygnałów. Te impulsy podawane są odpowiednio na linie PC0 (dla D2) i PC3 (dla D3). Linie te są włączone w system przerwań w DSM-51 umoŜliwiając przerwaniową obsługę kaŜdej zmiany stanu fotodiod. Oprogramowanie Przykładowy program (licznik.asm) demonstrujący sposób wykorzystania modelu M-03 znajduje się w katalogu MODELE\M03 na dyskietce systemu DSM-51. Program liczy obiekty przesuwające się przez model M-03. Obiekty przesuwające się z góry na dół są dodawane do licznika. Obiekty przesuwające się z dołu do góry są odejmowane od licznika. Program liczy tylko obiekty duŜe, które w czasie przesuwania się przesłaniają w jakimś momencie oba tory podczerwieni jednocześnie. Obiekty małe, które ani na chwilę nie przesłaniają obu torów podczerwieni jednocześnie, są uznawane za zakłócenia. Liczba obiektów jest wyświetlana na wyświetlaczu LCD jako liczba szesnastkowa bez znaku. 58 Instrukcja Obsługi 3.01 © 08/2007 MicroMade A B C 1 PA7 PA5 PA3 PA1 PC7 PC5 PC3 PC1 PB7 PB5 PB3 PB1 GND 26 24 22 20 18 16 14 12 10 8 6 4 2 25 23 21 19 17 15 13 11 9 7 5 3 1 D100/26GK S1 VCC GND 100u/16 C5 PA6 PA4 PA2 PA0 PC6 PC4 PC2 PC0 PB6 PB4 PB2 PB0 10k PC4 R12 100n 1 VCC C7 2 2 AHC14 U1A 2 14 V 7 G D 1 GND 9 5 3 AHC14 U1D AHC14 U1C AHC14 U1B 8 6 4 330 R3 330 R2 330 R1 VCC LED5I D1 GND SHH1 P1 P2 3 P3 SHH1 SHH1 3 47k R18 GND 47k R17 GND 10 U1E GND 100n C9 BC847 AHC14 T2 11 4k7 R7 GND SFH203 D3 12 U1F GND 100n C8 BC847 AHC14 T1 13 4k7 GND SFH203 D2 R4 D4 D5 330 R11 LED1206R VCC 330 R10 LED1206R VCC 12 13 1 2 AHC132 U2D 220p 3 10k VCC 220p C2 220p C4 R8 11 C3 AHC132 U2A 220p C1 10k R5 VCC 4 4 4 5 10 9 AHC132 U2C AHC132 U2B GND 220 8 R16 PC3 220 R15 PC2 220 6 R14 PC0 100n VCC C6 220 R13 PC1 9-May-2007 Data: 5 5 D:\MM\MM_PROT\DSM\M03\DM03_D.SCH Plik: Model M03 Symbol: DSM-51 Licznik obiektów Tytuł: 10k R9 10k R6 14 V 7 G DM03 Nr rys.: D 1 z 1 Arkusz: REV. A B C D DSM-51 6.Modele urządzeń M-04 - ZEGAR CZASU RZECZYWISTEGO Uwaga! Model wycofany z produkcji. W zastępstwie wprowadzono model M-13 – Zegar Czasu Rzeczywistego I²C. Przeznaczenie modelu Model M-04 jest przystawką do Dydaktycznego Systemu Mikroprocesorowego DSM-51 pełniącą funkcję zegara czasu rzeczywistego. Zegar czasu rzeczywistego (Real Time Clock), to nic innego jak zwykły zegar, którego zadaniem jest podawanie mikroprocesorowi aktualnego czasu. Zegar ten powinien prawidłowo liczyć czas nawet po wyłączeniu zasilania systemu mikroprocesorowego, tak aby po jego ponownym włączeniu procesor mógł się od razu dowiedzieć o aktualny czas (rok, miesiąc, dzień, godzina, minuta, sekunda, setna (tysięczna) część sekundy). Zegary czasu rzeczywistego wykonywane są w postaci specjalizowanych układów scalonych, które są tak konstruowane aby pobierały jak najmniej prądu i pracowały poprawnie przy niskich napięciach zasilających. Pozwala to na stosowanie pojedynczej miniaturowej baterii do ich zasilania, nawet, gdy wymagana jest nieprzerwana praca zegara przez wiele lat. W modelu zastosowano typowy, produkowany przez wielu producentów, układ zegara czasu rzeczywistego RTC58321. Układ ten oprócz ustawienia i odczytu czasu ma moŜliwość generowania przerwań do mikroprocesora w określonych odstępach czasu. W pliku DSM-51\Modele\M04\m04.txt są zebrane propozycje zadań do wykonania z wykorzystaniem modelu M-04. Budowa i zasada działania Model podłączany jest do złącza wejść/wyjść cyfrowych systemu DSM-51. 60 Instrukcja Obsługi 3.01 © 08/2007 MicroMade DSM-51 6.Modele urządzeń Układ RTC 58321 w modelu M-04 jest zasilany z systemu DSM-51 (napięcie VCC). W przypadku braku tego napięcia zasilanie przejmuje bateria. Zastosowana bateria zapewnia nieprzerwaną pracę układu przez ponad rok. MoŜliwość odłączania baterii na czas przechowywania modelu pozwala na znaczne wydłuŜenie czasu eksploatacji modelu. RTC58321 zawiera szereg rejestrów. Funkcje poszczególnych rejestrów zebrano w tabeli. Adres 0H 1H 2H 3H 4H 5H 6H 7H 8H 9H AH BH CH DH Nazwa S1 S10 MI1 MI10 H1 H10 Zakres 0…9 0…5 0…9 0…5 0…9 0…2 W D1 D10 *) MO1 MO10 Y1 Y10 0…6 0…9 0…3 0…9 0…1 0…9 0…9 E..FH Opis jednostki sekund dziesiątki sekund jednostki minut dziesiątki minut jednostki godzin dziesiątki godzin (bity 0 i 1) bit 2: 0 = AM, 1 = PM bit 3: 0 = zegar 12 h, 1 = zegar 24 h dzień tygodnia jednostki dnia miesiąca dziesiątki dnia miesiąca (bity 0 i 1) jednostki miesięcy dziesiątki miesięcy jednostki lat dziesiątki lat Zerowanie dzielnika częstotliwości 1/32768 i układu BUSY. Są one zerowane po wpisaniu tego adresu, gdy na linii WR pojawi się stan 1.. Podanie sygnałów zegarowych na wyjście D0…D3. Następuje to po wpisaniu tego adresu, gdy na linii RD pojawia się stan 1. *) Bity 2 i 3 określają sposób wybierania lat przestępnych: Kalendarz Gregoriański Showa b3 0 0 1 1 b2 0 1 0 1 Reszta z dzielenia nr roku przez 4 0 3 2 1 Komunikacja z układem RTC 58321 odbywa się po 4-bitowej dwukierunkowej szynie danych, po której przesyłane są adresy i dane. Jest to jednak zupełnie inna szyna niŜ w mikrokontrolerze 8051 i dlatego model ten jest podłączony do złącza wejść/wyjść cyfrowych. Do wystawienia danych na szynę wykorzystuje się port A układu 8255, a do odczytu port B. Oba te porty powinny pra cować w trybie 0 - port A jako wyjście, port B jako wejście. Bit 4 portu A ustawiony na 0 powoduje wysterowanie szyny przez młodszą część tego portu, natomiast ustawiony na 1 pozwala na wysterowanie szyny przez zegar czasu rzeczywistego. Starsza część portu C powinna być ustawiona jako wyjście (linia sterująca do układu RTC 58321), natomiast młodsza część jako wejście - pozwala to na wykorzystanie systemu przerwań w DSM-51. Sygnały CS1 i CS2 uaktywniają komunikację z układem. Oba te sygnały muszą być w stanie 1, aby moŜliwe było zapisywanie i odczytywanie rejestrów układu zegara. Cykl zapisu danych do jednego z rejestrów układu składa się z dwu operacji: zapis adresu, zapis danych. Adres rejestru podany na linie D0...D3 jest wpisywany do układu dodatnim impulsem na linii Adres WR. Następnie dane, podane równieŜ na linie D0...D3, są wpisywane do wybranego rejestru dodatnim impulsem na linii WR. ZaleŜności czasowe cyklu zapisu danych przedstawione są na rysunku. Cykl odczytu zawartości rejestru przebiega równieŜ dwuetapowo: zapis adresu, odczyt danych. Zapis adresu przebiega identycznie jak w cyklu zapisu danych, natomiast do odczytu danych słuŜy linia RD. Dodatni impuls na tej linii powodu- © 08/2007 MicroMade Instrukcja Obsługi 3.01 61 DSM-51 6.Modele urządzeń je podanie przez układ zegara zawartości wybranego rejestru na szynę danych. ZaleŜności czasowe cyklu odczytu danych przedstawione są na rysunku. Cykl zapisu danych Cykl odczytu danych Linia TEST w czasie normalnej pracy zegara powinna być w stanie 0. Linia STOP pozwala na wstrzymanie pracy zegara. Prawidłowy zapis nowych danych do rejestrów moŜna zagwarantować przez ustawienie linii STOP w stan 1 a następnie kolejne wpisanie danych, zaczynając od najmłodszych. Linia STOP nie wstrzymuje pracy dzielnika, który dzieli częstotliwość 32768 Hz, uzyskaną z wewnętrznego generatora wzorcowego, przez 215. Linia ta jedynie nie przepuszcza dalej impulsów 1 Hz występujących na wyjściu tego dzielnika. Dlatego po ustawieniu linii STOP na 0 (wznowienie pracy zegara), przyrost czasu zegara o 1s moŜe nastąpić z dowolnym opóźnieniem w zakresie 0...1s. Wyzerowanie dzielnika wytwarzającego impulsy 1 Hz moŜna uzyskać wpisując do układu RTC 58321 adres DH (patrz tabela) i ustawiając linię WR w stan 1. Linia BUSY informuje o momentach zmiany stanów wewnętrznych rejestrów. Na linii tej co 1s pojawia się ujemny impuls trwający 427 µs. Zmiana stanów rejestrów rozpoczyna się po upływie 244 µs od przedniego zbocza impulsu BUSY. Koniec impulsu BUSY oznacza, Ŝe rejestry zawierają juŜ nowe, stabilne dane. Odczyt zawartości rejestrów w czasie, gdy następuje zmiana ich stanów, nie gwarantuje uzyskania prawidłowych wyników. Dlatego odczyt powinien być przeprowadzony, gdy stany te są stabilne. 62 Instrukcja Obsługi 3.01 © 08/2007 MicroMade 6.Modele urządzeń DSM-51 Układ RTC 58321 moŜna tak ustawić, aby na liniach danych podawał wzorcowe przebiegi czasowe. Uzyskuje się to poprzez wpisanie do niego adresu EH lub FH i ustawienie linii RD w stan 1 (przy CS1 = CS2 = 1). Na liniach D0...D3 układ podaje wtedy następujące przebiegi: D0 - przebieg prostokątny 1024 Hz D1 - ujemny impuls 122.1 µs co sekundę D2 - ujemny impuls 122.1µs co minutę D3 - ujemny impuls 122.1 µs co godzinę. Impulsy na liniach D1...D3 występują w trakcie trwania impulsu BUSY. Przedstawia to rysunek. W modelu M-04 przebiegi z linii D0 i D1 podane są poprzez układy róŜniczkujące na linie PC0 i PC3 złącza wejść/wyjść cyfrowych systemu DSM-51. W układach tych dodatnie zbocze przebiegów występujących na liniach D0 i D1 są zamieniane na krótkie (2 ms) dodatnie impulsy. Podanie tych impulsów na linie PC0 i PC3 powoduje, Ŝe mogą one być wykorzystane jako przerwania. Oprogramowanie Przykładowe programy (rtc_set.asm i rtc_read.asm) demonstrujące sposób wykorzystania modelu M-04 znajdują się w katalogu DSM-51\Modele\M04. Program rtc_set.asm ustawia RTC korzystając z danych wpisanych wewnątrz programu. Po wpisaniu danych do zegara program wraca do systemu DSM-51. Aby ustawić inny czas trzeba zmodyfikować kod źródłowy programu, zasemblować go i uruchomić w systemie. Program rtc_read.asm odbiera przerwania co sekundę z RTC, odczytuje i wypisuje na wyświetlacz LCD datę i czas oraz generuje krótkie sygnały dźwiękowe. © 08/2007 MicroMade Instrukcja Obsługi 3.01 63 A B C 1 PA7 PA5 PA3 PA1 PC7 PC5 PC3 PC1 PB7 PB5 PB3 PB1 GND 26 24 22 20 18 16 14 12 10 8 6 4 2 25 23 21 19 17 15 13 11 9 7 5 3 1 D100/26GK S1 GND 100U/16# C4 VCC PA6 PA4 PA2 PA0 PC6 PC4 PC2 PC0 PB6 PB4 PB2 PB0 2 2 PA5 PC4 PC5 PC6 PB3 PA3 PA2 PB2 PA1 PB1 PA0 PB0 PA4 VCC 12 2 1 5 4 9 100n C5 8 HC125N U1C 6 HC125N U1B 3 HC125N U1A GND 11 HC125N U1D 10 13 14 V 7 G D 1 10k R3 5 1 10k R4 HC14N U3C HC14N U3A 10k R5 6 2 3 10k R6 220p C2 220p C1 3 VCC 9 3 100n C3 HC14N U3D HC14N U3B 10k R7 14 NC 15 NC 11 STOP 12 TEST 10 PA6 PC7 PC1 PC3 8 GND PC0 4 BUSY RTC58321 U2 RD WR AWR CS1 CS2 4 D0 5 D1 6 D2 7 D3 3 2 9 13 1 10k R2 10k R1 VCC 16 V 8 G BAT42 BAT42 D1 D2 VCC 1k R8 4 4 DIPSW2 K1 4 3 GND 100n CR2032 B1 HC14N U3F HC14N U3E GND 12 10 6-Jun-2006 Data: 5 5 D:\MM\MM_PROT\DSM\M04\DM04_C.SCH Plik: Model M04 Symbol: DSM-51 Zegar Czasu Rzeczywistego Tytuł: 1 2 GND 13 11 VCC C6 14 V 7 G DM04 Nr rys.: C 1 z 1 Arkusz: REV. A B C D 6.Modele urządzeń DSM-51 M-05 - WYJŚCIE DO DRUKARKI CENTRONIX Przeznaczenie modelu Model M-05 jest przystawką do Dydaktycznego Systemu Mikroprocesorowego DSM-51 zamieniającą złącze wejść/wyjść cyfrowych systemu w wyjście do drukarki Centronix. Sterownik wejść/wyjść równoległych 8255 zastosowany w systemie DSM-51 jest przystosowany do obsługi transmisji równoległej z potwierdzeniami. Sterowanie drukarek przez łącze równoległe Centronix stanowi typowy przykład takiej właśnie transmisji. Model M-05 pozwala praktycznie zapoznać się ze szczegółami organizacji transmisji danych przez łącze Centronix oraz z moŜliwościami układu 8255 pracującego w trybie 1. W pliku MODELE\M05\m05.txt są zebrane propozycje zadań do wykonania z wykorzystaniem modelu M-05. Budowa i zasada działania Model podłączany jest do złącza wejść/wyjść cyfrowych systemu DSM-51. Model M-05 został tak zbudowany, Ŝe moŜliwe jest wykorzystanie trybu 1 układu 8255, czyli przesyłanie z potwierdzeniem. Port A układu 8255 powinien pracować w tym trybie jako port wyjściowy. W trybie tym poprzez linie PC7 i PC6 następuje wymiana sygnałów sterujących między DSM-51 a drukarką, natomiast poprzez linię PC3 układ 8255 zgłasza do mikrokontrolera Ŝądanie obsługi (przerwanie IPA). Po załączeniu zasilania drukarki, następuje jej inicjalizacja - ustawienie w pewien określony stan początkowy. W czasie drukowania moŜna zmieniać takie ustawienia jak rodzaj czcionki, pozycje tabulacji czy rozmiar marginesów. Aby przywrócić drukarce stan początkowy naleŜy wysłać do niej rozkaz inicjalizacji. Polega to na podaniu ujemnego impulsu na linii INIT. Po tym impulsie drukarka wystawia stan 1 na linii BUSY i ustawia odpowiednio wszystkie swoje © 08/2007 MicroMade Instrukcja Obsługi 3.01 65 DSM-51 6.Modele urządzeń parametry. Czas tej inicjalizacji jest zaleŜny od typu drukarki. Gdy inicjalizacja jest zakończona drukarka wysyła ujemny impuls na linii ACK (potwierdzenie). W trakcie trwania tego impulsu zdejmuje ona równieŜ sygnał zajętości (przestawia linię BUSY w stan 0). Gdy stan linii BUSY jest 0 moŜna do drukarki przesyłać dane przeznaczone do drukowania. Aby przesłać znak naleŜy najpierw wystawić jego kod na liniach danych D0...D7. Gdy dane są stabilne naleŜy do drukarki wysłać ujemny impuls na linii STROBE. Drukarka odpowiada wystawiając stan 1 na linii BUSY, co oznacza Ŝe jest teraz zajęta i nie moŜna przesyłać do niej następnych danych. Po pewnym czasie drukarka wysyła ujemny impuls na linii ACK zdejmując jednocześnie sygnał BUSY. Dopiero po zakończeniu impulsu ACK moŜna zmienić stan linii danych. Czas trwania zajętości po przesłaniu do drukarki danej jest zazwyczaj bardzo krótki (pojedyncze µs). Jednak czasem moŜe on być znacznie dłuŜszy (kilkadziesiąt ms). Wystąpi to, na przykład, gdy przyjęcie kolejnego znaku będzie moŜliwe dopiero po wysunięciu papieru o jedną linię i przesunięciu głowicy na początek następnej linii. Stany, na pozostałych liniach złącza Centronix, pozostają stabilne w czasie normalnej pracy drukarki. ZaleŜnie od typu drukarki niektóre z tych linii mogą nie występować. Inicjalizacja drukarki Przesłanie danej do drukarki Wymiana sygnałów sterujących między mikrokontrolerem, układem 8255 i drukarką przedstawiona jest na rysunku. 66 Instrukcja Obsługi 3.01 © 08/2007 MicroMade 6.Modele urządzeń DSM-51 Wpisanie przez mikrokontroler danych do portu A (sygnał WR na rysunku) powoduje ustawienie linii OBF (Output Buffer Full - Bufor wyjściowy pełny) w stan 0. Jest to sygnał dla zewnętrznego urządzenia, Ŝe na porcie A są dane gotowe do odczytu. W układzie 8255 impuls sygnału OBF jest kończony dopiero po potwierdzeniu impulsem ACK. Natomiast w drukarce, impuls ACK jest generowany dopiero po zakończeniu impulsu STROBE. Aby oba urządzenia potrafiły się porozumieć, naleŜało pomiędzy wyjście OBF a wejście STROBE, wbudować układ róŜniczkujący, generujący krótki impuls STROBE w odpowiedzi na ujemne zbocze impulsu OBF. Impuls ACK powoduje zdjęcie sygnału OBF oraz wygenerowanie przerwania na linii INTRA. Linia ta w systemie DSM51 podłączona jest do sterownika przerwań. Przerwanie to informuje mikrokontroler, Ŝe dane wystawione poprzednio na port A zostały juŜ odczytane i naleŜy wystawić kolejne dane. Zapis, w trakcie obsługi przerwania, kolejnych danych na port A, powoduje automatyczne zdjęcie sygnału przerwania. Dzięki zastosowaniu trybu 1 i dodaniu układu róŜniczkującego, całość zadania transmisji równoległej do drukarki sprowadza się do wpisania danych do portu A. Znaczenie poszczególnych linii sygnałowych złącza Centronix Sygnały wejściowe drukarki: D0...D7 szyna danych STROBE ujemny impuls informuje, Ŝe daną wystawioną na linii danych naleŜy odebrać INITIAL AUTOFEED ujemny impuls powoduje inicjalizację drukarki w niektórych drukarkach stan 0 na tej linii powoduje, Ŝe do kaŜdego znaku powrotu karetki jest automatycznie dodawane wysunięcie do następnej linii stan 0 oznacza Ŝe drukarka jest "wybrana" (transmisja po liniach danych jest przeznaczona dla niej) SLCT IN Sygnały wyjściowe drukarki: BUSY stan 1 oznacza, Ŝe drukarka jest zajęta i nie moŜe odebrać danej ACK ujemny impuls potwierdza odbiór znaku lub informuje o zakończeniu inicjalizacji drukarki PE ERROR stan 1 oznacza brak papieru w drukarce stan 0 oznacza błąd w drukarce (błąd wewnętrznej pamięci RAM, brak papieru, problemy z ustawieniem głowicy, stan OFF-LINE itp.) stan 1 potwierdza, Ŝe drukarka jest wybrana SLCT Sygnał ERROR z drukarki jest zanegowany i podłączony do sterownika przerwań jako IPB (linia PC0 złącza). Oprogramowanie Przykładowy program (drukarka.asm) demonstrujący sposób wykorzystania modelu M-05 znajduje się w katalogu DSM-51\Modele\M05. Program wysyła tekst do drukarki poprzez port A układu 8255 ustawiony jako wyjście w trybie 1. Kolejne znaki tekstu wysyłane są w przerwaniu generowanym przez układ 8255 w momencie potwierdzenia przez drukarkę odbioru poprzedniego znaku. Sygnał ERROR z drukarki (przerwanie IPB) powoduje wypisanie komunikatu na wyświetlaczu LCD. © 08/2007 MicroMade Instrukcja Obsługi 3.01 67 A B C D 1 1 PA7 PA5 PA3 PA1 PC7 PC5 PC3 PC1 PB7 PB5 PB3 PB1 GND 26 24 22 20 18 16 14 12 10 8 6 4 2 25 23 21 19 17 15 13 11 9 7 5 3 1 D100/26GK S1 VCC GND 100u/16 C2 PA6 PA4 PA2 PA0 PC6 PC4 PC2 PC0 PB6 PB4 PB2 PB0 2 2 220p C1 D2 D3 D4 PA2 PA3 PA4 D6 D7 PA6 PA7 D5 D1 PA1 PA5 D0 PA0 220 PC0 R4 PC7 6 5 1 2 BUSY PE SLCT PC2 PC4 - ACK - ERROR 10k R3 AHC14 U1A PC1 PC6 AHC14 U1C 10k R2 10k R1 VCC 3 4 3 PB3 PB2 PB1 AHC14 U1B 3 GND - SLCT IN - INIT - STROBE - AUTOFD 100 R5 1 14 2 15 3 16 4 17 5 18 6 19 7 20 8 21 9 22 10 23 11 24 12 25 13 DB25G^ S2 4 4 9 AHC14 U1F AHC14 U1E 12 10 GND DSM-51 Wyjście do drukarki CENTRONIX 9-May-2007 Data: 5 5 D:\MM\MM_PROT\DSM\M05\DM05_D.SCH Plik: Model M05 Symbol: Tytuł: GND 13 11 AHC14 U1D 8 100n C3 VCC 14 V 7 G DM05 Nr rys.: D 1 z 1 Arkusz: REV. A B C D 6.Modele urządzeń DSM-51 M-06 - TYRYSTOROWY REGULATOR OŚWIETLENIA Przeznaczenie modelu Model M-06 jest przystawką do Dydaktycznego Systemu Mikroprocesorowego DSM-51 demonstrującą moŜliwość wykorzystania systemów mikroprocesorowych do sterowania układów energetycznych. W modelu tym mikroprocesor steruje, za pośrednictwem tyrystora, jasnością świecenia Ŝarówki zasilanej napięciem zmiennym 12 V. Regulacja jasności odbywa się poprzez załączanie prądu płynącego przez Ŝarówkę na odpowiedni fragment kaŜdej połówki okresu napięcia sieci (regulacja fazowa). System mikroprocesorowy jest odizolowany od układu sterowanego za pośrednictwem transoptorów. W pliku DSM-51\Modele\M06\m06.txt są zebrane propozycje zadań do wykonania z wykorzystaniem modelu M-06. Budowa i zasada działania Przystawka jest sterowana z DSM-51 za pośrednictwem złącza wejść/wyjść izolowanych galwanicznie. Schemat blokowy modelu przedstawiony jest na rysunku. Schemat blokowy modelu M-06 Dzięki izolacji galwanicznej układ sterowany moŜe znajdować się na innym potencjale niŜ sam system. Przystawka jest zasilana napięciem zmiennym 12 V / 50 Hz (okres przebiegu wynosi 20 ms). Napięcie to jest prostowane w prostowniku dwupołówkowym. Takie wyprostowane napięcie składa się z szeregu impulsów o kształcie połówek sinusoidy (10 ms kaŜdy). © 08/2007 MicroMade Instrukcja Obsługi 3.01 69 DSM-51 6.Modele urządzeń Sygnały w wybranych punktach układu W czasie kaŜdego okresu tego przebiegu (okres = 10 ms) napięcie najpierw narasta od 0 V do pewnej wartości maksymalnej, a następnie opada do 0 V. Na początku kaŜdego takiego impulsu tyrystor nie przewodzi. Jeśli w czasie, gdy napięcie zasilające Ŝarówkę i tyrystor jest większe od 0 V, na bramkę tyrystora podany zostanie impuls napięcia (dodatni względem katody tyrystora), to tyrystor się włączy. Przez włączony tyrystor i przez Ŝarówkę płynie prąd. Po zakończeniu impulsu wyzwalającego podanego na bramkę, tyrystor nadal pozostanie włączony. Wyłączy się dopiero, gdy prąd płynący przez Ŝarówkę i tyrystor spadnie do 0. Zdarzy się to na końcu bieŜącej połówki sinusoidy, gdy napięcie zasilające Ŝarówkę i tyrystor spadnie do 0. Od tego momentu cały cykl zaczyna się od nowa, i tak co 10 ms. Jeśli impuls podawany na bramkę tyrystora występuje w pobliŜu początku kaŜdego okresu wyprostowanego napięcia, to prawie przez cały czas przez Ŝarówkę płynie prąd - Ŝarówka świeci jasno. Im później występuje impuls wyzwalający tyrystor, tym Ŝarówka słabiej świeci. Bramka tyrystora jest sterowana przez izolowane wyjście O1. Wyjście to jest z kolei sterowane linią P1.2 mikrokontrolera. Wystawienie na tej linii stanu 0 powoduje podanie napięcia na bramkę tyrystora. Aby prawidłowo sterować jasnością Ŝarówki system mikroprocesorowy musi "wiedzieć" kiedy zaczyna się kaŜdy okres wyprostowanego napięcia. W tym celu napięcie to zostało podane na izolowane wejście I1 systemu DSM-51. Gdy wartość wyprostowanego napięcia zasilającego zbliŜa się do zera, na nodze P3.4 procesora pojawia się stan 1 i trwa aŜ do momentu, gdy napięcie ponownie wzrośnie powyŜej pewnej wartości progowej. MoŜna przyjąć, Ŝe w połowie tego impulsu wartość napięcia zasilającego osiąga 0. Oprogramowanie Przykładowy program (zarowka.asm) demonstrujący sposób wykorzystania modelu M-06 znajduje się w katalogu DSM-51\Modele\M06. Program steruje jasnością świecenia Ŝarówki poprzez załączanie płynącego przez nią prądu z odpowiednim opóźnieniem względem momentu przejścia napięcia sieci przez 0 w kaŜdej połówce okresu tego napięcia. Program czyta klawiaturę matrycową (klawisze 0...7) i zgodnie z przyciśniętym klawiszem ustawia opóźnienie odpowiednio 1...8 ms. Wartość opóźnienia jest wypisana na wyświetlaczu LCD. 70 Instrukcja Obsługi 3.01 © 08/2007 MicroMade A B C D 1 1 ~12V *5/2 S1 2 1 2 2 D1A D3 D1A D1 D1A D4 D1A D2 Z2 BT148W TY1 10k R2 4u7/16 C1 ZAR_ML7382 ZAR_ML7382 Z1 D1A D5 10k R3 10k R1 3 9 7 5 3 1 D100/10GK S2 470 R4 O1e 10 8 6 I1k 4 2 3 I1a O1k 4 4 DSM-51 Tyrystorowy regulator oświetlenia 9-May-2007 Data: 5 D:\MM\MM_PROT\DSM\M06\DM06_D.SCH Plik: Model M06 Symbol: Tytuł: 5 DM06 Nr rys.: D 1 z 1 Arkusz: REV. A B C D DSM-51 6.Modele urządzeń M-07 - INTERFACE SIECI RS485 Przeznaczenie modelu Model M-07 jest przystawką do Dydaktycznego Systemu Mikroprocesorowego DSM-51 umoŜliwiającą połączenie wielu systemów w sieć. Do transmisji danych wykorzystano standard RS485. Standard ten umoŜliwia podłączenie do wspólnej, dwuprzewodowej linii przesyłowej wielu układów nadawczo/odbiorczych (typowo do 32). W danej chwili tylko jeden nadajnik moŜe nadawać. Wymianę danych między systemami DSM-51 moŜna zrealizować stosunkowo prosto ustalając jeden z systemów jako nadrzędny (master) a wszystkie pozostałe jako podrzędne (slave). Fakt, Ŝe tylko jeden z systemów steruje transmisją istotnie upraszcza oprogramowanie. Znacznie bardziej uniwersalne (i trudniejsze) jest oprogramowanie transmisji, przy załoŜeniu, Ŝe kaŜdy z systemów moŜe chcieć przejąć kontrolę nad linią przesyłową. Głównym problemem jest moŜliwość jednoczesnego rozpoczęcia transmisji przez dwa systemy. Gdy dwa nadajniki "walczą" ze sobą na linii, to stan linii odczytywany przez odbiorniki nie jest określony. W pliku DSM-51\Modele\M07\m07.txt są zebrane propozycje zadań do wykonania z wykorzystaniem modelu M-07. Budowa i zasada działania Model podłączany jest do złącza wejść/wyjść izolowanych galwanicznie systemu DSM-51. Schemat blokowy modelu przedstawiony jest na rysunku. Schemat blokowy modelu M-07 Model jest wykonywany w dwu wersjach: M-07 i M-07a. Model M-07a róŜni się tym od modelu M-07, Ŝe pobiera on napięcie zasilające z systemu DSM-51, do którego jest podłączony (nie zapewnia izolacji galwanicznej) i przekazuje to napięcie do pozostałych modeli w sieci. Tylko jeden z systemów wchodzących w skład sieci powinien być wyposaŜony 72 Instrukcja Obsługi 3.01 © 08/2007 MicroMade DSM-51 6.Modele urządzeń w model M-07a. Do wszystkich pozostałych systemów powinny być podłączone modele M-07. W ten sposób, zbudowana z systemów DSM-51, sieć jest odizolowana galwanicznie od wszystkich systemów z wyjątkiem jednego, z którego pobiera ona zasilanie. Takie rozwiązanie zapewnia izolację wzajemną wszystkich systemów. Uwaga Obecnie model M-07 produkowany jest tylko w jednej wersji. Został on uzupełniony o miniaturowy podwójny przełącznik (opisany na płytce jako PWR), który słuŜy do włączenia zasilania modelu (VCC i GND) z systemu DSM-51. Ustawienie tych przełączników w pozycji „ON” zastępuje dotychczasową wersję modelu M-07a. Zasilanie sieci naleŜy włączyć tylko w jednym spośród modeli M-07 tworzących sieć. Ze względu na zasilanie wszystkich modeli M-07 z jednego systemu DSM-51 liczba systemów, które mogą być połączone w sieć z wykorzystaniem tych modeli jest ograniczone do 16. Izolacja galwaniczna poszczególnych systemów jest podyktowana tym, Ŝe mogą być one połączone z róŜnymi komputerami, które z kolei mogą być zasilane z róŜnych gniazdek sieci. Przy takim połączeniu masy poszczególnych systemów mogą być na innych potencjałach. Gdyby nie było izolacji galwanicznej między systemami DSM-51 łączenie i rozłączanie sieci RS485 mogłoby prowadzić do uszkodzeń układów nadawczo/odbiorczych w modelach M-07. Transmisja w standardzie RS485 odbywa się po dwuprzewodowej linii przesyłowej obciąŜonej na końcach rezystorami dopasowanymi do rezystancji falowej linii. Dopasowanie linii zapobiega powstawaniu odbić sygnałów na jej końcach. To z kolei umoŜliwia uzyskanie znacznie większych prędkości transmisji niŜ w standardzie RS232 (do 10 MBodów). Typowo do realizacji sieci RS485 stosuje się specjalne kable telekomunikacyjne, w których przewody są ze sobą skręcone parami. Taka skręcona para przewodów (skrętka) o odpowiednio dobranych średnicach drutów i grubości izolacji ma precyzyjnie określoną rezystancję falową, co pozwala na jej dopasowanie. Dopasowanie linii w modelach M-07 jest uzyskiwane poprzez odpowiednie ustawienie miniaturowych przełączników włączających rezystory dopasowujące. Te przełączniki powinny być w pozycji "ON" na dwu skrajnych modelach w sieci. Na wszystkich pośrednich modelach powinny one być w pozycji "OFF". Prędkość transmisji w sieci powstałej z połączenia systemów DSM-51 z wykorzystaniem modeli M-07 jest ograniczona przez transoptory wykorzystane w układzie izolacji galwanicznej. KaŜdy z transoptorów wprowadza opóźnienie rzędu 5 µs. Poza tym kable telefoniczne zastosowane do budowy sieci nie są przeznaczone do realizacji transmisji cyfrowych, a ich dopasowanie na końcach jest tylko przybliŜone. Wszystko to oznacza, Ŝe osiągnięcie duŜych prędkości transmisji w sieci zbudowanej w oparciu o modele M-07 jest niemoŜliwe. Przykładowe programy realizują transmisje w sieci z prędkością 9600 Bodów. Wyjście izolowane O1 steruje danymi podawanymi na linię RS485 przez model M-07. Wyjście O2 steruje włączeniem nadajnika. Stan 0 podany na linii P1.3 mikrokontrolera sterujący wyjściem O2 powoduje włączenie nadajnika. Dane odbierane z linii są podawane na oba wejścia izolowane galwanicznie: I1 i I2. Stan 0 na linii P1.2 sterującej wyjście O1 w systemie nadającym dane powoduje pojawienie się równieŜ stanu 0 na linii P3.4 i na linii przerwań IOI systemu odbierającego dane. Oprogramowanie Przykładowe programy DSM-51\Modele\M07. demonstrujące sposób wykorzystania modelu M-07 znajdują się w katalogu W jednym z systemów naleŜy uruchomić program master.asm, a w pozostałych (max 15) slave.asm. Po uruchomieniu programu slave naleŜy podać numer urządzenia w sieci (1...15), dla kaŜdego systemu inny. Numer podajemy przez naciśnięcie odpowiedniego klawisza klawiatury matrycowej, np. Esc = 14. Systemy są identyfikowane w sieci przez ten numer. Na kaŜdym z komputerów naleŜy uruchomić dowolny program terminala ustawiony na tryb 8N1 (8 bitów danych, bez bitu parzystości, z 1 bitem stopu) i prędkość transmisji 2400 Bodów. Powstała w ten sposób sieć działa tak, Ŝe kaŜde naciśnięcie klawisza na klawiaturze dowolnego z systemów lub połączonego z nim komputera jest rozsyłane do wszystkich pozostałych systemów. Przychodzące z sieci znaki są wyświetlane na wyświetlaczu LCD systemu i przesyłane do połączonego z nim komputera. W ten sposób wszystko, co jest pisane na klawiaturze dowolnego z komputerów jest wyświetlane na wyświetlaczach wszystkich systemów i monitorach wszystkich komputerów. © 08/2007 MicroMade Instrukcja Obsługi 3.01 73 A B C 1 4P4C S3 4P4C S2 1 2 3 4 VCC 1 2 3 4 VCC GND GND 2 DIPSW2 K1 2 330 R3 2 1 3 4 7 R5 10 10 6 R4 VCC 8 RS485 U1 B A V 100n C2 1 R 2 RE GND GND 4 D 3 DE 5 G D 1 R9 1k R8 1k 3 3 GND 2k2 R2 R7 R6 100 100 GND O1e 10 O2e 8 6 I1k 4 I2k 2 9 7 5 3 1 GND I1a I2a O1k O2k 2k2 R1 VCC VCC DIPSW2 K2 D100/10GK S1 1 2 4 3 C1 GND 4 100u/16 VCC 4 DSM-51 Interface sieci RS485 9-May-2007 Data: 5 D:\MM\MM_PROT\DSM\M07\DM07_D.SCH Plik: Model M07 Symbol: Tytuł: 5 DM07 Nr rys.: D 1 z 1 Arkusz: REV. A B C D 6.Modele urządzeń DSM-51 M-08 - CZYTNIK KART MAGNETYCZNYCH Przeznaczenie modelu Model M-08 jest przystawką do Dydaktycznego Systemu Mikroprocesorowego DSM-51 umoŜliwiającą odczyt kart magnetycznych. Karty magnetyczne są powszechnie stosowane do celów identyfikacji osób (kontrola czasu pracy, kontrola dostępu). Standard zapisu danych na kartach magnetycznych przewiduje zapis danych na trzech niezaleŜnych ścieŜkach. Najczęściej stosowany jest zapis na drugiej ścieŜce, dla której standard przewiduje najmniejszą gęstość zapisu. Na ścieŜce tej moŜna zapisać do 40 znaków. Model M-08 umoŜliwia odczyt właśnie drugiej ścieŜki. W pliku DSM-51\Modele\M08\m08.txt są zebrane propozycje zadań do wykonania z wykorzystaniem modelu M-08. Budowa i zasada działania Model podłączany jest do złącza wejść/wyjść cyfrowych systemu DSM-51. Schemat blokowy modelu przedstawiony jest na rysunku. Schemat blokowy modelu M-08 Zastosowany w przystawce standardowy czytnik drugiej ścieŜki kart magnetycznych zawiera układ scalony, który na podstawie sygnału z głowicy magnetycznej wytwarza sygnały cyfrowe pozwalające mikroprocesorowi odczytać dane z karty. Gęstość zapisu danych dla drugiej ścieŜki wynosi 75 bpi (bitów na cal). Szybkość, z jaką pojawiają się dane na wyjściu czytnika zaleŜy od szybkości przesuwu karty w czytniku. Dopuszczalny zakres prędkości przesuwu karty wynosi 10 - 100 cm na sekundę. © 08/2007 MicroMade Instrukcja Obsługi 3.01 75 DSM-51 6.Modele urządzeń Sygnały na wyjściu czytnika Czytnik wytwarza trzy sygnały: Card Present Data Strobe pojawienie się 0 na tej linii oznacza, Ŝe czytnik wykrył obecność karty. Po odczytaniu karty stan na tej linii wraca na 1. po linii tej przesyłane są dane. Dane są zanegowane - stan 1 na tej linii oznacza wartość 0 kolejnego bitu, a stan 0 oznacza wartość 1. dla kaŜdego kolejnego bitu, który naleŜy odczytać z linii Data na tej linii generowany jest ujemny impuls. Czytnik podłączony jest do złącza wejść/wyjść cyfrowych systemu DSM-51 w następujący sposób: Card Present PB0 Data PB2 Strobe PB1 Znaki zapisywane na karcie składają się z czterech bitów i piątego bitu parzystości (najstarszy bit). Bity znaku zapisywane są w kolejności od najmłodszego do najstarszego. Zestaw znaków mogących wystąpić na karcie: Bit Parzystości 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 76 Bity Znaku 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Hex 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH Znak 0 1 2 3 4 5 6 7 8 9 : ; < = > ? Instrukcja Obsługi 3.01 Znaczenie kontrolne SS (start) ES (koniec) © 08/2007 MicroMade 6.Modele urządzeń DSM-51 Na drugiej ścieŜce karty zapisane są kolejno: znak SS (start), znaki danych (max 37), znak ES (koniec danych), suma kontrolna liczona jako XOR wszystkich znaków łącznie z SS i ES. Oprogramowanie Przykładowy program (czytnik.asm) demonstrujący sposób wykorzystania modelu M-08 znajduje się w katalogu DSM-51\Modele\M08 na dyskietce systemu DSM-51. Program czyta dane z karty magnetycznej. Dane traktowane są jako 5-bitowe (4 bity znaku + bit parzystości). Maksymalna liczba danych wynosi 40. Program nie sprawdza poprawności odczytu (bity parzystości, suma kontrolna). Wypisuje on na wyświetlaczu odczytane dane do momentu napotkania znaku ES oznaczającego koniec danych (1111B). Znak ES jest widoczny na wyświetlaczu jako „?”. Na czas odczytu danych włączany jest brzęczyk, przez co sygnalizowane jest odczytywanie kolejnych kart magnetycznych. © 08/2007 MicroMade Instrukcja Obsługi 3.01 77 A B C D 1 1 2 PB1 GND 2 1 3 5 7 9 11 13 15 17 19 21 23 25 2 4 6 8 10 12 14 16 18 20 22 24 26 D100/26GK S1 PB2 PB0 VCC 3 4 GND 5 VCC GND VCC CARD_READER 1 RDT 2 RCL 3 CLS U1 - DATA - STROBE - CARD PRESENT 3 MAGNETIC CARD READER 4 4 DSM-51 Czytnik kart magnetycznych 6-Jun-2006 Data: 5 D:\MM\MM_PROT\DSM\M08\DM08_C.SCH Plik: Model M08 Symbol: Tytuł: 5 DM08 Nr rys.: C 1 z 1 Arkusz: REV. A B C D 6.Modele urządzeń DSM-51 M-09 - RÓWNIA POCHYŁA Przeznaczenie modelu Model M-09 będący przystawką do Dydaktycznego Systemu Mikroprocesorowego DSM-51 stanowi przykład wykorzystania układów mikroprocesorowych do przeprowadzania doświadczeń fizycznych. M-09 to równia pochyła. Przystawka umoŜliwia praktyczną weryfikację równań ruchu jednostajnie przyspieszonego. WzdłuŜ równi rozmieszczone są, w równych odstępach, 4 fotokomórki słuŜące do pomiaru czasu potrzebnego toczącej się kulce na pokonanie kolejnych odcinków. Wykorzystanie przystawki wymaga, przede wszystkim, opanowania umiejętności precyzyjnego odmierzania czasu upływającego między, rejestrowanymi przez system, zdarzeniami. W przypadku równi, zdarzeniami są momenty przecięcia kolejnych barier podczerwieni przez toczącą się kulkę. Po zmierzeniu czasów, jakie potrzebowała kulka na pokonanie kolejnych odcinków, wartości te mogą być wyświetlone na wyświetlaczu LCD lub przeliczone na inne interesujące wielkości (stosunek czasów pokonania kolejnych odcinków, prędkość średnia w kaŜdym odcinku, itp.). W pliku MODELE\M09\m09.txt są zebrane propozycje zadań do wykonania z wykorzystaniem modelu M-09. Budowa i zasada działania Przystawka jest podłączana do złącza wejść/wyjść cyfrowych systemu. Schemat blokowy modelu przedstawiony jest na rysunku. Równię pochyłą wykonano w postaci rynienki z pleksi. Przezroczyste boczne ścianki umoŜliwiają kontrolę toru toczenia się metalowej kulki nie blokując działania fotokomórek. Fotokomórki są rozmieszczone co 10 cm. Po jednej stronie rynienki umieszczone są diody nadawcze promieniowania podczerwonego. Po włączeniu zasilania systemu, nadajniki działają w sposób ciągły. Po drugiej stronie rynienki, naprzeciw nadajników, umieszczone są fotodiody - odbiorniki promieniowania podczerwonego. Sygnały z fotodiod są podawane na inwertery z wejściem Schmitta. Po wzmocnieniu trafiają one na linie PA0...PA3 złącza wejść/wyjść cyfrowych systemu DSM-51. Przy kaŜdej fotokomórce jest dioda świecąca sygnalizująca przesłonięcie toru podczerwieni, np. przez toczącą się kulkę. Program pracujący w systemie DSM-51 moŜe wykrywać momenty, w których kulka mija kolejne fotokomórki poprzez odczyt stanu linii PA0...PA3. Stan 0 na jednej z linii oznacza, Ŝe odpowiednia fotokomórka jest przesłonięta. © 08/2007 MicroMade Instrukcja Obsługi 3.01 79 DSM-51 6.Modele urządzeń D9 T1 D1 D5 D10 T2 D2 D6 D11 T3 D3 D7 D12 T4 D4 D8 Schemat blokowy modelu M-09 Oprogramowanie Przykładowy program (rownia.asm) demonstrujący sposób wykorzystania modelu M-09 znajduje się w katalogu DSM-51\Modele\M09. Program weryfikuje równania ruchu jednostajnie przyspieszonego na równi pochyłej. Program mierzy czas przelotu kulki pomiędzy kolejnymi punktami pomiarowymi T1, T2, T3 i T4. Wyniki pomiarów przelicza na czasy przelotu kulki, od pierwszego punktu pomiarowego do kaŜdego z pozostałych punktów, wyraŜone w ms (czasy T2 - T1, T3 - T1 i T4 - T1). Oblicza stosunki czasów (T3 - T1) / (T2 - T1) i (T4 - T1) / (T2 - T1), które teoretycznie powinny wynosić √2 i √3 (przy załoŜeniu zerowej prędkości w punkcie T1). Wyliczone wartości wyświetla kolejno na wyświetlaczu LCD. Aby zapewnić zerową prędkość początkową program umoŜliwia precyzyjne ustawienie kulki na pierwszym punkcie pomiarowym. Po uruchomieniu programu, na wyświetlaczu pojawia się napis „TEST T1”. NaleŜy ustawić kulkę na równi pochyłej powyŜej punktu T1. Trzymając kulkę (moŜna posłuŜyć się, np. linijką) opuścić ją po równi, aŜ do punktu T1 - zapali się czerwona dioda świecąca przy T1. Następnie wycofać kulkę tylko do momentu zgaszenia diody. Jest to dokładnie próg zadziałania pierwszej fotokomórki. Na wyświetlaczu pojawi się napis „START”. NaleŜy puścić delikatnie kulkę, tak aby nie nadać jej prędkości początkowej, ani nie popchnąć jej w górę. Po przejechaniu przez kulkę całej równi odczytać kolejne wyniki naciskając klawisz [Enter]. 80 Instrukcja Obsługi 3.01 © 08/2007 MicroMade A B C D 1 1 SHH1 P2 220 GND GND SHH1 P1 R1 D4 LED5I 2 LED5I D3 220 VCC GND R4 GND 220 R3 C1 PA6 PA4 PA2 PA0 PC6 PC4 PC2 PC0 PB6 PB4 PB2 PB0 P4 GND SHH1 GND SHH1 P3 VCC 100u/16 D2 GND 25 23 21 19 17 15 13 11 9 7 5 3 1 D100/26GK S1 LED5I LED5I 220 D1 26 24 22 20 18 16 14 12 10 8 6 4 2 GND R2 PA7 PA5 PA3 PA1 PC7 PC5 PC3 PC1 PB7 PB5 PB3 PB1 2 GND SHH1 P8 GND SHH1 P7 GND SHH1 P6 GND SHH1 P5 GND 47k R12 T4 GND BC847 4k7 R20 GND SFH203 D8 GND 47k R10 BC847 T3 VCC R7 VCC AHC14 U1D R11 GND 330 9 8 100n AHC14 U1E C6 VCC 330 R9 C5 100n AHC14 U1F GND 11 10 R19 4k7 C4 100n AHC14 U1A GND 330 1 2 R5 100n C3 GND 330 13 12 BC847 T2 4k7 R18 GND SFH203 D7 GND 47k R8 T1 BC847 GND SFH203 D6 GND 47k R6 SFH203 D5 4k7 R17 VCC 3 220 R16 LED1206R D12 220 R15 LED1206R D11 220 R14 LED1206R D10 220 R13 LED1206R D9 3 PA3 PA2 PA1 PA0 4 4 3 AHC14 U1C 6 GND DSM-51 Równia pochyła 9-May-2007 Data: 5 5 D:\MM\MM_PROT\DSM\M09\DM09_D.SCH Plik: Model M09 Symbol: Tytuł: GND 5 AHC14 U1B 4 100n C2 VCC 14 V 7 G DM09 Nr rys.: D 1 z 1 Arkusz: REV. A B C D DSM-51 6.Modele urządzeń M-10 - MIERNIK I REGULATOR TEMPERATURY Przeznaczenie modelu Model M-10 jest przystawką do Dydaktycznego Systemu Mikroprocesorowego DSM-51 demonstrującą wykorzystanie systemów mikroprocesorowych do pomiarów i regulacji temperatury. Model jest wyposaŜony w dwa rezystancyjne czujniki temperatury. Jeden z czujników przeznaczony jest do mierzenia temperatury. MoŜe on być podgrzany z zewnątrz, np. strumieniem ciepłego powietrza lub przez dotknięcie ręką. Drugi czujnik jest zmontowany razem z tranzystorem spełniającym rolę miniaturowej grzałki. Jest to model regulatora temperatury. UmoŜliwia on testowanie oprogramowania realizującego róŜne algorytmy regulacji temperatury. Elementy stosowane w przystawce nie są kalibrowane. W związku z tym bezwzględna precyzja pomiarów wykonywanych przez przystawkę nie jest duŜa. Przeznaczeniem modelu M-10 jest, przede wszystkim, przedstawienie metody pomiaru rezystancji czujników temperatury polegającej na porównaniu czasów ładowania kondensatora przez mierzony rezystor i przez rezystor wzorcowy. Metoda ta zapewnia wystarczającą dokładność pomiaru bez stosowania przetwornika A/C. Wiele dostępnych obecnie procesorów posiada trójstanowe wyjścia o odpowiednich parametrach oraz wejścia z przerzutnikiem Schmitta nadające się do bezpośredniego podłączenia mierzonych rezystorów. W pliku DSM-51\Modele\M10\m10.txt są zebrane propozycje zadań do wykonania z wykorzystaniem modelu M-10. Budowa i zasada działania KTY81 KTY81 Schemat blokowy modelu M-10 Model sterowany jest za pośrednictwem złącza wejść/wyjść cyfrowych systemu DSM-51. Sterowanie modelu odbywa się poprzez port A pracujący jako wyjście w trybie 0 oraz port C, którego starsza część pracuje jako wyjście, natomiast 82 Instrukcja Obsługi 3.01 © 08/2007 MicroMade 6.Modele urządzeń DSM-51 młodsza jako wejście. Podłączenie wyjścia z bramki Schmitta na linię PC0 pozwala na przerwaniowe (IPB) zakończenie wykonywanego pomiaru. Linia PC5 powinna być na stałe ustawiona na 0 w celu zablokowania przerwania z wejścia PC3 (IPA). W modelu zastosowano dwa czujniki KTY81-210. Są to rezystancyjne czujniki temperatury. Ich rezystancja w temperaturze 25°C wynosi 2 kΩ (± 1%). ZaleŜność rezystancji czujnika od temperatury wyraŜa się wzorem: RT = R25 * ( 1 + α * ∆TA + β * ∆TA2 ) = f (T A) [Ω] α = 7.88 * 10-3 [K-1] β = 1.937 * 10-5 [K-2] Przy niezbyt duŜym zakresie mierzonych temperatur moŜna przyjąć, Ŝe rezystancja ta wzrasta o około 0.79 % przy wzroście temperatury o 1°C. Z tych danych wynika, Ŝe nie kalibrowany czujnik dopuszcza błąd wartości jego rezystancji odpowiadający odchyłce o około 1.5°C. System mierzy wartość rezystancji czujników poprzez porównanie czasów ładowania kondensatora przez czujnik i przez rezystor wzorcowy (2kΩ 1%). MoŜliwe odchyłki wartości rezystora wzorcowego są źródłem kolejnego błędu rzędu 1.5°C. Po zmierzeniu rezystancji czujnika, temperaturę wylicza się na podstawie jego charakterystyki. Przed rozpoczęciem procesu ładowania kondensator C1 jest rozładowywany przez zwarcie go kluczem K3 do masy. Po rozładowaniu kondensatora klucz K3 jest otwierany i włączany jest jeden z kluczy K0, K1 lub K2 rozpoczynając ładowanie kondensatora C1 przez rezystor wzorcowy 2 kΩ 1% lub jeden z czujników temperatury. Gdy napięcie na kondensatorze osiągnie próg przełączania wzmacniacza z wejściem Schmitta, stan na jego wyjściu zmieni się z 0 na 1. Ta zmiana stanu odczytana z wejścia PC0 złącza wejść/wyjść cyfrowych jest sygnałem zakończenia pomiaru czasu. Przed rozpoczęciem kolejnego procesu ładowania kondensatora jest on ponownie rozładowywany przez klucz K3. MoŜna wykazać, Ŝe mimo iŜ proces ładowania kondensatora przez rezystor przebiega wykładniczo, to czas ładowania tego samego kondensatora, z tego samego źródła napięcia, aŜ do osiągnięcia tej samej progowej wartości napięcia jest wprost proporcjonalny do rezystancji rezystora, przez który następuje ładowanie. Opierając się na tej zaleŜności moŜna wyliczyć wartość mierzonego rezystora na podstawie pomierzonych czasów ładowania i znajomości wartości rezystora wzorcowego. Jeśli mierzona temperatura waha się w niewielkim zakresie, to moŜna przyjąć, Ŝe zaleŜność rezystancji czujnika od temperatury jest liniowa. Jeśli pomiar dotyczy szerszego zakresu temperatury, to przy przeliczaniu zmierzonej rezystancji czujnika na temperaturę naleŜy uwzględnić nieliniowość jego charakterystyki. Jako klucze, wykorzystano w przystawce układ 74HC125 zawierający cztery niezaleŜnie sterowane bufory trójstanowe. Gdy klucz ma być otwarty, to odpowiedni bufor ustawiany jest w stan wysokiej impedancji. Gdy klucz ma być zwarty, to na wyjście bufora podawany jest odpowiedni stan (0 dla K3, 1 dla K0, K1 i K2). Rolę miniaturowej grzałki spełnia tranzystor T1 (BC337). W stanie włączenia, napięcie na tranzystorze wynosi ok. 4.3 V, a prąd jest stabilizowany elementami R5 i T2 na poziomie ok. 70 mA. W tym stanie moc wydzielana w tranzystorze wynosi ok. 300 mW. Oprogramowanie Przykładowy program (grzalka.asm) demonstrujący sposób wykorzystania modelu M-10 znajduje się w katalogu DSM-51\Modele\M10 na dyskietce systemu DSM-51. Program mierzy trzy rezystory: rezystor wzorcowy R1 = 2 kΩ 1%, rezystancyjny czujnik temperatury R2 - KTY81-210, rezystancyjny czujnik temperatury R3 - KTY81-210 z moŜliwością podgrzewania. Po wykonaniu pomiarów program oblicza stosunek rezystancji czujników temperatury do rezystancji rezystora wzorcowego R1. Obliczone wartości są wyświetlane na wyświetlaczu LCD. Pomiary są wykonywane co 1 sekundę. Przed wykonaniem pomiarów program sprawdza stan klawiszy [Enter] i [Esc] w klawiaturze matrycowej. Naciśnięcie klawisza [Enter] włącza grzałkę (tranzystor) ogrzewającą czujnik R3, natomiast klawisz [Esc] ją wyłącza. PoniewaŜ klawisze są sprawdzane co 1s więc naciśnięty klawisz naleŜy przez chwilę przytrzymać, aby zadziałał. Załączenie grzałki jest sygnalizowane świeceniem diody TEST. © 08/2007 MicroMade Instrukcja Obsługi 3.01 83 A B C 1 PA7 PA5 PA3 PA1 PC7 PC5 PC3 PC1 PB7 PB5 PB3 PB1 GND 26 24 22 20 18 16 14 12 10 8 6 4 2 25 23 21 19 17 15 13 11 9 7 5 3 1 D100/26GK S1 VCC 2 GND 100u/16 C2 PA6 PA4 PA2 PA0 PC6 PC4 PC2 PC0 PB6 PB4 PB2 PB0 2 PC4 PC3 PC5 PA3 PA2 PA1 PA0 PC0 10k R12 10k R11 GND 10k R10 10k R9 10k R8 220 R7 2 VCC 100n C4 5 12 AHC14 U2F 12 11 AHC125 13 8 9 U1C AHC125 11 U1D AHC125 6 U1B R1 10 3 KTY81 R3 AHC14 U2E 1k C1 GND 4 GND 10 R5 BC337 T1 VCC AHC14 U2B BAV99 3 D1 4u7/16 GND R4 1k_1% R6 3 KTY81 R2 1k_1% GND AHC125 U1A 3 14 V 7 G 1 4 13 10 D 1 1 AHC14 U2A 2 4 4 GND 9 5 AHC14 U2D AHC14 U2C 8 6 GND 9-May-2007 Data: 5 5 D:\MM\MM_PROT\DSM\M10\DM10_D.SCH Plik: Model M10 Symbol: DSM-51 Miernik i regulator temperatury Tytuł: 100n C3 VCC 14 V 7 G DM10 Nr rys.: D 1 z 1 Arkusz: REV. A B C D 6.Modele urządzeń DSM-51 M-11 - PROGRAMATOR PAMIĘCI EEPROM Przeznaczenie modelu Model M-11 jest przystawką do Dydaktycznego Systemu Mikroprocesorowego DSM-51 umoŜliwiającą programowanie szeregowych pamięci EEPROM. Istnieje wiele róŜnych pamięci EEPROM, róŜniących się między sobą interfejsem komunikacyjnym. Wśród nich wyróŜniamy trzy najpopularniejsze: Microwire SPI I²C Wszystkie te interfejsy są obsługiwane przez model M-11 - jest to więc w pełni funkcjonalny programator pamięci EEPROM. Wykorzystanie tych moŜliwości zaleŜy tylko od napisania odpowiedniego oprogramowania. Uwaga! Model wyposaŜony jest w 3 dodatkowe podstawki, przeznaczone do przechowywania załączonych pamięci EEPROM. Wyjmowanie układów z podstawek powinno być wykonywane za pomocą cienkiego śrubokrętu, aby nie pogiąć nóŜek układów. Budowa i zasada działania Zaprojektowanie programatora pamięci EEPROM to zupełnie inne zagadnienie niŜ podłączenie jednego, wybranego EEPROMu do mikrokontrolera. Projektując programator często naleŜy pogodzić sprzeczne wymagania. Na przykład, na tym samym pinie jeden EEPROM wymaga dołączenia masy (minus zasilania), podczas, gdy drugi ma w tym samym miejscu transmisję dwukierunkową. Dlatego model M11 nie jest tylko podłączeniem wejść/wyjść cyfrowych do podstawki. Model M-11 jest sterowany przez system DSM-51 za pośrednictwem złącza wejść/wyjść cyfrowych. Wyjścia te są dwukierunkowe, ale przestawiane mogą być tylko całymi portami. Programator wymaga natomiast indywidualnej zmiany kierunku poszczególnych pinów. Dlatego wybrano następujące rozwiązanie. Jako port wyjściowy uŜyto port C, poniewaŜ pozwala on na indywidualne sterowanie poszczególnymi pinami. Do sterowania pinów, które dla pewnych pamięci są równieŜ wyjściami, zastosowano tzw. otwarte kolektory. Ustawienie na danym pinie stanu 1 (podawanego faktycznie przez opornik podwieszający) pozwala na jego sterowanie przez programowany EEPROM. W celu odczytu tych pinów dołączono je dodatkowo do portu A, ustawionego jako wejściowy. Konsekwencją sterowania pinu poprzez jeden tranzystor w układzie otwartego kolektora jest zanegowanie stanu z wyjścia portu. Trzeba o tym pamiętać pisząc oprogramowanie. Dołączenie masy (ujemnego bieguna zasilania układu) jest wykonane w ten sam sposób, poniewaŜ dla róŜnych pamięci EEPROM masa musi być podłączona do róŜnych pinów. Jak z powyŜszego opisu wynika, poszczególne piny pełnią róŜne funkcje, w zaleŜności od typu programowanego układu. W celu ułatwienia pisania oprogramowania, moŜna programator przedstawić w postaci innego schematu blokowego, dla kaŜdego z typów pamięci EEPROM. © 08/2007 MicroMade Instrukcja Obsługi 3.01 85 DSM-51 6.Modele urządzeń Programator pamięci microwire VCC PC0 PC6 VCC CS PC7 SK PC4 DI PA0 DO PC1 ORG 8255 PC5=0 93C46 GND PC3 Programator pamięci SPI VCC PC0 PC6 VCC CS PC1 SCK 8255 PC3 PC7=0 SI 25C040 PA2 SO PC4 WP PC2 HOLD GND PC5 86 Instrukcja Obsługi 3.01 © 08/2007 MicroMade DSM-51 6.Modele urządzeń Programator pamięci I²C VCC PC0 VCC SDA PA4 PC3 8255 24C01A PC1 SCL PC2 WP PC6 A0 PC7 A1 PC4 A2 GND PC5 Oprogramowanie Wraz z modelem M-11 dostarczane są trzy pamięci EEPROM: 93C46 - Microwire, 128 x 8 bitów (64 x 16 bitów) 25C040 - SPI, 512 x 8 bitów 24C01A - I²C, 128 x 8 bitów Dostępne są równieŜ trzy przykładowe programy, które potrafią odczytać i zapisać dane do określonego EEPROMu. KaŜdy z tych programów potrafi odczytać 8 pierwszych komórek pamięci EEPROM. Po naciśnięciu klawisza Enter pozwala wybrać adres jednej z nich i wpisać do niej nową wartość. Programy te nie są oczywiście pełnowartościowymi programatorami pamięci EEPROM, ale wykorzystując zawarte w nich procedury odczytu i zapisu, moŜna taki program napisać. Interfejsy szeregowe Microwire. Interfejs Microwire jest opisany w podręczniku do DSM-51. Interfejs ten stanowią 4 linie. CS - wybór układu SK - zegar transmisji DI - wejście danych DO - wyjście danych EEPROMy Microwire posiadają jedną cechę nie występującą w innych pamięciach. Istnieją pamięci Microwire o organizacji 8 lub 16 bitowej, a niektóre mogą pracować w obu tych trybach. W takim wypadku, do zmiany organizacji © 08/2007 MicroMade Instrukcja Obsługi 3.01 87 DSM-51 6.Modele urządzeń pamięci słuŜy linia ORG. Dostarczany z przystawką EEPROM AT93C46 moŜe pracować w obu trybach. Stan 0 na linii ORG powoduje wybór trybu 8-bitowego, a stan 1 trybu 16-bitowego. PoniŜej przedstawiona jest przykładowa sekwencja odczytu: CS SK DI 1 1 0 A6 A0 DO 0 D7 D0 SPI Interfejs SPI jest bardzo zbliŜony do Microwire. Tu równieŜ występują cztery podstawowe linie interfejsu, w zasadzie o identycznych funkcjach (choć oznaczane innymi skrótami). CS - wybór układu (polaryzacja odwrotna niŜ w Microwire) SCK - zegar transmisji SI - wejście danych SO - wyjście danych W porównaniu do interfejsu Microwire ujednolicono tu długość wszystkich rozkazów i danych - zawsze przesyłana jest wielokrotność 8 bitów. W Microwire długość rozkazu zmienia się wraz z rozmiarem pamięci EEPROM. Stan 0 na linii WP powoduje zabezpieczenie zawartości EEPROMu 25C040 przed modyfikacją. Aby rozkazy zapisu do pamięci działały linia ta musi być w stanie 1. Linia HOLD pozwala na chwilowe zawieszenie komunikacji z EEPROMem w celu wykonania na szynie SPI innej operacji. W czasie komunikacji z EEPROMem linia ta musi być ustawiona w stan 1. Przykładowa sekwencja odczytu dla EEPROMu AT25C040 przedstawiona jest na rysunku. CS SCK INSTRUKCJA SI A8 ADRES 7 6 SO 88 DANE 0 7 Instrukcja Obsługi 3.01 6 0 © 08/2007 MicroMade DSM-51 6.Modele urządzeń I²C Interfejs I²C jest juŜ zdecydowanie inny. Z 4 linii pozostawiono tylko dwie: SCL - zegar transmisji SDA - dwukierunkowa linia danych. Początek i koniec transmisji, czyli zbocza linii CS, zostały zastąpione odpowiednią sekwencją zmian na linii SDA w czasie, gdy linia SCL jest w stanie wysokim. SDA SCL START STOP Poza tymi sekwencjami, zmiana na linii danych moŜe następować tylko wtedy, kiedy na linii SCL jest stan niski. Do interfejsu I²C moŜna dołączyć wiele układów, gdyŜ w transmisji jest przesyłany równieŜ adres urządzenia. KaŜde przesłane 8 bitów jest zawsze potwierdzane na dziewiątym bicie przez układ docelowy. Trzy najmłodsze bity adresu EEPROMu 24C01A są określone przez stany podane na jego linie A2,A1,A0. Pozwala to na podłączenie do 8 układów 24C01A do jednej szyny I²C i niezaleŜne komunikowanie się z kaŜdym z nich. W interfejsach MicroWire i SPI takie rozwiązanie wymagałoby wytworzenia i rozprowadzenia niezaleŜnych linii CS dla kaŜdego EEPROMu. Stan 1 na linii WP powoduje zabezpieczenie zawartości EEPROMu przed modyfikacją. Przykład sekwencji odczytu EEPROMu AT24C01A przedstawia rysunek. ADRES UKŁADU ADRES DANEJ 76 S T A R T WA RC K ADRES UKŁADU DANA 10 76 AS CT KA R T RA DC K 10 NS OT AO CP K Poszczególne interfejsy zostały przedstawione dość pobieŜnie. Dokładne dane dostarczonych EEPROMów zawarte są w ich kartach katalogowych, umieszczonych w katalogu DSM-51\Modele\M11. Załączone, przykładowe programy wykorzystują najprostszy sposób obsługi EEPROMów. Odczyt i zapis wykonywane są zawsze po jednym bajcie. Nie jest to metoda zbyt efektywna. EEPROMy często pozwalają na odczyt kolejnych komórek pamięci bez podawania kolejnych adresów (sequential read). Natomiast zapis odbywa się przewaŜnie większymi blokami danych, co znacznie przyspiesza programowanie (czas programowania 1 bajtu i jednego bloku jest przewaŜnie jednakowy). Chcąc jednak wykorzystywać te moŜliwości, trzeba zawsze dokładnie przejrzeć dane katalogowe konkretnego EEPROMu. Zawsze mogą istnieć mniejsze lub większe róŜnice pomiędzy EEPROMami róŜnych firm. © 08/2007 MicroMade Instrukcja Obsługi 3.01 89 A B C D 1 1 PA7 PA5 PA3 PA1 PC7 PC5 PC3 PC1 PB7 PB5 PB3 PB1 GND 26 24 22 20 18 16 14 12 10 8 6 4 2 25 23 21 19 17 15 13 11 9 7 5 3 1 D100/26GK S1 VCC 2 GND 100u/16 C1 PA6 PA4 PA2 PA0 PC6 PC4 PC2 PC0 PB6 PB4 PB2 PB0 2 1k PC5 1k PA0 R7 1k PC4 R6 PC7 PA2 R2 1k PC6 R1 2k2 R9 2k2 R4 GND 2k2 R10 GND 2k2 R5 2k2 GND BC847 T2 2k2 R8 VC GND BC847 T1 R3 VC 3 3 PROG_EE 1 CS CS A0 2 SK SO A1 3 DI WP A2 4 DO GD GD 8 VC VC VC 7 WP HD NC 6 SC SC OR 5 SD SI GD uW SPI I2C I2C SPI uW S2 VC GND GND 2k2 R19 2k2 PC1 1k 4 GND 1 2 3 4 1 2 3 4 1 2 3 4 DIP8 S5 DIP8 S4 DIP8 S3 GND 8 7 6 5 8 7 6 5 8 7 6 5 9-May-2007 Data: 5 5 D:\MM\MM_PROT\DSM\M11\DM11_B.SCH Plik: Model M11 Symbol: DSM-51 Programator pamięci EEPROM Tytuł: PC3 R17 PA4 R15 1k BC847 2k2 R16 2k2 R12 PC0 R14 1k PC2 R18 VC GND LED1206R D1 470 10k R11 T4 GND C2 100n R13 BC857 T3 VCC 4 DM11 Nr rys.: B 1 z 1 Arkusz: REV. A B C D DSM-51 6.Modele urządzeń M-13 - ZEGAR CZASU RZECZYWISTEGO I²C Przeznaczenie modelu Model M-13 jest przystawką do Dydaktycznego Systemu Mikroprocesorowego DSM-51 pełniącą funkcję zegara czasu rzeczywistego. Zegar czasu rzeczywistego (Real Time Clock), to nic innego jak zwykły zegar, którego zadaniem jest podawanie mikroprocesorowi aktualnego czasu. Zegar ten powinien prawidłowo liczyć czas nawet po wyłączeniu zasilania systemu mikroprocesorowego, tak aby po jego ponownym włączeniu procesor mógł się od razu dowiedzieć o aktualny czas (rok, miesiąc, dzień, godzina, minuta, sekunda). Zegary czasu rzeczywistego wykonywane są w postaci specjalizowanych układów scalonych, które są tak konstruowane aby pobierały jak najmniej prądu i pracowały poprawnie przy niskich napięciach zasilających. Pozwala to na stosowanie pojedynczej miniaturowej baterii do ich zasilania, nawet, gdy wymagana jest nieprzerwana praca zegara przez wiele lat. W modelu zastosowano układ zegara czasu rzeczywistego opracowany przez firmę Philips - PCF8563. Układ ten oprócz ustawienia i odczytu czasu ma moŜliwość generowania przerwań do mikroprocesora w określonych odstępach czasu. W pliku DSM-51\Modele\M13\m13.txt są zebrane propozycje zadań do wykonania z wykorzystaniem modelu M-13. Budowa i zasada działania Układ PCF8563 w modelu M-13 jest zasilany z systemu DSM-51 (napięcie VCC). Z tego napięcia ładowany jest równieŜ kondensator podtrzymujący (SuperCap). W przypadku braku napięcia VCC (wyłączenie systemu DSM-51 lub odłączenie modelu od systemu), zasilanie układu RTC przejmuje kondensator SuperCap. Zastosowany kondensator SuperCap ma pojemność 0.1F. Do pełnego naładowania kondensatora wystarcza włączenie napięcia VCC na ok. 1 minutę. W pełni naładowany kondensator pozwala na pracę układu PCF8563 przez kilka dni. VCC VCC 0.1F VCC PC1 SDA PCF8563 PC5 CLKOUT 8255 PC4 SCL INT PC0 PC3 © 08/2007 MicroMade Instrukcja Obsługi 3.01 91 DSM-51 6.Modele urządzeń Układ PCF 8563 zawiera 16 8-bitowych rejestrów. Funkcje poszczególnych rejestrów zebrano w tabeli. Adres 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH Nazwa control/status 1 control/status 2 sekundy minuty godziny dzień dzień tygodnia miesiąc rok Alarm - minuta Alarm - godzina Alarm - dzień Alarm - dzień tyg. CLKOUT sterowanie Timer sterowanie Timer Bit7 TEST1 0 VL x x x x C AE AE AE AE FE TE Bit6 0 0 Bit5 STOP 0 Bit4 0 TI/TP Bit3 TESTC AF x x x x x x x x x x x x x x x x x x x x x x Bit2 Bit1 0 0 TF AIE 00 do 59 BCD 00 do 59 BCD 00 do 23 BCD 01 do 31 BCD 0 do 6 01 do 12 BCD 00 do 99 BCD 00 do 59 BCD 00 do 23 BCD 01 do 31 BCD 0 do 6 x FD1 x TD1 Bit0 0 TIE FD0 TD0 timer We wszystkich rejestrach zawierających czas (02H ... 0CH), wartość czasu została zapisana w formacie BCD. Wszystkie bity oznaczone przez x są niezdefiniowane - przy odczycie mogą przyjąć dowolną wartość - 0 lub 1. Układ PCF8563 posiada dwa wyjścia: INT i CLKOUT. Na wyjściu INT moŜe pojawić się sygnał alarmu, zgodnie z wcześniej zaprogramowanym czasem alarmu, lub sygnał generowany przez Timer. Wyjście INT zostało dołączone do linii PC0 złącza wejść/wyjść cyfrowych systemu DSM-51. Pozwala to na wykorzystanie sygnału alarmu jako przerwania w systemie. Na wyjściu CLKOUT moŜna włączyć falę prostokątną o częstotliwości 32.768kHz, 1024Hz, 32Hz lub 1 Hz. W modelu M-13 przebieg z linii CLKOUT podany jest poprzez układ róŜniczkujący na linię PC3 złącza wejść/wyjść cyfrowych systemu DSM-51. W układzie tym dodatnie zbocza przebiegu CLKOUT są zamieniane na krótkie (2 ms) dodatnie impulsy. Podanie tych impulsów na linię PC3 pozwala na wykorzystanie ich jako przerwań. Sposób sterowania wyjść INT i CLKOUT przez układ PCF8563 jest zaleŜny od ustawień w rejestrach sterujących. Dokładny opis rejestrów sterujących (00H .. 01H, 0DH .. 0FH) zawarty jest w karcie katalogowej układu PCF8563, załączonej w katalogu DSM-51\Modele\M13. Szyna I²C. W układzie PCF8563, do komunikacji z mikroprocesorem, wbudowano interfejs I²C. Jest to dwuprzewodowa szyna do której moŜe być dołączonych wiele urządzeń. PoniewaŜ mikrokontroler 8051 nie posiada wbudowanej szyny I²C, więc w modelu dobudowano specjalny interfejs, który umoŜliwia podłączenie modelu do złącza wejść wyjść cyfrowych systemu DSM-51. Jest to faktycznie zbudowanie szyny I²C z elementów dyskretnych. Szyna I²C zawiera 2 linie: SCL - zegar transmisji SDA - dwukierunkowa linia danych. Obie te linie podwieszone są rezystorami do napięcia VCC i sterowane są przez wyjścia typu otwarty kolektor. W ten sposób moŜna do szyny I²C dołączyć wiele urządzeń. Linią SCL sterują tylko urządzenia typu MASTER, natomiast linią danych SDA sterują zarówno urządzenia MASTER jak i SLAVE. W naszym przypadku jest tylko jedno urządzenie typu MASTER (DSM-51) i jedno typu SLAVE (PCF8563). Dlatego, linia SCL jest bezpośrednio sterowana przez linię PC4, która dla tego modelu będzie ustawiana jako wyjście. Linia SDA jest sterowana zarówno przez system DSM-51, jak i przez układ PCF8563. Dlatego, do jej obsługi w systemie DSM-51 wykorzystano 2 linie: PC5 (wyjście) – steruje linią SDA poprzez otwarty kolektor PC1 (wejście) - czyta stan linii SDA. KaŜda transmisja inicjowana jest przez układ typu MASTER. Początek i koniec transmisji zostały zdefiniowane jako odpowiednia sekwencja zmian na linii SDA w czasie, gdy linia SCL jest w stanie wysokim. 92 Instrukcja Obsługi 3.01 © 08/2007 MicroMade DSM-51 6.Modele urządzeń SDA SCL START STOP Poza tymi sekwencjami, zmiana na linii danych moŜe następować tylko wtedy, kiedy na linii SCL jest stan niski. Transmisja na szynie I²C jest zorganizowana jako przesyłanie 8 bitów, które jest potwierdzane na dziewiątym bicie (ACK=0) przez układ docelowy. Na początku kaŜdej transmisji przesyłany jest adres urządzenia (7 bitów) wraz z 8 bitem (RD/WR), który określa, kto będzie wysyłał kolejne bajty. Bit ten ustawiony na 0 oznacza zapis(WR) - a więc kolejne bajty będą nadal przesyłane przez układ, który inicjował transmisję (MASTER). Natomiast, jeŜeli bit ten ustawiony jest na 1(odczyt-RD), to kolejne bajty będzie przesyłał układ zaadresowany na początku transmisji. Zapis do wybranego rejestru wygląda dość naturalnie. Najpierw przesyłany jest adres urządzenia z bitem WR, następnie adres rejestru do którego chcemy wpisać nową daną, a na koniec ta dana. Cała transmisja jest zakończona poprzez wysłanie sekwencji „STOP”. (Układ PCF8563 ma ustalony swój adres - 0A2H.) ADRES UKŁADU ADRES REJESTRU 76 S T A R T DANA 10 WA RC K 76 10 A C K AS CT KO P Trochę mniej naturalnie wygląda odczyt rejestru. PoniewaŜ najpierw trzeba przesłać adres rejestru, a następnie w drugą stronę przesyłana jest jego zawartość, więc w trakcie tej procedury trzeba zmienić WR na RD. Wygląda to następująco: START Adres układu + WR Adres rejestru START Adres układu + RD Dana z rejestru przesłana przez adresowany układ STOP ADRES UKŁADU ADRES REJESTRU 76 S T A R T © 08/2007 MicroMade WA RC K ADRES UKŁADU DANA 10 76 AS CT KA R T Instrukcja Obsługi 3.01 RA DC K 10 NS OT AO CP K 93 DSM-51 6.Modele urządzeń NaleŜy jeszcze zwrócić uwagę na to, Ŝe po przesłanej danej z rejestru , układ MASTER jej nie potwierdza (NO ACK). W ten sposób przejmuje ponownie sterowanie linii SDA i moŜe zakończyć transmisję poprzez wygenerowanie sekwencji STOP. JeŜeli MASTER potwierdzi przesłany bajt danych (ACK), to SLAVE rozpocznie nadawanie kolejnego bajtu - będzie to zawartość kolejnego rejestru. W ten sposób moŜna odczytać kolejno zawartość nawet wszystkich rejestrów z układu. Zakończenie tej transmisji naleŜy wykonać poprzez brak potwierdzenia ostatniej bajtu (NO ACK) i wysłanie sekwencji STOP - tak jak to jest przy odczycie zawartości jednego rejestru. Oprogramowanie Przykładowe programy (rtc2_set.asm i rtc2_rd.asm) demonstrujące sposób wykorzystania modelu M-13 znajdują się w katalogu DSM-51\Modele\M13. Program rtc2_set.asm ustawia RTC korzystając z danych wpisanych wewnątrz programu. Program wpisuje dane do wszystkich rejestrów układu PCF8563. Przygotowane dane powodują podanie sygnału 1Hz na wyjście CLKOUT. Po wpisaniu danych do zegara program wraca do systemu DSM-51. Aby ustawić inny czas, lub zmodyfikować zawartość rejestrów sterujących, trzeba zmodyfikować kod źródłowy programu, zasemblować go i uruchomić w systemie. Program rtc2_rd.asm odbiera przerwania co sekundę z PCF8563 (z wyjścia CLKOUT), odczytuje i wypisuje na wyświetlacz LCD datę i czas oraz generuje krótkie sygnały dźwiękowe. 94 Instrukcja Obsługi 3.01 © 08/2007 MicroMade A B C D 1 1 PA7 PA5 PA3 PA1 PC7 PC5 PC3 PC1 PB7 PB5 PB3 PB1 GND 26 24 22 20 18 16 14 12 10 8 6 4 2 25 23 21 19 17 15 13 11 9 7 5 3 1 D100/26GK S1 VCC GND 100u/16 C5 PA6 PA4 PA2 PA0 PC6 PC4 PC2 PC0 PB6 PB4 PB2 PB0 2 2 PC5 PC4 PC1 1k R7 10k R3 3 4 2k2 R9 1k 10k R4 AHC14 U2B 2k2 10k 3 1k R1 7 CKO 3 INT 6 SCL 5 SDA VCC U1 GND BC847 PCF8563 T1 10k R2 R6 R10 GND R8 10k R5 220p C1 3 8 V 5 9 100n C3 4 XI 1 2 220 R13 PC3 PC0 GND 220 R12 220 R11 Rk32k/12p X1 6 8 GND AHC14 U2C AHC14 U2D XO G BAV70 D1 GND C2 0.1F/5.5# R14 220 VCC 4 4 100n C4 AHC14 U2A AHC14 U2E AHC14 U2F 2 10 12 GND 9-May-2007 Data: 5 5 D:\MM\MM_PROT\DSM\M13\DM13_A.SCH Plik: Model M13 Symbol: DSM-51 Zegar Czasu Rzeczywistego I2C Tytuł: GND 1 11 13 VCC 14 V 7 G DM13 Nr rys.: A 1 z 1 Arkusz: REV. A B C D DSM-51 7.Notatki 7.Notatki 96 Instrukcja Obsługi 3.01 © 08/2007 MicroMade