1999.08_Zegar cyfrowy z budzikiem, część 1.pdf

(403 KB) Pobierz
451482190 UNPDF
Projekty AVT
Zegar cyfrowy
z budzikiem
część 1
Przeglądając ofertę kitów
AVT, zauważyłem brak w niej
zwykłego, cyfrowego zegara do
pomiaru czasu. A pamiętam, że
za czasów mojej młodości był to “dyżur−
ny” temat. Kupowaliśmy TTL−ki naszej
rodzimej CEMI i konstruowaliśmy wielce
ciekawe czasomierze. Dlaczego nie po−
wtórzyć tego dzisiaj, zwłaszcza że nie ma
żadnych kłopotów z podzespołami? Za−
projektowałem więc i wykonałem zegar,
który ma następujące możliwości: wy−
świetla godziny i minuty, pracuje w sy−
stemie 24− lub 12−godzinnym – przełącze−
nie jest możliwe w dowolnym momen−
cie, posiada układ budzika, do którego
wyjścia można dołączyć dowolny układ
wykonawczy. Czas wyświetlany jest na
dużych (wysokość cyfry 20 mm), sied−
miosegmentowych wyświetlaczach. Za−
silanie − napięcie niestabilizowane 8V,
możliwość dołączenia baterii podtrzymu−
jącej.
2370
zrozumieć jak to wszystko działa, musi−
my przypomnieć sobie kod dwójkowy
i heksadecymalny. System zapisu zero−je−
dynkowego – dwójkowego jest bardzo
wygodny dla zobrazowania stanów wy−
stępujących na wyjściach układów cyfro−
wych. Jego podstawową wadą jest dłu−
gość słowa – cztery bity to w zapisie na
papierze cztery znaki. Wymyślono więc
zapis heksadecymalny gdzie czterem ko−
lejnym bitom odpowiada jeden znak. Pro−
ponuję przypomnieć sobie to przelicze−
nie, gdyż będzie nam potrzebne.
scalonych. U1 jest dzielnikiem częstotli−
wości z elementami generatora
taktującego. Po uzupełnieniu o kwarc i
parę dodatkowych elementów biernych
uzyskujemy źródło częstotliwości 2Hz.
Układy U2 i U3 to kolejny stopień dziel−
ników. Bramka U3A dołączona jest do
odpowiednich wyjść U2 i przy stanie 78 h
(ostatni raz przeliczam – to 01111000
dwójkowo, czyli 120 dziesiętnie)
powoduje wyzerowanie licznika.
Efektem tego jest jeden impuls co min−
utę na wyjściu A. Właściwym licznikiem
naszego zegara jest U4. Bramka U5A
dekoduje stan B40 h i powoduje wyze−
rowanie U4 po upływie doby. Cała reszta
naszego schematu dotyczy wyświetlania
czasu oraz budzika.
Dochodzimy do najważniejszego ele−
mentu zegara – pamięci EPROM. Tak
naprawdę to spełnia ona następujące
funkcje: dekoduje wszystkie z 1440
możliwych stanów, jest odpowiedzialna
za zaświecenie odpowiednich segmen−
tów wyświetlacza, steruje wyświet−
laniem sekwencyjnym cyfr oraz zapew−
nia możliwość przełączania systemu
12/24h. Żeby zrozumieć zasadę działania
sekwencyjnego wyobraźmy sobie
hipotetyczną pamięć, która ma pojem−
ność ośmiu słów jednobitowych.
Załóżmy, że dołączono do niej, za
pomocą kluczy analogowych, dwie diody
LED (rysunek 2). Świecą one, gdy na
wyjściu danych mamy niski stan logiczny
i wybrany jest odpowiedni klucz – na
bazie tranzystora pojawia się stan niski.
Do adresowania kolejnych komórek
pamięci mamy trzy bity. Niech dwa
młodsze będą adresem, pod którym jest
Dziesiętnie Dwójkowo
Heksadecy−
malnie
0
0000
0
1
0001
1
2
0010
2
3
0011
3
Opis układu
Projektując zegar miałem dwie możli−
wości – albo zastosujemy rozwiązanie
tradycyjne tzn. szereg dzielników dzielą−
cych przez 6, 12, 24 i do tego dekodery
BCD na kod wskaźników siedmioseg−
mentowych, albo coś nowatorskiego,
nieszablonowego. Zdecydowałem się na
to drugie rozwiązanie. Najpierw zastano−
wiłem się, co tak naprawdę pokazuje
zwykły zegar. Okazuje się, że jeden
z 1440 stanów. Dlaczego? Sprawa jest
prosta – 24 godziny razy 60 minut daje
właśnie 1440 możliwych odczytów w cią−
gu doby. Trzeba więc skonstruować de−
koder, który te stany będzie rozróżniał i je
co minutę zmieniał. Ja do tego celu wy−
korzystałem zwykłą pamięć EPROM. Pa−
mięć 27C256, bo o takiej będziemy
mówili, posiada piętnaście wejść adreso−
wych i osiem wyjść danych. A teraz mu−
szę zrobić małą dygresję. Żeby dobrze
4
0100
4
5
0101
5
6
0110
6
7
0111
7
8
1000
8
9
1001
9
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F
tab.. 1
W dalszej części tekstu wszystkie
wartości heksadecymalne będę zgodnie
z przyjętym zwyczajem oznaczał literką
“h”.
Popatrzmy teraz na schemat zegara −
rysunek 1. Za pomiar czasu, a dokładnie
mówiąc zliczanie 1440 możliwych
stanów, odpowiada tylko pięć układów
E LEKTRONIKA DLA WSZYSTKICH 7/99
15
451482190.066.png 451482190.077.png 451482190.088.png 451482190.099.png 451482190.001.png
Projekty AVT
Rys.. 1 Schemat iideowy częścii głłównejj
zapisane czy dioda ma świecić czy nie.
Najstarszy adres będzie służył do wyboru
diody, która ma świecić. Jeżeli na adres
A 2 podany zostanie stan niski, tranzystor
T1 poda napięcie na anodę diody D1. Jej
zaświecenie będzie teraz zależne tylko od
stanu panującego na wyjściu D.
Podobnie jest, gdy na A 2 podamy stan
wysoki – aktywną będzie wtedy dioda D2
(jedynka logiczna po przejściu przez
inwerter wysteruje tranzystor T2). Czyli
wszystkie adresy o konstrukcji 0A 1 A 0
16
E LEKTRONIKA DLA WSZYSTKICH 7/99
451482190.012.png 451482190.018.png 451482190.019.png 451482190.020.png 451482190.021.png 451482190.022.png 451482190.023.png 451482190.024.png 451482190.025.png 451482190.026.png 451482190.027.png 451482190.028.png 451482190.029.png 451482190.030.png 451482190.031.png 451482190.032.png 451482190.033.png 451482190.034.png 451482190.035.png 451482190.036.png 451482190.037.png 451482190.038.png 451482190.039.png 451482190.040.png 451482190.041.png 451482190.042.png 451482190.043.png 451482190.044.png 451482190.045.png 451482190.046.png 451482190.047.png 451482190.048.png 451482190.049.png 451482190.050.png 451482190.051.png 451482190.052.png 451482190.053.png 451482190.054.png 451482190.055.png 451482190.056.png 451482190.057.png 451482190.058.png 451482190.059.png 451482190.060.png 451482190.061.png 451482190.062.png 451482190.063.png 451482190.064.png 451482190.065.png 451482190.067.png 451482190.068.png 451482190.069.png 451482190.070.png 451482190.071.png 451482190.072.png 451482190.073.png 451482190.074.png 451482190.075.png 451482190.076.png 451482190.078.png 451482190.079.png 451482190.080.png 451482190.081.png 451482190.082.png 451482190.083.png 451482190.084.png 451482190.085.png 451482190.086.png 451482190.087.png 451482190.089.png 451482190.090.png 451482190.091.png 451482190.092.png 451482190.093.png 451482190.094.png 451482190.095.png 451482190.096.png 451482190.097.png 451482190.098.png 451482190.100.png 451482190.101.png 451482190.102.png 451482190.103.png 451482190.104.png 451482190.105.png
Projekty AVT
dotyczą pier−
wszej diody, a
adresy 1A 1 A 0
drugiej. Jeżeli
teraz pod
adresem 000,
001, 010, 011
umieścimy log−
iczne zero, dioda
D1 będzie palić
się przy każdym
z możliwych
stanów 0A 1 A 0 .
Jeżeli pod adresa−
mi 100, 101 umieścimy logiczną jedynkę,
a pod adresami 110 i 111 logiczne zero,
dioda D2 będzie świecić dla dwóch z
możliwych stanów na wejściach
adresowych. Zmieniając odpowiednio
szybko stan na wejściu A 2 będziemy mieli
wrażenie ciągłego świecenia obu diod
czyli wyświetlanie sekwencyjne zwane
przez niektórych dynamicznym.
Podobną zasadę przyjąłem konstru−
ując nasz zegar. Jedyna różnica to trochę
większa pamięć. Zastosowałem popu−
larną i tanią kostkę 27C256. Za pokazy−
wanie czasu odpowiada U11.
Organizacja pamięci jest następująca –
do wyjść D1−D7 dołączone są segmenty
wyświetlaczy. Wyjście D0 steruje
dodatkowymi diodami LED. Wejścia A 0
A 10 odpowiedzialne są za dekodowanie
jednego z 1440 stanów możliwych na
liczniku U4, wejście A 11 to wybór syste−
mu pracy 12/24−godzinny, A 12 służy do
zasygnalizowania włączenia budzika, a
adresy A 13 i A 14 odpowiedzialne są za
wybór cyfry na wyświetlaczu. Pełna
składnia słowa sterującego pokazana jest
poniżej w tabelce. ((tab.. 2))
wyjściu pamięci zastosowałem bufor
separujący ULN2803, który odwraca fazę
sygnału, należy pamiętać, że to jedynka
logiczna na wyjściu pamięci powoduje
zaświecenie segmentu. Opis segmen−
tów znajduje się na rysunku 3 – jest on
zgodny z ogólnie przyjętą zasadą opisu
występującą w katalogach różnych pro−
ducentów. ((tab.. 4))
wpisaniu której dany wyświetlacz nie
świeci.
Przedstawię teraz pod jakie adresy
pamięci wpisano odpowiednie wartości i
czego one dotyczą. Czyli jeszcze jedna
tabelka – ostatnia. ((tab.. 6))
Przykładowo – w obszarze 6000h−
659Fh jest zapisane (system 24 godzinny
bez włączonego budzika) 10x60=600
razy 00 h − wyświetlacz wygaszony,
10x60=600 razy 60 h – świecą się seg−
menty B i C – wyświetlana jest jedynka
oraz 4x60=240 razy DA h − świecą się seg−
menty A, B, D, E, G – wyświetlana jest
dwójka. Wnikliwy Czytelnik łatwo
zauważy, że pewne obszary pamięci są
identyczne niezależnie od tego, w jakim
systemie zegar pracuje oraz czy budzik
jest włączony czy nie.
D7 D6 D5 D4 D3 D2 D1 D0
A
BCE
GF
DLED
tab.. 4
Rys.. 2
Dodatkowe diody LED, których
rozmieszczenie przedstawiono na
rysunku 4 służą do sygnalizacji czasu
przed południem i po południu (diody DA,
DB) w systemie pracy 12−godzinnym oraz
do sygnalizacji włączenia budzika (dioda
DD). Dla diody DC nie znalazłem zas−
tosowania, zdaję się na pomysły moich
Czytelników.
Wiedząc jak segmenty są dołączone
do wyjść pamięci, możemy ustalić co
należy wpisać do pamięci, by wyświet−
lane były konkretne cyfry. Mamy więc
kolejną tabelkę. ((tab.. 5))
Mając gotową pamięć możemy
omówić pozostałe elementy
występujące na schematach. U6 – U10,
U13 to elementy budzika – o nim za
chwilę. U12 to – jak już wcześniej
napisałem − ośmiokrotny bufor separujący.
Sterowany z wyjść pamięci steruje seg−
Wyj.
Pam.
Steruje
Wyświetla cyfrę
0
1
2
3
4
5
6
7
8
9
wygaszanie
D0 LED 0
0
0
0
0
0
0
0
0
0
0
D1 D
1
0
1
1
0
1
1
0
1
1
0
D2 F
1
0
0
0
1
1
1
0
1
1
0
D3 G
0
0
1
1
1
1
1
0
1
1
0
D4 E
1
0
1
0
0
0
1
0
1
0
0
D5 C
1
1
0
1
1
1
1
1
1
1
0
D6 B
1
1
1
1
1
0
0
1
1
1
0
D7 A
1
0
1
0
0
1
1
1
1
1
0
Bez LED
F6 h 60 h
DA h EA h 6C h AE h BE h E0 h FE h EE h 00 h
Z LED
F7 h 61 h
DB h EB h 6D h AF h BF h E1 h FF h EF h 00 h
tab.. 5
Dioda DB dołączona jest do wyświet−
lacza dziesiątek godzin, DA do wyświet−
mentami wyświetlaczy pobierającymi sto−
sunkowo duży prąd. Układ U15 służy do
sterowania kluczami analogowymi zasi−
lającymi anody wyświetlaczy. Jest to pod−
wójny multiplekser z 1 na 4 linie. Jego
wejścia sterujące A i B dołączone są
A 14 A 13 A 12 A 11 A 10 A 9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0
cyfra
budzik 12/24
dekoder stanów – 1 z 1440
tab.. 2
ADRES ZAWARTOŚĆ
0000 h – 059F h Minuty – system 24h – budzik wyłączony
0800 h – 0D9F h Minuty – system 12h – budzik wyłączony
1000 h – 159F h Minuty – system 24h – budzik załączony
1800 h – 1D9F h Minuty – system 12h – budzik załączony
2000 h – 259F h Godziny – system 24h – budzik wyłączony
2800 h – 2D9F h Godziny – system 12h – budzik wyłączony
3000 h – 359F h Godziny – system 24h – budzik załączony
3800 h – 3D9F h Godziny – system 12h – budzik załączony
4000 h – 459F h Dziesiątki minut – system 24h – budzik wyłączony
4800 h – 4D9F h Dziesiątki minut – system 12h – budzik wyłączony
5000 h – 559F h Dziesiątki minut – system 24h – budzik załączony
5800 h – 5D9F h Dziesiątki minut – system 12h – budzik załączony
6000 h – 659F h Dziesiątki godzin – system 24h – budzik wyłączony
6800 h – 6D9F h Dziesiątki godzin – system 12h – budzik wyłączony
7000 h – 759F h Dziesiątki godzin – system 24h – budzik załączony
7800 h – 7D9F h Dziesiątki godzin – system 12h – budzik załączony
tab.. 6
Opis możliwych stanów na wejściach
A 14 −A 11 podaję poniżej. Stany na wejś−
ciach A 14 A 13 zmieniają się dynamicznie –
dołączone są do wyjść licznika U1. Stany
na wejściach A 12 i A 11 ustawiane są przez
użytkownika. ((tab.. 3))
lacza godzin, DC
do wyświetlacza
dziesiątek minut,
DD do wyświet−
lacza minut.
Wyjaśnienia
wymagają dwa
dolne wiersze. Są
tam wartości, dla
których dioda
dodatkowa
podłączona do
wyświetlacza
świeci lub nie
(przypominam –
decyduje o tym
stan panujący na
D0). Kolumna
“wygaszanie” to
wartość, po
AdresStan log. Efekt
A 11
0
System 24 – godzinny
A 11
1
System 12 – godzinny
A 12
0
Budzik wyłączony
A 12
1
Budzik włączony
A 14 A 13 00
Wybrany wyświetlacz minut
A 14 A 13 01
Wybrany wyświetlacz godzin
A 14 A 13 10
Wybrany wyświetlacz dziesiątek minut
A 14 A 13 11
Wybrany wyświetlacz dziesiątek godzin
tab.. 3
Kolejna tabelka przedstawia, które z
segmentów wyświetlacza dołączone są
do których wyjść pamięci. Ponieważ na
E LEKTRONIKA DLA WSZYSTKICH 7/99
17
451482190.106.png 451482190.107.png 451482190.108.png 451482190.109.png 451482190.002.png 451482190.003.png 451482190.004.png 451482190.005.png 451482190.006.png 451482190.007.png 451482190.008.png 451482190.009.png 451482190.010.png
Projekty AVT
Rys.. 3 Schemat iideowy ukłładów pomocniiczych
wejście 6 U8 zera log−
icznego. Blokuje to szereg
komparatorów.
Układy U14 i U16 zapew−
niają możliwość ustawiania
czasu na zegarze oraz
nastawiania czasu budzenia.
Ustawiamy “to co widzimy”,
tzn. czas w chwili wyświetla−
nia zegara lub alarm w chwili
wyświetlania budzika.
Zapewnia to odpowiednia
kombinacja bramek układu
U16 połączona z
przełącznikiem
BUDZIK/CZAS. Ustawianie
odbywa się tylko poprzez
zwiększanie widocznej na
wyświetlaczu wartości.
Sygnał o odpowiedniej częs−
totliwości poprzez kombi−
nację kluczy układu U14
trafia na wejście B licznika
U4. W trakcie normalnej
pracy na wejście to trafia co
minutę jeden impuls. Czas
możemy ustawiać z dwiema
prędkościami – przy pomocy
S4 z częstotliwością zmian
16Hz (punkt D połączony z B)
lub przy pomocy S5 z częs−
totliwością 1Hz (punkt C
połączony z B). Pierwsza z
częstotliwości występuje na
wyjściu Q10 U1, druga na
wyjściu Q0 U2A. Do wyjścia
1Hz dołączone są, poprzez
tranzystor T1, diody D1
(dwie diody połączone szere−
gowo). Na wyświetlaczu
tworzą one charakterysty−
czny dwukropek oddzielający
godziny od minut. Jeżeli
żaden z przycisków usta−
wiania czasu nie jest
wciśnięty, na wejście 10 U4
podawane są impulsy co
jedną minutę (punkt A
połączony z B).
Do omówienia pozostaje zasilanie
zegara. Głównym źródłem energii jest zasi−
lacz (może być niestabilizowany) o napię−
ciu wyjściowym 8V i wydajności prądowej
do 0,5A. Podłączamy go do złącza ZZ. W
celu podtrzymania wskazań w przypadku
wyłączenia sieci do złącza ZB powinniśmy
dołączyć baterię lub akumulatorek o napię−
ciu 4,8...5V. Poprzez diodę D3 zasilać on
będzie układy U1−U7, U14 i U16 i dzięki
temu praca zegara nie ulegnie zakłóce−
niom.
razem z adresami A 13 i A 14 pamięci do
wyjść Q6, Q7 układu U1. Wejścia X i Y
U15 dołączone są do masy, w związku z
czym na wyjściach Y0−Y1 pojawia się
“wędrujące” zero logiczne. Powoduje to
wysterowanie kolejno tranzystorów T2−T5
i zasilanie wyświetlaczy.
Porozmawiamy teraz o budziku. Jest on
zrealizowany przy pomocy układów U6−
U10 i U13. Kostki U6, U7 i U13 tworzą
układ identyczny jak w zegarze. Dwa pier−
wsze zapewniają zliczanie do 1440, czyli
ustawienie czasu budzenia, U13 to pamięć
będąca kopią U11. Służy do wyświetlania
nastawianego czasu budzenia.
Zobrazowanie nastaw budzika można było
rozwiązać za pomocą demultiplekserów.
Tylko po co, skoro pamięci można łączyć
wyjściami – pamięć nieaktywna ustawia
swoje wyjścia w stan wysokiej impedancji.
I tę cechę wykorzystałem. Układy U8−U10
to komparatory porównujące stany
panujące na wyjściach licznika U4 ze stana−
mi na wyjściach U6. Jeżeli są zgodne, na
wyjściu 3 U10 pojawia się jedynka logiczna
− wysterowuje ona tranzystor T6 – do jego
kolektora wyprowadzonego na złącze P
możemy dołączyć dowolny układ sygna−
lizacyjny. W moim przypadku jest to
piezoelement z wbudowanym genera−
torem. Wyłączenie budzika przełącznikiem
S2 jest równoznaczne z podaniem na
Jarosłław Barańskii
18
E LEKTRONIKA DLA WSZYSTKICH 7/99
451482190.011.png 451482190.013.png 451482190.014.png 451482190.015.png 451482190.016.png 451482190.017.png
Zgłoś jeśli naruszono regulamin