A. PRZEZNACZENIE

Zegar elektroniczny IZA posiada znacznie rozbudowaną strukturę w porównaniu z zegarami dostępnymi na rynku. Zamierzeniem moim było zbudowanie urządzenia, które połączy w sobie cechy i funkcje przydatne w domu. Mamy tu do dyspozycji: -zegar z odbiornikiem DCF77, -stopery, -budzik (80 alarmów), -kalendarz z terminarzem, -sterownik czterech urządzeń elektrycznych, -zamek cyfrowy, -port komunikacji z komputerem.

1)ZEGAR. Nowością jest samoczynne przestawianie się zegara na czas letni i zimowy (w marcu i październiku), oraz automatyczne ustawianie czasu i daty z dokładnością zegara atomowego znajdującego się we Frankfurcie, skąd nieprzerwanie nadawany jest radiowy sygnał czasu (zwany DCF77), IZA synchronizuje się z nim. Sygnał dociera z odległości około 500[km], jest więc opóźniony 1,6[ms], synchronizacja odbywa się kwantowo, najmniejszy skok to 1/250 sekundy -4[ms], tak więc zsynchronizowany zegar opóźnia się za wzorcem 1,6 do 5,6[ms] -taki uchyb jest dla nas niezauważalny, można go pominąć. Dla podtrzymania synchronizacji wystarczy aby w ciągu każdych 2 minut odebrane zostało kolejno 5 poprawnych czasowo sekund. Gdy IZA zostanie potraktowana przez RESET i ustawi tryb D, potrzebuje czasu aby dostroić się do początku sekundy i samoczynnie ustawić. Przy niezakłóconym sygnale wystarczy na to mniej niż 2 minuty -dostrojenie 40 sekund (125/250 -20/250 =0,42 sekundy; krok 0,012 sek. a więc 35 sekund plus 5 poprawnych aby synchronizacja została rozpoczęta) i poprawny przekaz 60 sekund. Oczywiście, gdy sygnał jest słaby lub zakłócony czas ten może się wydłużyć. DCF77 może być uzyskany z dowolnego źródła. Można wykonać odbiornik na układzie U2775B (jednak jest on trudno osiągalny), zakupić gotowy odbiornik z firmy (np. do ustawiania czasu zegara w komputerze) ...itp. Należy tylko pamiętać o polaryzacji sygnału -stan L trwający 0,1 lub 0,2 sekundy na tle stanu wysokiego, doprowadzony do bitu 7 portu PC2. Jeśli uzyskana polaryzacja jest inna należy wykonać inwertor na tranzystorze i dwu rezystorach: T1, R10, R11. Schemat podłączenia odbiornika DCF77 przeznaczonego dla komputera do zegara IZA przedstawia rys. B.
Czas pokazywany jest na wyświetlaczu cyfrowym LED, który może także pokazywać czas (8sek.) na zmianę z datą (2sek.), oraz stan jednego z pięciu stoperów.

2)STOPERY. Zakres odmierzanego czasu: od 1 sekundy do 24 godzin. Wartość stopera ustawia się odpowiednią komendą i po uaktywnieniu (bezpośrednio z klawiatury - przez użytkownika, z komputera lub poprzez ustawiony alarm) następuje odliczanie. Stopery A...D odliczają w dół. Przez czas “chodu” stopera jest załączone, przypisane mu, urządzenie sterownika A...D. Gdy stan stopera osiągnie zero - wyłączy się urządzenie, a na wyświetlaczu pojawi się komunikat: Stoper A stop. Stoper E jest stoperem użytkownika, nie steruje żadnym urządzeniem, pozwala jedynie odmierzać czas w przód lub w tył od zera lub ustawionej wielkości czasu. Po RESET stopery przyjmują wartości: A: 00:02:00, B:00:20:00, C:02:00:00, D:08:00:00 i E:00:00:00.

3)BUDZIK - może zapamiętać do osiemdziesięciu (!) alarmów programowanych przez użytkownika z klawiatury lub przesyłanych z komputera. Każdemu z alarmów niezależnie od pozostałych możemy nadać następujące cechy:     
                      a)warunki uaktywnienia:
			-czas - godzina i minuta
			-dzień tygodnia ( nie musimy podawać)
			-data w postaci dnia miesiąca i miesiąca (nie musimy podawać).
                       b)wykonywane funkcje:
			-wyświetlanie krótkiej informacji tekstowej (nie musimy podawać).
			-uruchomienie sygnału dźwiękowego, do dyspozycji   mamy opcje od piknięcia pół- sekundowego do 
pojawiającej się melodyjki co 5 sekund przez 1 godzinę.
			-włączenie lub wyłączenie jednego, kilku lub wszystkich urządzeń sterownika
			-włączenie jednego, kilku lub wszystkich stoperów A...D.
Każdy z alarmów może mieć jedną, kilka lub wszystkie wymienione funkcje. Ponad to każdy z alarmów może być jednorazowy (tzn. wykasuje się po wykonaniu) lub wielokrotny. Połączenie (a) i (b) w różnych konfiguracjach dla tylu alarmów daje duże możliwości sterowania, budzenia i przypominania. Po RESET jest zapisywany tylko jeden alarm -włączający stoper D o godzinie 23:00 -w prototypie załącza on ładowarkę do telefonu GSM.

4)KALENDARZ Z TERMINARZEM - obejmuje daty od 1 stycznia 1900r. do 31 grudnia 2150r. Oczywiście uwzględnia lata przestępne i podpowiada jaki dzień tygodnia był np. 2 lutego 1911r., a jaki będzie 31 grudnia 2141r. Terminarz użytkownika pozwala na zapisanie krótkiej informacji tekstowej (z klawiatury lub z komputera) niezależnie na każdy dzień roku i automatycznie przypomina nam ją danego dnia. Zegar posiada, oprócz tego, tzw. terminarz stały (w pamięci EPROM) zawierający 22 daty, o których także przypomina :

.01.01	Do siego roku!	
.01.21	Dzień Babci	
.01.22	Dzień Dziadka	
.02.14	walentynki	
.03.08	Dzień Kobiet	
.03.21	wiosna	
.04.01	prima aprilis	
.05.08	Dzień Zwycięstwa	
.05.26	Dzień Matki	
.06.01	Dzień Dziecka	
.06.23	Dzień Ojca	
.11.01	Święto Zmarłych	
.11.11	Święto Niepodległości	
.12.24	Wigilia	
.12.25 i .12.26	Boże Narodzenie	
.12.31	Sylwester	
	Twoje imieniny	
	Twoje urodziny	
	Twoje święto	
	?	
	?	

Daty wydrukowane tłustą czcionką są standardowe przy programowaniu EPROM.
Oprócz tego terminarz przypomina o fakcie wystąpienia każdego piątku 13 -ego (jeśli nie ma na ten dzień zapamiętanej informacji w terminarzu stałym) -przypomina komunikatem: “Jestem przesądna”.

5)STEROWNIK CZTERECH URZĄDZEŃ ELEKTRYCZNYCH włącza lub wyłącza zasilanie 220V dowolnych sprzętów domowych (poprzez układ mocy -przekaźniki lub triaki). Można nim kierować na cztery sposoby:
-bezpośrednio z klawiatury włączając lub wyłączając urządzenia,
-przesyłając rozkaz z komputera,
-poprzez uruchomienie stopera (stoperów); załączone zostaje również urządzenie na czas chodu stopera,
-poprzez zaprogramowanie w funkcji alarmów; włącz, wyłącz, lub włącz stoper.
Jako zestaw standardowy sterownika możemy wykorzystać np.:A) lampkę, B) ekspres do kawy (czajnik), C) grzejnik elektryczny, D) radio (telewizor) itp. Łatwo można sobie teraz wyobrazić taki oto scenariusz (-jest ranek 14 lutego): 
-o godz. 530 zegar, na 2 godziny, załącza stoper sterujący grzejnikiem - aby było nam cieplej
-o godz. 640 włączony zostaje ekspres do kawy i po 15 min wyłączony - kawa zaczyna stygnąć
-o godz. 700 zegar włącza radio - cicha muzyka powoli nas rozbudza
-o godz. 710 włącza się (jeżeli jeszcze śpimy) lampka budząc nas razem z sygnałem melodyjki, a na wyświetlaczu pojawiają się komunikaty...*****Dzień dobry! ***** walentynki ***** Imieniny Joli*****,  ...domagając się potwierdzenia. Kawa nie jest już gorąca...   
Jeżeli chcemy jeszcze pospać wystarczy, że naciśniemy dowolny przycisk - mamy spokój przez 10 minut (funkcja drzemki). Aby na stałe wyłączyć sygnał dźwiękowy alarmu musimy wpisać rozkaz: śPI.

6)ZAMEK CYFROWY steruje zaczepem elektromagnetycznym na 12V, który może ryglować np. szafkę w biurku. Otwarcie zamka nastąpi dopiero po podaniu kodu w postaci daty od 1.01.1900 do 31.12.2150, co daje ponad 90 000 możliwości. Kod nie jest ustalony raz na zawsze, przeciwnie - przy każdym zamknięciu możemy podać inny. Pierwszy szyfr (przy włączeniu zegara) należy ustalić przed zaprogramowaniem pamięci EPROM. Otwarcie zamka nie jest możliwe z komputera -należy to zrobić wpisując odpowiednie komendy z klawiatury.

B. OBSŁUGA

Po włączeniu zasilania zegar Iza przedstawia się: “***** IZAv2.2 980610 *****” i wyświetla komunikat Czas nieznany, a na wyświetlaczu LED pojawia się symbol poszukiwania sygnału DCF77. Po każdym RESET lub zaniku zasilania sieciowego (i braku napięcia akumulatora) pojawia się dźwięk -BEPER i komunikat “Zanik zasilania!”, aż do momentu potwierdzenia przez użytkownika. Jest to konieczne ze względu na fakt wykasowania wszystkich zapisanych do zegara ustawień.
1)Wszystkie informacje z i do zegara przekazywane są za pomocą:
- ekranu tekstowego LCD (wyświetlacz ciekłokrystaliczny) - dwa wiersze po szesnaście znaków. W trybie bezpośrednim w górnym wierszu zegar pokazuje datę i dzień tygodnia, a w dolnym pojawiają się komunikaty. Wyświetlacz może być podświetlany, nie wymaga wtedy oświetlenia zewnętrznego.
	- cyfrowego ekranu LED - cztery cyfry w kolorze zielonym pokazujące: 
•	godziny i minuty (lub sekundy) czasu rzeczywistego,
•	lub datę,
•	lub stan jednego ze stoperów,
-nad cyframi znajdują się kontrolki LED:
•	cztery żółte kontrolki pracy urządzeń sterownika,
•	jedna czerwona -praca zaczepu zamka cyfrowego,
•	jedna zielona sygnalizująca nowy, nie potwierdzony komunikat,
-portu komunikacji z komputerem w standardzie RS232,
-klawiatury - składającej się z 40 przycisków w układzie “QWERTY” (rys. O)
KEY - służy do wyboru znaczenia klawisza -jednego z dwóch,
EXE - potwierdzenie lub wykonanie wpisanej komendy (),
del - kasowanie ostatniego znaku,
ins - wpisanie spacji w tekst,
 - przesunięcie kursora w lewo,
 - przesunięcie kursora w prawo,
 - przesunięcie kursora do końca tekstu.
W trybie prostym każdy z przycisków uruchamia 10 minutową drzemkę (gdy trwa sygnał dźwiękowy), a ponad to przyciski:
	1,2,3,4,5 (zielone) - umożliwiają chwilowy podgląd stanu stoperów (odpowiednio A...E),
	6,7,8,9 (żółte) - wyłączają/ załączają odpowiednie urządzenia sterownika A...D (pod warunkiem, że dane urządzenie nie jest aktualnie sterowane przez stoper),
	0 (czerwony) - odciąga zaczep zamka (gdy jest odkodowany),
	S (fioletowy) - pozwala na chwilowy podgląd sekund czasu lub stopera,
	P (fioletowy) - potwierdza wyświetlający się komunikat,
	K (fioletowy) - kasuje potwierdzony, wyświetlający się komunikat,
Praca ze stoperem E (użytkownika): Q - start w tył, W - start w przód, E - stop, R - zerowanie (wszystkie w kolorze ciemnozielonym),
	EXE (fioletowy) - przejście na tryb tekstowy ekranu LCD i klawiatury  -na wyświetlaczu pojawi się napis:  Twoje życzenie:  wtedy w dolnej linijce możemy wpisywać komendy do wykonania.  Wykorzystanie wszystkich możliwości zegara jest możliwe po przejściu na tryb tekstowy poprzez komendy wpisywane z klawiatury. Komendy używane są w języku polskim i łatwo je zapamiętać, a wpisując trzeba wiedzieć:
-podając datę wpisujemy pełny rok, numer miesiąca i numer dnia rozdzielając je kropkami. Niektóre komendy nie wymagają podania roku, wystarczy numer miesiąca i dzień, jednak przed numerem miesiąca musi być kropka:    1997.01.31  lub  .1.31
-podając czas wpisujemy godzinę (w systemie 24-godzinnym), minuty (i w niektórych przypadkach sekundy) rozdzielając je dwukropkiem:    23:59  lub  23:59:15  lub  0:0:1
-wpisując tekst komunikatu w cudzysłowie możemy używać dowolnych znaków. Tekst dłuższy niż 16 znaków będzie obcięty, a krótszy będzie uzupełniony spacjami:     “auto”  da nam  “      auto      ” ,     “Bardzo długi tekst taki”  da nam  “Bardzo długi tek”
-wpisując słowo kluczowe używamy wielkich liter, zegar rozpoznaje słowa kluczowe już po trzech pierwszych znakach,
-wszystkie człony komend, a więc: słowa kluczowe, daty, czasy, tekst, numery urządzeń i stoperów rozdzielamy spacjami,
-jeśli popełnimy błąd i IZA nie będzie mogła wykonać polecenia poinformuje nas o tym komunikatem: “Przykro mi, ale nie potrafię...”    i musimy wówczas komendę wpisać od początku. Komendy, które zostaną wykonane, a ich bezpośredniego rezultatu nie widać, zostają potwierdzone:  “*****Jak każesz*****”.
Jeśli wskutek przypadku, lub celowo nastąpi odłączenie (nadmierny spadek) napięcia akumulatora, zegar poinformuje nas o tym komunikatem “spr. akumulator!”. Połączenie razem końcówek 11, 12 i 13 układu US102 spowoduje również mruganie wyświetlaczy LED przy braku napięcia akumulatora.
Mruganie wyświetlacza LED sygnalizuje o pojawieniu się stanu wysokiego na końcówce MRUGANIE LED. Można ją wykorzystać do sygnalizacji stanu jakiegoś czujnika (tylko napięcie TTL!), lub do sygnalizacji zaniku napięcia akumulatora (opis wyżej).

Lista dostępnych komend:
{A...E} - przełącza wyświetlacz cyfrowy tak, aby przez chwilę (3sek.) pokazywał stan stopera.
ALARM - umożliwia podgląd zaprogramowanych alarmów i ich liczby (na początku):
      -(Q)- podgląd poprzedniego (jeszcze raz) alarmu,
      -(E)- edycja wybranego alarmu,
      -(EXE) -edycja wybranego alarmu bez kasowania, jeśli wciśniemy jeszcze raz EXE alarm zostanie powielony,
      -(K) - kasowanie wyświetlanego alarmu, (tylko jednego) -przycisk należy przytrzymać, aż zobaczymy: ***** kasuje !*****,
      -(K) - kasowanie wszystkich alarmów, (przycisk należy przytrzymać w momencie gdy zegar wyświetla liczbę zaprogramowanych alarmów -do momentu aż zobaczymy: ***** kasuje !*****),
      -(...inny przycisk) - przerwanie wyświetlania alarmów (po wyświetleniu całego alarmu...),
Należy pamiętać o tym, że alarmy wyświetlają się kolejno, a jako pierwszy pokaże nam się ostatnio wpisany. Przyciski opisane tutaj są czytane w chwili gdy wyświetlany alarm “wyjeżdża” z ekranu.
 Jeśli nie ma żadnych zaprogramowanych alarmów ujrzymy komunikat: “***** Nie znam żadnego *****”. 
ALARM {*} {data} {dzień tygodnia} {czas} {tekst} {dźwięk} {urządzenie} {urządzenie} {urządzenie} {urządzenie} -programujemy.
Maksymalnie możemy zapisać do osiemdziesięciu alarmów. Jeśli spróbujemy wpisać 81 alarm ujrzymy komunikat “*****Pamięć alarmów jest pełna*****”;
* - oznacza, że alarm będzie wielokrotny, jeśli zaś nie postawimy tej gwiazdki to alarm wykasuje się po pierwszym wykonaniu.
data, dzień tygodnia, czas - to warunki uruchomienia zegara. Błędem jest podanie daty i dnia tygodnia w jednym alarmie lub nie podanie czasu. Daty i dnia tygodnia nie musimy podawać, wówczas alarm będzie wykonywał się każdego dnia. Jako dzień tygodnia podajemy słownie zapisany np. PONIEDZIAŁEK, co powoduje wykonanie (wykonywanie cykliczne -jeśli zapisaliśmy gwiazdkę) w każdy poniedziałek, lub jeśli wpiszemy słowo PNPT, alarm będzie uaktywniał się o podanej godzinie we wszystkie dni od poniedziałku do piątku. Podobnie podanie tutaj zamiast dnia tygodnia słowa SONI, spowoduje uaktywnianie się tego alarmu w każdą sobotę i niedzielę.
tekst - krótki komunikat towarzyszący alarmowi, nie musimy go podawać.
sygnał dźwiękowy - mamy do wyboru: BEEP, TON, MELODIA, BEPER, TONER, GRAJEK, BUDZIK, lub nie podajemy.
urządzenie- podajemy np.: A WYŁĄCZ (wyłącza urządzenie A), A ZAŁĄCZ (włącza urządzenie A), A STOPER (włącza stoper i urz. A),tak samo dla urządzeń: A, B, C i D. Należy zwrócić uwagę, że komenda: “ALARM 23:11” nie jest błędna i zostanie wykonana o podanej godzinie, ale jej wykonanie nie będzie widoczne gdyż nie podaliśmy żadnych parametrów wykonawczych. Przykłady:
	ALARM * WTOREK 12:15 “OBIADEK” GRAJEK A ZAŁĄCZ C WYŁĄCZ  D STOPER  ,lub
	ALA * WTO 12:15 “OBIADEK” GRA A ZAŁ C WYŁ  D STO  (IZA rozpoznaje słowa kluczowe po pierwszych trzech literach),
	powoduje, że w każdy wtorek o godzinie 12:15 będzie wyświetlany komunikat  “     OBIADEK    ”, włączany sygnał dźwiękowy, 	włączane urządzenie A, wyłączane urządzenie C i włączane D na czas ustawiony stoperem D.
BEEP -1 piknięcie.
BEPER -BEEP co 2 sekundy przez 10 minut.
BUDZIK -melodia co 5 sekund przez godzinę.
CZAS LETNI {data} {czas} - programujemy datę i godzinę o której zegar przestawi się na czas letni. (Uwaga! Podajemy pełną godzinę).
CZAS ZIMOWY {data} {czas} - jak wyżej -dla zmiany na czas zimowy.
Warto zauważyć, że zegar sam oblicza momenty zmiany czasu po każdym ustawieniu i każdym przeskoku roku, na ostatnią niedzielę marca i ostatnią niedzielę października, czyli na momenty zmiany czasu dla Polski.
CZEść - zegar przechodzi na tryb pracy prosty. Warto wspomnieć, że zegar samoczynnie przejdzie na tryb pracy prosty jeśli w trybie tekstowym nie będziemy używać klawiatury przez około 2 minuty.
{data} - informuje nas jakim dniem tygodnia był określony przez nas dzień, miesiąc, rok. (z zakresu terminarza) np.:
	1997.8.25  - wyświetli: “*****1997.08.25-poniedziałek*****”.
DZIEŃ {czas} ({czas}) - ustanawia w jakich godzinach (od-do) będzie pracowała “kukułka” (jeśli jest włączona) oraz kiedy zegar do przyzwania nas dla potwierdzenia komunikatu będzie używał sygnału dźwiękowego. Innymi słowy poza tymi godzinami sygnał dźwiękowy będzie włączany tylko przez alarm. Po włączeniu zasilania (lub RESET) mamy ustawione 08:00 i 21:00. 
DZIEŃ -umożliwia podgląd godzin “pory dnia”, przykład:  DZIEŃ  - wyświetli (na przykład)“*****Ranek 08:00, wieczór 21:00.*****”.
GRAJEK -TON co 2 sekundy przez godzinę.
KOMUNIKAT {data}{tekst} - zapamiętuje w terminarzu pod podaną datą krótki komunikat słowny.
KOMUNIKAT {data} - pokazuje jakie komunikaty są zapamiętywane na określony dzień, przykład:	KOMUNIKAT  - wyświetli      “*****Komunikat .01.14 Nie znam żadnego.*****”, lub “*****Komunikat .02.14 ”       valentynki      ” *****”, lub “*****Komunikat .02.14 ” Twój komunikat ”&”    valentynki      ”*****”, zależnie od tego co będzie wpisane danego dnia w terminarzach użytkownika i stałym. Jeśli nie podamy daty, wyświetlą się komunikaty z dnia dzisiejszego. Rozkaz taki spowoduje również odświeżenie wyświetlanych komunikatów na dziś, tzn. znów będą wyświetlane komunikaty które już skasowaliśmy, jednak nie będą wymagały potwierdzenia.
KUKUŁKA - włącza “kukułkę”, która “kuka” o pełnych godzinach tyle razy, która jest godzina (1-12). np. o 1200 dwanaście razy, a o 1500 trzy razy. Oczywiście tylko w godzinach ustawionych jako dzień.
KUKUŁKA BEEP - włącza sygnalizację pełnych godzin za pomocą jednego dźwięku TON.
KUKUŁKA WYŁĄCZ - wyłącza działanie kukułki.
LORD - informuje nas kto jest właścicielem tego zegara, przykład: LORD  - wypisuje np.: “***** Jestem własnością Wiktora Szymanowskiego. ***** Zostałem wykonany przez VikiSM Częstochowa ul. Sportowa 112m24 *****”,
MELODIA -melodyjka - ok. 3 sekundy.
POKAż LETNI ZIMOWY - informuje o ustawieniach zmiany czasu na obecny rok ,np.: “***** Zmiana czasu .03.30 02:00(+) i .10.26 03:00(-) *****”;   (dla roku 1997).
POKAż ZEGAR - na wyświetlaczu cyfrowym będzie pokazywany czas bieżący (jeśli wcześniej był np. stoper).
POKAż ZEGAR DATA (lub: POKAż DATA ZEGAR) - na wyświetlaczu cyfrowym będzie pokazywany czas bieżący (8sek.) na przemian z datą (2sek.). A na wyświetlaczu LCD data i czas. Jest to korzystne przy braku napięcia zasilania 220 V i odłączonym wyświetlaczu LED, a także pożyteczne dla ludzi przyzwyczajonych do zegarów na układach MC1203 lub MC1206.
PRODUCENT- wyświetla informację o sposobie kontaktu z producentem zegara (EPROM’ów do zegara).
SEKUNDY - na wyświetlaczu cyfrowym przez chwilę będą wyświetlane sekundy czasu bieżącego (lub stopera).
STOPER {A...E} - przełącza wyświetlacz cyfrowy tak, aby stale pokazywał stan stopera.
STOPER {A...E} {czas} - ustawia stan stopera (A...E). Po tym rozkazie stoper zawsze będzie rozpoczynał odliczanie od tej wartości.
STOPER {A...E} HALT (lub: {A...E} HALT) - zatrzymuje stoper
STOPER {A...E} START (lub: {A...E} START) - stoper rozpoczyna odliczanie, a jeśli jest to stoper A...D to również załącza urządzenie.
śPI - wyłącza sygnał dźwiękowy alarmu, także w czasie trwania “drzemki” (funkcji sleep).
TON -3 dźwięki.
TONER -BEEP co 2 sekundy przez godzinę.
USTAW LETNI ZIMOWY - ustawia daty i godziny przejścia na czas letni i zimowy dla Polski, tzn. przełączenie na czas letni (+1 godz.) w ostatnią niedzielę marca a na czas zimowy (-1 godz.) w ostatnią niedzielę października, zastępuje tym samym komendy CZAS LETNI i CZAS ZIMOWY, kasując wcześniejsze ustalenia.
USTAW ZEGAR ({data}){czas} - ustawia czas i datę zegara zgodnie z podanymi wartościami (nie podajemy dnia tygodnia przy dacie - jest on obliczany automatycznie). Rozkaz bez parametrów przełącza zegar na tryb pracy D -ustawienia według zegara z Frankfurtu. Podanie godziny przełącza na tryb A -DCF77 jest ignorowany.
WYŁĄCZ {A...D}  - wyłącza urządzenie (niezależnie od tego, czy jest nadzorowane przez stoper).
ZAŁĄCZ {A...D}- włącza urządzenie.
ZAMEK ZAMKNIJ {data} (lub: ZAMKNIJ ZAMEK {data}) - zabezpiecza zamek przed otwieraniem w trybie prostym. Data jest tutaj kodem szyfrującym ( nie musimy jej podawać ). !Uwaga: wpisanie ZAM ZAM nie zostanie zinterpretowane jako ZAMEK ZAMKNIJ tylko jako  ZAMEK ZAMEK i spowoduje wypisanie komunikatu o błędzie.
ZAMEK OTWÓRZ {data} (lub: OTWÓRZ ZAMEK {data}) - powoduje otwarcie zamka (jeśli podamy oczywiście dobry kod).
       ZEGAR- wyświetla opis poziomu sygnału DCF77. np. “DCF 15/04 13:59c” określający stan zegara i warunki odbioru; odpowiednio: 15 -w ciągu poprzedniej minuty odebrano 15 poprawnych bitów, 04 -w ciągu minionej godziny odebrano 4 poprawne przekazy (czasy, parzystość i logika), 13:59 -ostatnie ustawienie zegara nastąpiło dziś o tej godzinie (**:** gdy nie było ustawienia), c- tryb pracy zegara. Po każdym ustawieniu w trybie d jest wyświetlany komunikat specjalny o treści jak po rozkazie ZEGAR, a następnie IZA automatycznie przełącza się na tryb c.
ZEGAR AUTO- przełącza zegar na tryb a -autonomiczny, IZA ignoruje wtedy sygnał DCF77.

Przedstawiony opis funkcji zegara może sugerować jego wykonawcą sposób zaprogramowania pamięci stałej dla ich wykonywania, jednak bezpośrednio dotyczy on programu obsługi zegara już ułożonego i możliwego do zakupienia po skontaktowaniu się z autorem telefoniczne 0602 373 072, lub listownie. Zakupione EPROM`y są zabezpieczone przed zmianą ich zawartości, każda taka próba spowoduje blokadę pracy urządzenia i wyświetlenie komunikatu: “DZWOŃ 0602373072”. Jednocześnie pragnę zaznaczyć, że sprzedawany program obsługi jest chroniony zastrzeżonymi prawami autorskimi i wszelkie jego kopiowanie bez wiedzy i zgody autora jest naruszeniem tych praw. 

C. BUDOWA I ZASADA DZIAŁANIA

IZA jest systemem mikroprocesorowym na bazie Z80 CPU z zegarem 2MHz i przerwaniami NMI 250Hz. 2MHz i 250Hz uzyskuje się z podzielenia częstotliwości generatora wzorcowego 4MHz zbudowanego na bramkach układu US7 przez 2 i przez 16000. W wersji bez odbiornika sygnału radiowego dokładność tego generatora ma decydujący wpływ na wierność zliczania czasu. Przykładowo niedokładność generatora 1157,5Hz (0,029%) (czyli częstotliwość 3998842,5Hz zamiast 4000000Hz) daje nam spóźnienie 25 sekund na dobę! Dlatego generator należy zestroić za pomocą dokładnego częstotliwościomierza cyfrowego.
Mikroprocesor współpracuje z pamięciami RAM 8kB i EPROM 16kB, które zawierają ustawienia zegara i program obsługi. US6 to dekoder adresów. Dzieli obszar pamięci w następujący sposób:
#0000 EPROM 8kB (A)
#2000 EPROM 8kB (B)
#4000 RAM 8kB 
#A000 sterownik RS232
#C000 PI/01
#E000 PI/02
Jako układ wejścia-wyjścia wykorzystano dwa układy portów równoległych 8255 (opis Radioelektronik 1/1986 str.6-8), co daje 6 portów 8 bitowych o następującym przyporządkowaniu i adresach:
PI/01:		#C000 PA-1:port LCD(IN/OUT),
#C001 PB-1:sterowniki urządzeń, zamka,LCD(OUT),
#C002 PC-1: klawiatura (IN&OUT),
#C003 P@-1:bajt sterujący portami PA-1...PC-1,
PI/02:		#E000 PA-2:wyświetlacz LED C3 i C4 (OUT),
#E001 PB-2:wyświetlacz LED C1 i C2 (OUT),
#E002 PC-2: odbiornik sygnału czasu, sound(IN&OUT),
#E003 P@-2:bajt sterujący portami PA-2...PC-2.
Wyświetlacz LCD (opis Radioelektronik 5/1994 str.9-11) jest sterowany swoim mikroprocesorem, który otrzymuje od procesora centralnego Z80 jednobajtowe rozkazy lub kody znaków (ASCII) poprzez PA-1. Z portu PB-1 są wydzielone 3 bity: E, R/W i R/D decydujące kolejno o: kontakcie z LCD, zapisie lub odczycie i o tym czy bajt jest rozkazem, czy daną. 
Każdy ze sterowników i zamek jest sterowany jednym bitem z portu PB-1. Aktywnym jest tutaj stan wysoki. Bit steruje tranzystorem, który zasila żółtą diodę LED (nad wyświetlaczami cyfrowymi) i przekaźnik kontaktronowy zamykający obwód zasilania urządzenia o małym poborze prądu lub obwód tyrystorowy włączający urządzenie o większej mocy.
Klawiatura to matryca mikrowyłączników 4*10, jest sterowana i czytana przez port PC-1, bity 0-3 pracują jako wyjściowe podając w kodzie BCD numer kolumny klawiatury do dekodera US 103, który poprzez wyjścia typu otwarty kolektor zwiera tą kolumnę do masy. Pozostałe bity pracują jako wejściowe i “czytają” czy (i który) z kolumny przycisków jest wciśnięty. Obliczenie numeru przycisku i nadanie mu kodu ASCII odbywa się już w systemie mikroprocesorowym.
Poprzez porty PA-2 i PB-2 (wyjściowe) mikroprocesor przesyła w kodach BCD na trzech 4-bitowych i jednej 2-bitowej szynie wartości cyfr C1-C4. Wartości te są dekodowane w układach US 105-108 i sterują wyświetlaczami siedmioegmentowymi LED. Bity 6 i 7 portu PB-2 sterują odpowiednio dwukropkiem i zieloną diodą LED (nad wyświetlaczem).
Port PC-2 (bity 0-3 wyjściowe, 4-7 wejściowe) nie jest do końca wykorzystany. Jeden z bitów (0) steruje układem generatora dźwięku opartego na US 104 - włączając lub wyłączając jego napięcie zasilania. US 104 jest scalonym generatorem melodyjki, jeśli podłączymy do niego zasilanie, to (poprzez wzmacniacz - T 101) generuje w głośniku kilka dźwięków układających się w melodyjkę. Tak więc krótkie uaktywnienie bitu 0 powoduje krótkie beepnięcie (początek melodyjki), a dłuższe to już kilka tonów lub cała melodyjka.
Bity 4 i 5 w stanie wysokim powodują mruganie wyświetlacza LED, można je wykorzystać do sygnalizacji stanu jakiegoś sensora.
Bit 6 kontroluj poprzez D107 i R147 podłączenie zewnętrznych akumulatorków i sygnalizuje za pomocą komunikatu jego brak.
Bit 7 czyta sygnał z układu odbiornika DCF77 (opis w Radioelektronikach 2 i 3 /1993), który z anteny po demodulacji jest wprowadzany w standardzie TTL na rezystor R10, a dalej po inwersji na wyprowadzenie 10 -US102. 
Przypomnę podstawy o wzorcu czasu (Radioelektronik 2 i 3/1993): DCF77 jest nadawany na częstotliwości 77,5kHz na falach długich z modulacją amplitudy, przyjmuje się że można go odebrać z odległości do 1500km (a więc w całej Polsce; odbiornik był testowany pomyślnie w Częstochowie i Gdyni), kompletny przekaz trwa minutę. Obniżenie amplitudy o 25% to stan niski, cała amplituda to stan wysoki. Początek obniżenia jest początkiem sekundy. Podczas przekazu nadawanych jest 59 bitów dla sekund 0 -58, w ostatniej sekundzie brak impulsu. Kolejne bity oznaczają:
0	nic; zawsze  0,
1-14	bez znaczenia,
15	0- antena normalna; 1- antena pomocnicza,
16	0-normalnie; 1- przez godzinę przed zmianą -zapowiedz zmiany czasu,
17,18	czas letni / zimowy,
19	0-normalnie; 1-zapowiedz dodatkowej sekundy,
20	nic; zawsze  1,
21-27	minuty w BCD,
28	bit parzystości minut,
29-34	godziny,
35	bit parzystości godzin,
36-41	dzień miesiąca,
42-44	dzień tygodnia; 1=poniedziałek,
45-49	miesiąc,
50-57	rok,
58	bit parzystości dla daty (bity 36-57).

KILKA SŁÓW O ZAWARTOŚCI PAMIĘCI EPROM

W wersji IZAv2.2 16kB EPROM zawiera wszystkie niezbędne dane i procedury do pracy układu jako zegar z odbiornikiem DCF77, sterowniki, zamek, posiada 80 alarmów i kalendarz-terminarz oraz stopery, współpracuje z komputerem. Wykorzystano popularne układy 2764. Ambitnym i cierpliwym polecam napisanie swojej wersji programu obsługi, chętnie jednak prześlę zaprogramowany zgodnie z opisem chip dla zainteresowanych. Przed zaprogramowaniem należy zdecydować jakie dni umieścimy w terminarzu stałym, kto będzie właścicielem zegara (co będzie do sprawdzenia po komendzie LORD), oraz jaki będzie startowy szyfr zamka. 

Pod adresem #0066 znajduje się procedura przerwań NMI, podczas których jest wykonywanych 95% funkcji zegara. Przerwania są wykonywane 250 razy na sekundę, na początku każdego przerwania wykonywana jest procedura IncClk-zwiększenia stanu zegara:

INC (IY+F1)			zwiększ wartość licznika
RET NZ			ułamka sekund
LD A,(IY+F2)			zwiększ wartość
INC A			licznika
CP 3C		=&60	sekund, gdy przekroczył
JR C,02			zakres to zeruj i ...
LD A,00
LD (IY+F2),A
RET C
LD A,(IY+F3)
INC A			zwiększ wartość
CP 3C		=&60	licznika
JR C,02			minut, gdy przekroczył
LD A,00			zakres to zeruj i ...
LD (IY+F3),A
RET C
LD A,(IY+F4)			zwiększ wartość
INC A			licznika
CP 18		=&24	godzin, gdy przekroczył
JR C,02			zakres to zeruj i ...
LD A,00
LD (IY+F4),A
RET C
LD A,(IY+F5)			zwiększ wartość
INC A			licznika
CP 08		=&08	dni tygodnia
JR C,02
LD A,01
LD (IY+F5),A
LD B,(IY+F7)			oblicz do rej B ile dni jest
LD C,(IY+F8)			w tym miesiącu (IY+F7) w tym
CALL LiDni			roku (IY+F8)  proc. LiDni
LD B,A
LD A ,(IY+F6)		zwiększ licznik
CP B			dni miesiąca
JR C,02			gdy przekroczył
LD A,00			zakres to ...
INC A
LD (IY+F6),A
RET C
LD A,(IY+F7)		
INC A           			zwiększ licznik
CP 0D		=&13	miesięcy...
JR C,02		
LD A,01
LD (IY+F7),A
RET C
INC (IY+F8)			zwiększ licznik lat.
RET	

Uważny czytelnik dostrzeże z pewnością niepokojącą cechę tej procedury. Otóż skoro jest ona wywoływana w każdym przerwaniu, czyli 250 razy na sekundę, a 8-bitów to 256 możliwości, jedna sekunda będzie trwała o 6*4ms=24ms dłużej, co w rezultacie daje ponad pół godziny  spóźnienia na dobę! O dokładności nie może więc tutaj być mowy... Aby temu zaradzić, w połowie każdej sekundy, wywoływana jest procedura korekty czasu PkoCz, dodająca “brakujące” 6 przerwań i analizująca odebrany bit DCF77. 
IZA 125 razy w ciągu sekundy sprawdza stan bitu 7 PC2 (FR) -czy wystąpiło zbocze narastające lub opadające. Procedura przy każdym narastającym zboczu sprawdza czas jaki upłynął od ostatniego takiego zbocza, mierzy go za pomocą liczby próbkowań a więc jednostek równych tutaj 0,008s (1/125 sekundy -bo co drugie NMI) i sprawdza, czy wynosi 123 -127, czyli 0,984 do 1,016 [s]. Mierząc czas trwania impulsów wysokich IZA dopuszcza następujące tolerancje: dla zera 11-14  (0,088 -0,112[s]), dla jedynki 21 -29 (0,168 -0,232[s]) -rys. A. Jeśli czas mierzony pomiędzy narastającymi zboczami trwa dłużej niż 160 próbek (1,28 sek.) oznacza to, że brak impulsu, czyli mamy 59 sekundę. Analizując czasy procedura generuje znaczniki błędów, gdy nie odpowiadają one normą, lub zwiększa licznik poprawnie odebranych sekund gdy są OK. Licznik ów ma kluczowy wpływ na synchronizację zegara, aby była ona możliwa wymagane jest przynajmniej 5 kolejnych poprawnych czasowo sekund, minimalizuje to prawdopodobieństwo pomyłki IZY przy zakłóconym sygnale DCF77.
Program w który wyposażono zegar realizuje dwa rodzaje synchronizacji; nazwijmy je szybką i wolną. Wolna, wykonywana w połowie każdej sekundy, pozwala przyspieszyć (zwolnić) zegar o 3/250 sekundy, szybka zaś jest wykonywana w momencie gdy sygnał wzorca czasu wskazuje początek sekundy (zbocze narastające), a początek sekundy IZY nie odbiega o więcej niż 10/250. Ta różnica 10 jest wtedy zerowana. Zakładając że nasz zegar spieszy (późni) do 30 sekund na dobę (niedokładność rezonatora), wystarczy że raz na dwie minuty odebrane zostanie kolejno pięć poprawnych czasowo sekund, aby synchronizacja szybka utrzymała dokładność chodu. Gdy warunek ten nie zostanie spełniony i czas “wyskoczy” z okienka ±10/250, “wolna” jest w stanie nadrobić różnicę nawet całej sekundy w ciągu niespełna 80 sekund. Warto zwrócić uwagę że działanie jej nie jest widoczne w postaci “połykania” połowy którejś sekundy, lub znacznego jej wydłużenia. Proces ten odbywa się “miękko”, rozkładając uchyb na wiele sekund. Maksymalna różnica dla jednej sekundy to 4% (10/250). Nie dotyczy to oczywiście sytuacji gdy rozbieżność zegara względem odbieranego sygnału przekracza całą sekundę.
Po każdym poprawnym odebraniu całego przekazu (sekundy 0-20 są ignorowane) następuje sprawdzenie:
•	czy występowały błędy czasów trwania sekundy lub stanu H w tej minucie,
•	poprawności -parzystość i logiczność otrzymanej informacji,
•	zsynchronizowania (musi być lepsze niż ±20/250),
•	daty (dni miesiąca i miesiące muszą być zgodne z IZĄ -nie sprawdzamy dni tygodnia),
•	godzin -dopuszczalna jest tutaj różnica ±2godzin (zakładamy że mogła wystąpić zmiana czasu letni / zimowy)
•	minut -dopuszczalna różnica ±1 minuta.
Jeśli wszystkie te warunki są spełnione, następuje przepisanie czasu odebranego do zegara, wartość sekund jest ustalana na 59, ułamki sekund nie są zmieniane. IZA zapamiętuje godzinę ostatniego ustawienia, możemy ją odczytać za pomocą komendy ZEGAR.
Kilka słów o tym jak następuje weryfikacja poprawności odebranego sygnału. Podczas 59 sekundy, gdy brak impulsu, program sprawdza czy w tej minucie występował błąd czasu sekundy (pomiędzy zboczami narastającymi) lub błąd czasu stanu H (czasu trwania stanu wysokiego -czy mieścił się w jednym z okienek 0,1 lub 0,2 sekundy), następnie są sprawdzane parzystości minut, godzin, daty, sprawdzenie czy minuty są z przedziału 0...59, godziny 0...23, dni tygodnia 1...7 itd. Sprawdzany jest rok, gdy jest mniejszy od 98 to następuje dodanie 100 (następny wiek). Gdy nie wykryto błędów informacja jest dalej wykorzystywana do ustawienia IZY. Zegar może pracować w 4 trybach (względem odbieranego sygnału):
•	A -DCF77 jest ignorowany;
•	B -zegar synchronizuje się tylko do początków sekund wzorca czasu (synchronizacja wolna i szybka);
•	C -zegar ustawia minuty i sekundy do każdego odebranego sygnału, pod warunkiem, że data jest zgodna z datą IZY, godziny nie różnią się więcej niż o dwie, minuty nie więcej niż o jedną, w przeciwnym razie działa jak tryb B;
•	D -zegar bezwzględnie ustawia się do poprawnie odebranego czasu, po czym następuje przestawienie na tryb C i wyświetlenie komunikatu specjalnego o DCF77, oraz generacja dźwięku BEEP (tylko w porze dnia).
Warto tutaj wspomnieć o sposobie w jaki następuje zmiana czasu z letniego na zimowy.
Otóż IZA posiada funkcje zmiany czasu, ustawianą automatycznie po RESET, przeskoku roku... na ostatnią niedzielę marca i października lub na dowolnie inne daty i godziny ustalone przez użytkownika i wykonuje przestawienie czasu o godzinach określonych właśnie przez nią, nie analizując bitów przekazu wzorca zapowiadających tą zmianę. Ma to swoje wady, ale również zalety biorące górę, szczególnie na większych odległościach od nadajnika, gdzie odbiór sygnału jest mniej pewny. Przestawienie następuje dzięki funkcji USTAW LETNI ZIMOWY, a dalej następuje weryfikacja zgodnie z DCF77.
Podobnie jak informacja o zmianie czasu, ignorowana jest informacja o dodatkowej sekundzie -wyrównanie tej nadmiarowej (brakującej) sekundy następuje w ciągu niespełna półtorej minuty poprzez synchronizacje wolną.

D. MONTAŻ ELEKTRONICZNY I MECHANICZNY

Zegar został wykonany na pięciu płytkach drukowanych zawierających:
a) Pł 1 (dwustronna) -(elementy o numerach poniżej 100) procesor, pamięci RAM i EPROM, generator wzorcowy, układy pomocnicze oraz odbiornik sygnału czasu z U2775B,
b) Pł 2 (dwustronna) -(elementy o numerach 100..) porty 8255, sterownik LED, sterownik urządzeń, układ melodyjki, dekoder klawiatury, 	
c) Pł 3 (dwustronna) -(elementy o numerach 200..) 40 mikrowyłączników klawiatury i elektroniczny przełącznik zasilania - 220V/ akumulator,
d) Pł 4 (jednostronna) -(elementy o numerach 300..) wyświetlacze LED, LCD i diody LED oraz potencjometr regulacji kontrastu LCD rys. K. Płytkę należy wykonać po nabyciu wyświetlaczy, mając na uwadze rozmieszczenie wyprowadzeń tychże i swoje cenne pomysły. Na dobrą sprawę można nawet zrezygnować z niej, montując wskaźniki bezpośrednio na płycie czołowej obudowy -pozostawiam to inwencji konstruktorów.
e) Pł 5 (dwustronna) -(elementy o numerach 500..) sterownik transmisji szeregowej i współpracujące elementy dyskretne.
f) poza płytkami znajdują się (elementy o numerach 400..):
-transformatory,
-zasilacz z radiatorem,
-głośnik,
-antena odbiornika, lub cały odbiornik DCF77,
-pewna ilość wolnego miejsca - bez numerów -na wersję rozwojową.
g) poza obudową jest akumulator, stopnie mocy sterowników (np. przekaźniki) i zaczep elektromagnetyczny zamka. Połączenia z elementami zewnętrznymi dokonuje się poprzez złącza z tyłu obudowy zegara i wtyczkę do zasilania 220V.

Wymagane elementy:

a)Lista elementów (płytka 1):
US 1	Z 80 CPU	
US 2	2764 EPROM A z programem obsługi	
US 3	2764 EPROM B z programem obsługi	
US 4	6164 sRAM	
US 6	UCY 74138	
US 7 	UCY 7400	
US 8 i 9	74HCT393	
US 10	UCY 7408	
F1	4MHz	
M1	mikrostyk dla RESET	
C1	10nF	
C2	30pF trymer	
C3	15pF* dobrać dla 4MHz	
C4	330pF	
C5	47uF	
R1-R3	1kOhm	
R4            	1Ohm/0.25wata (lub zwora)	
R5-R8	1kOhm	
CS	kond. odsprzęgające 47nF + 47uF -6 par	
a*)opcja z odbiornikiem czasu zegara atomowego z Frankfurtu zawiera dodatkowo: (nie dotyczy odbiornika Amart Logic)
US11            	U2775B	
F2		77,5kHz	
T1		BC 107	
D1		LED	
C6		15uF	
C7,C8		1,5nF	
C9		33uF	
C10		22uF	
C11		1uF	
C12		6nF*	
C13,C14	dobrać dla 77,5kHz	
R9		3,3kOhm	
R10		150kOhm	
P12	4,7kOhm pot. montażowy płaski	
A1	antena ferrytowa + 80 zw. DNE 0,1mm	
b)Lista elementów (płytka 2):
US 101,102 	8255 	
US 103 	UCY 74145	
US 104 	UM 66 T (pozytywka na ok.3V)	
US 105-108  	UCY 7447	
T 101	BD 135 (lub BD 137, BD 139...)	
T 102-109	BC 107 (lub BC 108, BC 109, BC 548...)	
D 101	LED dowolna	
D 102-106	diody prostownicze np. BYP 401/50...	
D 107	dowolna dioda np. BYP 401/50	
R101	1kOhm	
R102 	2,2kOhm	
R103,104	1 Ohm/1wat	
R105-111	1kOhm	
R112-116	180Ohm/0,25wata	
R117,118	200Ohm/0,25wata	
R119	220Ohm/0,25wata	
R120-R146	200Ohm/0,25wata	
R147	10kOhm	
CS	kond. odsprzęgające 47nF + 47uF -5 par	

c)Lista elementów (płytka 3):
T201-203	BC 107 (- BC 109, BC 548...)	
T204	BD 136 (lub BD 138, BD 140...)	
D201,202	diody prostownicze np. BYP 401/50...	
M201-240	mikrostyki z krótkimi wypustami	
R201-204	10kOhm	
R205	150Ohm	
R206	10kOhm	
R207	6,8kOhm	
P208	470Ohm	
R209	390Ohm	
R210	7,5kOhm	
R211	750Ohm	
R212	100kOhm	
d)Lista elementów (płytka 4):
WLCD301	2wier. 16 znaków (zobacz: Re 5/84)	
WLED301-304	wspólna. anoda, zielone  ok.14mm	
D301-304	LED żółty prostokąt    	
D305	LED czerwony prostokąt	
D306	LED zielony prostokąt	
D307,308	LED zielone okrągłe (dla dwukropka)	
R301	4,7kOhm	
P302	4,7kOhm montażowy płaski, mały	
CS	kondensator odsprzęgający 47nF + 47uF	
e)Lista elementów (płytka 5):
US 501	8251 -kontroler do RS232,	
T 501	BC 177 -lub podobny pnp,	
T 502	BC 107 -lub podobny npn,	
D 501	dioda Zenera 8V2,	
D 502, 503	BYP 401-50 *2 diody prostownicze,	
C 503, 504	100uF/16V *2,	
 R 501	3,3 kOhm,	
R 502	1,2 kOhm,	
R 503	150 Ohm,	
R 504- 506	2,2 kOhm *3,	
R 507	1 kOhm,	
Tr 402	TS 14/6 trans. sieciowy na ok. 8V,	
Z404	DB25 złącze do transmisji szeregowej	
f)Lista elementów (występujących poza płytkami):
TS401	TS 15/29 lub podobny ok. 9V/1A (*)	
US401,402	7805 (ogr. prądu 1A), płaska obud.	
Gł401	głośnik 8Ohm/0,2wata - mini	
C401,402	2200uF/25V	
C403,404	33nF	
D401-404	diody prostownicze np.BYP 401/50...	
D405	LED czerwona okrągła mała 	
Z401	DB9 stykowe złącze (sterownik)	
Z402,403	2 stykowe złącza (zamek i akumulator)	
g)Oraz:
obudowa	plastikowa czarna 170*171*61 mm - OB2	
radiator	aluminiowy pasujący do obudowy	
przewody	sieciowy i łączące płytki.	

	(*) jako transformator zastosować można także: TS 6/3 (8,5V /0,7A), TS 6/4 (8,5V /0,7A), TS 6/12  (8,5V /0,7A), TS 6/16 (8,5V /0,7A), TS 6/30 (8,5V /0,7A), TS 8/9 (8,25V /0,7A), TS 10/3 (9,1V /1,0A), TS 10/5 (9,1V /1,0A), TS 12/2 (9,1V /1,2A), TS 12/4 (9,1V /1,2A).
	Dotyczy wszystkich elementów:
		-kondensatory elektrolityczne, jeśli nie podano inaczej na napięcie 6,3V lub większe,
		-rezystory, jeśli nie podano inaczej o mocy 0,125wata lub większej.
E. 	
URUCHOMIENIE

Przed montażem elementów należy sprawdzić poprawność wykonanych płytek drukowanych, szczególnie czy nie występują zawarcia pomiędzy ścieżkami. Płytki należy sprawdzać ze schematem ideowym (rysunki B, C, D i E). Zawsze wtedy, gdy występują niezgodności w zawartych w opisie rysunkach płytek i schematów ideowych, należy kierować się schematami ideowymi!
Wszystkie elementy (jeśli nie zaznaczono inaczej) montujemy w następującej kolejności: rezystory, kondensatory, diody, tranzystory i na końcu układy scalone od najmniejszych do największych. Montowane elementy powinny być wszystkie (lub prawie wszystkie - w miarę możliwości) sprawdzone przed lutowaniem, zaoszczędzi to nam naprawdę dużo czasu przy uruchomieniu. Lutowanie elementów na płytkach należy przeprowadzać tak aby nóżki elementów były połączone z jedną i drugą stroną druku (gdy ścieżki dochodzą z dwóch stron).
	Montaż rozpoczynamy od złożenia zasilacza, połączenia elementów “na pajęczynkę” i umieszczenia ich na radiatorze (elementy: US401,402,C401,402,403,404 ) oraz na transformatorze (elementy D401-404). Ważne jest aby kondensatory C403 i C404 były przylutowane możliwie najbliżej wyprowadzeń układu US402. Do zasilacza należą też elementy: T201,202,203,204 i im towarzyszące na płytce klawiatury, montowane po przeciwnej stronie niż mikrowyłączniki. Całość zasilacza łączymy przewodami i po sprawdzeniu połączeń zasilamy napięciem sieciowym 220V poprzez transformator. Mierzymy napięcia na 1 wypr. US401 i US402, powinny wynosić ok. 12-15V (bez obciążenia), dołączamy teraz do wyprowadzenia US402 drut oporowy o rezystancji ok. 10 Ohm mierzymy ponownie napięcie na 3 wypr., nie powinno być niższe niż 8.5 do 9V. Przystępujemy do dobrania wartości potencjometru P208, który decyduje o momencie przełączenia zasilania z sieci na akumulator. Potrzebne nam będą woltomierz napięcia stałego do 15V, amperomierz prądu stałego do 1A i zasilacz regulowany 5 do 10V. Odłączamy zasilanie 220V , amperomierz włączamy szeregowo w obwód z akumulatorem 12V do wejścia akumulatora (powinna zaświecić dioda D405). Do wyjścia 12V dołączamy zewnętrzny zasilacz, regulujemy jego napięcie wyjściowe na około 8V (obserwując wskazania woltomierza). Teraz regulujemy potencjometrem P208 tak aby zaobserwować gwałtowny skok prądu na amperomierzu. Ten skok oznacza przełączenie zasilania. Gdy prąd jest duży znaczy to że pracuje akumulator, gdy mały -zasilacz korzysta z sieci. Ustawiamy P208 w okolicy skoku prądu i regulując znów zasilaczem zewnętrznym sprawdzamy przy jakim napięciu następuje przełączenie. Regulujemy P208 tak, aby skok wypadał na ok. 8V. Może to wymagać kilku prób. Po osiągnięciu sukcesu odłączamy rezystor testowy 10 Ohm, zewnętrzny zasilacz, mierniki. Nasz zasilacz jest uruchomiony i skalibrowany. Napięcia, które otrzymujemy to:
+5V(*)	(czerwony) zasila wszystkie elementy bezpośrednio współpracujące z procesorem, klawiaturę, oraz moduł generujący dźwięk, jest niezależne od występowania napięcia sieciowego, tzw. “wieczne”	
+12V(*)	(biały) zasila zaczep zamka elektromagnetycznego, jest niezależne od występowania napięcia sieciowego	
GND	(czarny) poziom masy układu	
+5V	(brązowy) zasila wyświetlacze - odłączone przy braku napięcia 220V	
+12V	(zielony) zasila przekaźniki sterownika- odłączone przy braku napięcia 220V	
	Tak więc przy pracy bez napięcia 220V wyłączone są wszystkie wskaźniki LED, oraz sterownik urządzeń zewnętrznych. Pozostałe bloki zegara pracują (do momentu wyczerpania się akumulatora), czas może być odczytywany z wyświetlacza LCD. Warto zatroszczyć się o akumulator o odpowiednio dużej pojemności i układ automatycznej kontroli (ładowania) jego stanu.
Przystępujemy do uruchomienia reszty układu, pamiętać należy o tym że wszelkie prace związane z wlutowywaniem, wylutowywaniem, wymianą układów scalonych w podstawkach wykonujemy po wyłączeniu napięcia zasilania !!! Wszędzie, gdzie jest mowa o pomiarze napięcia lub sprawdzeniu stanu logicznego należy włączyć zasilanie.
•	Dalsze uruchamianie będziemy wykonywać etapami, uruchamiając kolejne bloki urządzenia, zaczniemy od generatora wzorcowego 4MHz. Wlutowujemy elementy:R1, R2 (rezystory montujemy po przeciwnej stronie płytki niż inne elementy - oszczędność miejsca), C1, C2, C3, C4, US7, F1. Podłączamy zasilanie do układu (szyna procesora - patrz rys B) i sprawdzamy próbnikiem stanów logicznych występowanie fali prostokątnej w.cz. na wyprowadzeniu 6 układu US7. Wlutowujemy US8, US9, US10, podłączamy napięcie +5V i sprawdzamy występowanie fal prostokątnych 2MHz (na wypr. 3 US8) i 250Hz (na wypr. 8 US9). Jeśli mamy dostęp do dokładnego miernika częstotliwości, możemy skalibrować jedną z nich za pomocą trymera C2 (ewentualnie dobierając C3). Częstotliwości te decydują o dokładności odmierzania czasu przez nasz zegar.
•	Wlutowujemy elementy M1, R3, R4, C5. Wyjście próbnika stanów logicznych dołączamy do wypr. 8 US7. Obserwujemy stan wysoki, po naciśnięciu M1, pojawia się impuls niski - jest to sygnał RESET, pojawiający się po włączeniu zasilania i po zwarciu M1, powoduje on zerowanie pracy procesora i start wykonywanego programu od adresu #0000.
•	Po zmontowaniu odbiornika DCF77 (elementy R9-11, P12, C6-14, D1, T1, F2, US11; lub odbiornik do ustawienia komputera- montujemy wtedy tylko R10, R11, T1). Dostrajamy obwód (Radioelektronik 3/1993 str. 47-79) A1, C12-14 do częstotliwości 77,5kHz, ustawiamy czułość odbiornika za pomocą P12 Sprawdzamy stan na kolektorze T1, powinien być wysoki, przerywany rytmicznie (w odstępach sekundowych) przez stan niski, należy tutaj troszeczkę poeksperymentować z ułożeniem anteny odbiornika.
•	Montujemy elementy: R5, R6, R7, R8 (spód płytki), CS (filtrujący), US6, EPROM’y -US2 i US3 (warto pomyśleć o podstawkach), US4, załączamy zasilanie i sprawdzamy próbnikiem stany na wyprowadzeniach procesora (US1 nie jest jeszcze wlutowany!). Powinniśmy obserwować co następuje:
wyprowadzenia	stany obserwowane:	
1,2,3,4,5,7,8,9,10,12,13,14,15,18,19,20,21,22,23,27,28,30,31,32,33,34,35,36,37,38,39,40	stan nieustalony - wysoka impedancja	
26	stan zależny od M1	
6,17	fala prostokątna	
29	stan niski	
11,16, 24,25	stan wysoki	
•	Wlutowujemy elementy R201, R202, R203, R204 i mikrowyłączniki klawiatury M201 do M240. Rozwiązanie klawiatury można wykonać na różne sposoby, proponuję użyć mikrowyłączników z krótkimi wypustami i przykryć je zalaminowanym rysunkiem klawiatury (rys. O) naklejonym na obudowę (patrz rys. L). Po wlutowaniu mikrowyłączników sprawdzamy połączenia pod względem zwarć między ścieżkami, jeśli wszystko jest OK, przechodzimy dalej...
•	Kolej na płytkę portów I/O i elementy: R101, R102, D101, T101, T102, US104, podłączamy głośnik GŁ401 i zasilanie. Po dołączeniu wolnej końcówki R101 do +5V usłyszymy melodyjkę - generator dźwięku pracuje poprawnie.
•	Lutujemy kolejno: R103, R104, R105- R109, R112- R116, CS, D102- D106, T103- T107, włączamy zasilanie, na wyjściach sterownika (Z401 i Z402 czyli kolektorach tranzystorów T103- T107) powinien być stan wysoki. Po podłączeniu wolnych końcówek rezystorów R105- R109 do napięcia +5V na odpowiednich wyjściach pojawia się stan niski. Wyjścia sterownika służą do zasilania bloku mocy sterującego urządzeniami zewnętrznymi. W literaturze (np. Radioelektronik) można znaleźć bardzo wiele opisów końcówek mocy. Proponuję zastosować tutaj transoptory sterujące triakami. Daje to możliwość sterowania urządzeniami naprawdę dużej mocy (grzałka - farelka, lub czajnik czy ekspres do kawy 2000W) bez ryzyka, gdyż obwody te są odizolowane galwanicznie od zegara. Można też zastosować skromniejszy wariant- same przekaźniki, muszą one być na 12V i pobierać prąd mniejszy niż 100mA. Tranzystor T107 steruje przekaźnikiem (poprzez gn. Z402) włączającym zaczep elektromagnetyczny, ryglujący np. szafkę w biurku (odmienność zasilania tego tranzystora od pozostałych pozwala na otwieranie zamka gdy brak napięcia 220V, wszystko zależy tylko od pojemności akumulatora i poboru prądu przez zaczep - średnio ok. 0.6A).
•	Montujemy dalej: R117, R118, R119- R146, R110, R111, T108, T109, US103, US105- 108, na płytce wyświetlaczy lutujemy R301 i P302 (suwak w środkowe położenie), diody LED: D301- D304(żółte), D305(czerwona), D306(zielona), D307, 308(w kolorze wyświetlacza LED -zielona), wyświetlacze LED cztery cyfry wspólna anoda i wyświetlacz LCD (ostrożnie z “pstrykaniem” lutownicą !). Podłączamy napięcie podświetlania LCD i sprawdzamy czy działa. Napięcie to zależy od specyfiki naszego wskaźnika LCD. Jeśli elementem podświetlającym są LED wówczas jest ono rzędu 3- 5V, jeśli lampa fluorescencyjna - inne. Przed jego podłączeniem należy się zapoznać ze schematem aplikacyjnym nabytym wraz z wyświetlaczem i zastosować do zaleceń producenta (niektóre typy wyświetlaczy nie mają podświetlania). Odłączamy podświetlanie, łączymy płytki wyświetlaczy i portów I/O przewodami. Załączamy napięcie zasilające płytki +5V(*) i +5V . Podłączamy wyprowadzenie 3 kolejno US105, US106, US107 i US 108 do masy co powoduje świecenie wszystkich segmentów danej cyfry LED (cyfra C1 nie świeci cała gdyż segment “f” nie jest podłączony). Podłączamy napięcia +5V do wolnych końcówek rezystorów R105- 109, R110 i R111, co powoduje świecenie LED’ów na płytce wyświetlaczy. Rezystor R119 może zasilać punkt dziesiętny (lub inną kontrolkę LED) sygnalizujący działanie układu.
•	Sprawdzamy czy na wyprowadzeniach układów US101 i US102 (nie wlutowanych jeszcze) występują jakieś stany logiczne poza napięciami zasilania (wypr. 26 i 7). Jeśli nie - możemy przystąpić do wlutowania US101 i US102. Sprawdzamy stany na szynie procesora (płytki portów I/O i procesora są jeszcze rozłączone) - wszystkie powinny być wysokiej impedancji. 
•	Wlutowujemy procesor US1 i łączymy wszystkie płytki w jeden układ zgodnie ze schematami, tzn. łączymy zasilanie wszystkich płytek, szynę procesora pomiędzy płytką procesora i portów, dołączamy klawiaturę, płytkę wyświetlaczy itd... Sprawdzamy jeszcze raz połączenia według tabeli:
.	CPU	EPROM	RAM	IO	
D0	14	11	11	34	
D1	15	12	12	33	
D2	12	13	13	32	
D3	8	15	15	31	
D4	7	16	16	30	
D5	9	17	17	29	
D6	10	18	18	28	
D7	13	19	19	27	
A0	30	10	10	9	
A1	31	9	9	8	
A2	32	8	8	-	
A3	33	7	7	-	
A4	34	6	6	-	
A5	35	5	5	-	
A6	36	4	4	-	
A7	37	3	3	-	
A8	38	25	25	-	
A9	39	24	24	-	
A10	40	21	21	-	
A11	1	23	23	-	
A12	2	2	2	-	
WR	22	-	27	36	
RD	21	22	22	5	

...i włączamy zasilanie. Jeśli wszystkie cząstkowe uruchomienia zakończyły się sukcesem i wszystkie użyte elementy są sprawne, oraz program obsługi zegara jest poprawnie napisany powinniśmy być bardzo zadowoleni z uzyskanego efektu. 
•	Pozostaje nam do uruchomienia płytka kontrolera RS232, zaczynamy od uruchomienia zasilania 10V. Podłączamy T402, D502, 503, C503 i C504, (możemy też wykonać zasilacz 10V na scalonej przetwornicy napięcia MAX680). Mierzymy napięcia względem masy -powinny wynosić kilkanaście wolt. Następnie montujemy pozostałe elementy na płytce i sprawdzamy połączenia (szczególnie przy złączu Z404- UWAGA ABY NIE USZKODZIĆ KOMPUTERA!!!). Jeśli wszystko jest w porządku, podłączamy przewód do złącza zegara i COM2 komputera, włączamy zegar i komputer, uruchamiamy program na komputerze i testujemy jego działanie. 
Obecnie cały zegar został uruchomiony. Teraz należy przystąpić do montażu mechanicznego płytek w obudowie.
Pomocne będą rysunki L, M i N.

F. PROPONOWANE ROZWIĄZANIE DODATKOWE (jako wersja rozwojowa).
Proponuję wyposażenie zegara w syntezer mowy (opisany w Radioelektroniku 4/97), pozwoli to bardziej “przybliżyć” zegar do człowieka. IZA odczytuje “na dzień dobry” -a więc o godzinie ustawionej w porze dnia jako ranek -datę, dzień tygodnia, godzinę i wita się z nami. Poinformuje nas o wszystkich nie potwierdzonych komunikatach z terminarzy, alarmów i komunikatach specjalnych:
•	 powitanie głosem, gdy bieżąca godzina zrówna się ustawioną jako poranek w porze dnia (domyślnie jest to 800); składało by się z roku, miesiąca, dnia i dnia tygodnia oraz jednej z fraz: cześć, dzień dobry, witam serdecznie, miłego dnia życzę, witam -witam...
•	 odczytanie w odpowiednim momencie: “twoje życzenie”, “jak każesz”, “przykro mi ale nie potrafię”, “połączenie z komputerem”, “otrzymałam dane z komputera”...

G. Opis działania programu komputerowego dla zegara w wersji v2.2 i nowszych.
Program napisany dla Windows przeznaczony jest do przesyłania danych pomiędzy komputerem PC a zegarem IZA. Po uruchomieniu programu, przedstawia się i sprawdza komunikację z zegarem. Brak odpowiedzi lub zła odpowiedź ze strony zegara są traktowane jako brak łączności;
BRAK TRANSMISJI Z IZĄ
  praca programu bez transmisji nie jest możliwa,
  Sprawdź czy:
     > połączenie zegara z komputerem jest poprawne,
     > zegar pracuje w trybie systemowym (na wyświetlaczu tekstowym 
                                                        jest data lub napis "Czas nieznany,"),
  i uruchom program raz jeszcze... 
	...dalsza praca programu możliwa jest dopiero po nawiązaniu łączności z zegarem.
Po czym komputer identyfikuje egzemplarz zegara, jeśli ta operacja nie powiedzie się program przejdzie do opcji pomocy, a następnie zostanie zatrzymany. 
Po poprawnej identyfikacji komputer wysyła czas do IZY, a IZA odpowiada. Możliwe są tutaj dwa rodzaje odpowiedzi:
•	OK- zrozumiałam, ustawiłam się według otrzymanych danych;
IZA ustawiła swój czas według danych z komputera.
•	Przesyłam swój czas;
IZA przesłała swój czas:
23:59:59,   1998.12.31,  PIĄTEK
warunki odbioru DCF: tryb C, (m)59/(g)59,  liczba godzin bez przekazu:1
zegar komputera został uaktualniony,
Odpowiedź OK jest wysyłana wtedy, gdy zegar nie jest ustawiony.
Jeśli otrzymamy od zegara czas, to jest on prawdopodobnie dokładniejszy od odmierzanego przez komputer, zatem program modyfikuje zegar systemowy komputera według otrzymanych danych.
Na wyświetlaczu tekstowym IZY pojawi się: “ PC wita IZE...”, na ekranie komputera zaś:
*** IZA wita PC ***
	Po naciśnięciu dowolnego przycisku klawiatury komputera, program wyświetli:
Menu główne:
1- 	przesyłanie zawartości pliku do zegara,
2- 	przesyłanie wiersza polecenia do zegara,
3- 	pomoc,
4- 	wyjście z programu.
...które umożliwia nam sterowanie zegarem:
1.	Przesłanie danych utworzonych w pliku komputerowym, nagranego na dysku twardym, lub dyskietce. Plik można utworzyć za pomocą dowolnego edytora tekstowego (Word, Wordpad lub Notatnik i zachować jako *.txt), jego składnia musi odpowiadać określonym wymogom. 
Podaj plik, którego zawartość chcesz przesłać do IZY:
IZA.txt ?
...program pyta nas o ścieżkę dostępu do pliku zawierającego polecenia dla zegara, podając domyślny plik IZA.txt. Jeśli nie podamy żadnej nazwy program spróbuje otworzyć plik domyślny.
Podanie złej powoduje wyjście do menu głównego.
Wiersze pliku mogą być następujące:
A.	wszystkie zaczynające się od apostrofu ` (i tylko takie) są traktowane jako komentarz i pomijane;
B.	ALARM -zapis może być dowolny z akceptowanych przez IZĘ, przy czym:
1.	nie można podawać w jednym alarmie dnia tygodnia i daty,
2.	trzeba podać czas,
3.	trzeba podać jakąś (jakieś) funkcję wykonawczą (komunikat, melodia lub sterownik urządzeń / stoperów);
C.	KASUJ ALARMY powoduje wykasowanie wszystkich alarmów z pamięci zegara. 
D.	KOMUNIKAT umieszcza w terminarzu zegara komunikat na dany dzień; data musi być poprawna i nie może zawierać roku, długość tekstu nie może przekraczać 16 znaków, tekst musi być ujęty w cudzysłów (np.: KOMUNIKAT .12.31 “Koniec roku”). Zapisanie komunikatu na dzień dla którego już jest jakiś komunikat użytkownika powoduje wykasowanie tego wcześniejszego;
E.	STOPERY -podajemy wszystkie stopery od A do D w tej kolejności, a po każdym z nich podajemy czas w formie gg:mm:ss, (np: STOPERY A 23:59:59 B 02:20:20 C 03:30:03 D 00:00:00);
F.	TEKST -wysyła napis na ekran zegara jako jednorazowy komunikat specjalny, co jest potwierdzane beep’nięciem zegara (w porze dnia). Napis nie może być dłuższy niż 16 znaków, jeśli jest krótszy, to zostanie uzupełniony spacjami i wyrównany do środka (np. TEKST “taki sobie napis”);
G.	STEROWNIK -powoduje bezpośrednie załączenie lub wyłączenie sterowanych przez zegar urządzeń elektrycznych. Po rozkazie musimy podać (po spacji) kolejno cztery literki “abcd”, symbolizujące poszczególne urządzenia, przy czym mała literka powoduje wyłączenie, a duża załączenie urządzenia (np. STEROWNIK aBCd spowoduje załączenie B i C, a wyłączenie a i d). Urządzenia nadzorowane przez stopery nie zostaną wyłączone, mimo iż zegar potwierdzi wykonanie polecenia;
H.	DZIEŃ gg:mm gg:mm, powoduje ustawienie ranka i wieczora, czyli pory dnia w której można używać sygnału dźwiękowego do celów innych niż alarm. Należy pamiętać, że zapis godzin i minut musi tutaj być dwucyfrowy;
I.	KUKUŁKA powoduje włączenie sygnalizacji mijania pełnych godzin za pomocą liczby sygnałów dźwiękowych odpowiadających godzinie w systemie 12- godzinnym (tylko w porze dnia!);
J.	KUKUŁKA BEEP jak wyżej, lecz za pomocą jednego piknięcia;
K.	KUKUŁKA WYŁĄCZ wyłącza działanie kukułki;
L.	STOPER A START startuje podany (jeden z czterech A- D) stoperów od wartości początkowej, załączając jednocześnie przypisane mu urządzenie;
M.	STOPER D HALT zatrzymuje stoper i wyłącza urządzenie;
N.	BEEP generuje dźwięk w postaci jednego piknięcia;
O.	TON generuje dźwięk w postaci trzech tonów;
P.	MELODIA generuje dźwięk w postaci melodyjki;
Q.	BEPER generuje 10 minutowy dźwięk w postaci powtarzających się BEEP;
R.	TONER generuje godzinny dźwięk w postaci powtarzających się BEEP;
S.	GRAJEK generuje godzinny dźwięk w postaci powtarzających się TON;
T.	BUDZIK generuje godzinny dźwięk w postaci powtarzającej się melodyjki;
U.	śPI wycisza dźwięk;
Interpreter zapisów z pliku rozpoznaje tylko te zapisy, każdy inny traktowany jest jako błąd.
Po podaniu nazwy pliku program sprawdza jego poprawność i wypisuje komunikaty o istniejących błędach:
błąd składni w linii 10:
“ALARM 12:43”
...jeśli występują linie niezrozumiałe przez program nastąpi wyjście do menu głównego. Przed kolejną próbą wysłania tego pliku, błędy należy poprawić. Gdy wszystkie zapisy są poprawne, program zapyta nas jaki tryb zapisu wybieramy; z potwierdzaniem każdego wiersza, czy cały plik ma zostać przesłany za jednym potwierdzeniem;
Czy przesłać zapisy z pliku do IZY?
      <ENTER=tak, z potwierdzaniem każdego>,<T=tak wszystkie>,<N=nie przesyłaj>
...wybranie N powoduje ominięcie operacji przesłania zawartości pliku i wyjście do menu głównego;
T to przesłanie wszystkich wierszy pliku (bez komentarzy) do zegara.
	ENTER to wybór, w wyniku którego każda operacja musi być przez nas potwierdzona za pomocą przycisku W, lub pominięta po naciśnięciu O;
<W=wyślij>,<O=omiń>,<X=wyjdź>
Wykonane wiersze są komentowane odpowiednio do wykonania. Jeśli przed wyświetlonym wierszem lub komentarzem występują kropki, oznacza to, że program próbował więcej niż jeden raz dokonać zapisu polecenia do zegara. Liczba kropek to liczba nieudanych prób.
Gdy wybraliśmy tryb wysłania całego pliku do zegara, bez potwierdzania, wyświetlane będą zapisywane wiersze. Znaczenie kropek jest identyczne jak wyżej.
2.	Przesyłanie danych w postaci wierszy wpisywanych z klawiatury. Ta opcja pozwala na przesyłanie do zegara poleceń z klawiatury, o składni identycznej jak dla wierszy pliku, oraz:
A.	USTAW ZEGAR 1998.06.08 PONIEDZIAŁEK 23:59:15 A ustawia zegar na podaną datę, dzień tygodnia (nie sprawdza go z podaną datą) i czas, oraz tryb względem DCF77.
B.	PODAJ CZAS powoduje przesłanie czasu z zegara i jego wyświetlenie w komputerze.
1. 	Pomoc pozwala zobaczyć opis poprawnych rozkazów i uzyskać o nich podstawowe informacje.
2. 	Wyjście z programu opuszcza program, wyświetlając na ekranie:
“IZA żegna PC”
...i na wyświetlaczu zegara “PC żegna IZE”

Życzę dobrej zabawy i zdobycia wielu cennych doświadczeń przy budowie Izy a w rezultacie zadowolenia z jej działania.