Rys. 3 Schemat ideowy cyferblatu
WSK1
R25
270
SEK1
O < |
“ffih |
< "pHh |
“pW- |
< |
T5 |
) "pfth |
“p£- |
“pM- |
□260 ,V\ fM- |
"fft- |
7* | ||
SEK2 $ O |
“J-W- |
“pH- |
0256 ^ rW- |
“pN- |
"fft- |
“pM- |
1- |
C295 .'■'N pHH |
“pHH |
Jr |
D2pHh |
-C |
D300>' |
OODZJ3
o—
znajdują się na płytce sterownika, ponieważ nic zmieściły się na płytce diod. Wysoka wydajność prądowa wyjść zatrzasków pozwoliła na bezpośrednie sterowanie wierszami obu matryc. Na płytce diodowej znajdują się jeszcze diody zarysu godzin B0-B11 z rezystorami ograniczającymi prąd R13-R24. Diody tc są połączone równolegle i sterowane pojedynczym sygnałem. Dioda centralna jest włączona na stałe w obwód zasilania poprzez rezystor R25. Zaprojektowałem jednostronną płytkę drukowaną zc względu na spore kłopoty z płytkami dwustronnymi. Niestety, me wszystkie połączenia diod się na niej zmieściły. Odręcznie należy wykonać połączenia wierszy matryc za pomocą fragmentów przewodów. Ścieżka łącząca emitery tranzystorów T1-T6 jest ścieżką +5V, którą należy podłączyć do +5 V płytki sterownika. Wyprowadzenie katody diody centralnej oznaczone literą A należy połączyć z drugim punktem lutowniczym o tym samym oznaczeniu.
Jak widać na rysunku 4 układ sterowania jest dość prosty. Sercem zegara jest mikroprocesor AT89 C2051 firmy Atmel Może to być model o najmniejszym rozmiarze pamięci programu (AT89C105I), ponieważ kod programu zajmuje niespełna 500 bajtów. Port PI mikroprocesora służy jako 8-bitowa szyna danych, do której podłączono cztery zatrzaski typu 74HC573. a sterowanie nimi odbywa się za pomocą linii P3.3-P3.7. Zatrzaski IC2 i IC3 sterują diodami wskazówkowymi, a IC4 i 1C5 diodami sekundnika. IC3 i IC5 są podłączone do szyny danych odwrotnie. Podyktowane to jest uproszczeniem połączeń na płytce drukowanej.
Stabilizator IC1 wraz z kondensatorami filtrującymi C1-C4 tworzą zasilacz napięcia 5V. Dzięki diodom DS1 i DS2 możliwe jest podłączenie do wejść BAT+ i BAT- baterii podtrzymującej napięcie. W razie zaniku zasilania głównego, z baterii zasilany jest tylko mikroprocesor. Z baterii pobielany jest wówczas niewielki prąd, co wydłuża jej żywotność.
W układzie zastosowałem kwarc o częstotliwości 12MHz. Dzięki temu odliczanie ilości taktów w programie mikroprocesora jest bardzo proste.
Wyprowadzenie P3.0 mikroprocesora steruje za pośrednictwem R27 tranzystorem T7. który z kolei steruje diodami zarysu godzin. Dzięki temu można programowo sterować jasnością tych diod i dobrać ją według własnego upodobania. Do wyprowadzenia P3.2 podłączono jeden klawisz SET, który służy do ustawiania godziny.
Rezystory R28 i R29 podciągają wyprowadzenia P1.0-P1.1 do plusa zasilania. Jest to konieczne, gdyż wyprowadzenia te nie posiadają wewnętrznych „pull-upów”.
Program sterujący napisałem w programie w C w środowisku Keil. Wersja demo tego programu w zupełności wystarcza, ponieważ kod programu wynikowego mieści się w ograniczeniu darmowej wersji (2kB kodu wynikowego). Program nie jest skomplikowany i nawet mniej zaawansowani Czytelnicy nie będą mieli kłopotu z jego analizą.
Program główny, po zainicjalizowaniu wstępnych parametrów (włączenie systemu przerwań oraz przerwania TO, konfiguracja TO itd.), przechodzi do nieskończonej pętli. Główne działania wykonywane są w przerwaniu. Wykorzystałem licznik TO do odliczania odpowiedniej liczby taktów. Licznik przepełnia się co każde 5000 taktów, więc przerwanie obsługiwane jest 200x na sekundę. Ponieważ są cztery multipleksowane segmenty - zarys godzin, sekundnik, wskazówka minut, wskazówka godzin - wobec tego pojedynczy segment obsługiwany jest 50x na sekundę. Taka częstotliwość odświeżania jest wystarczająca,
PN
bo Tbi | bu
14 Czerwiec 2006 Elektronika dla Wszystkich