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

Podobne dokumenty