Elektroniczny zegar sterujący z mikrokontrolerem ST6225


http://www.easy-soft.tsnet.pl
Elektroniczny zegar sterujący
z mikrokontrolerem ST6215/25
Zapewne wśród Was znajdują się również i tacy, którzy
pamiętają czasy budowy zegarów elektronicznych ze
specjalizowanych, dedykowanych tylko tej funkcji,
układów scalonych takich jak seria MC120x produkcji
NPCP CEMI. Taki zegar miał tylko funkcje przewidziane
przez producenta i nie było specjalnie możliwości aby
Funkcje zegara:
zmienić je i dostosować do własnych potrzeb. Nie dosyć
- wskazywanie bieżącego czasu w
więc, że bardzo trudno było taki chip zegarowy zdobyć,
systemie 24 godzinnym,
- wskazywanie sekund, to jeszcze najczęściej efekt tylko w 90% spełniał
- włączanie przekaznika w dwóch
oczekiwania. Dziś mikrokomputery jednoukładowe
ustawianych godzinach na czas 0,5
stwarzają bardzo szerokie pole do popisu dla ludzi z
lub 1 godziny.
pomysłami i wyobraznią. W zasadzie tylko ilość
dostępnej pamięci programu i danych są jedynymi
ograniczeniami dla konstruowanych układów. Każdy mający nieco pojęcia o programowaniu i
elektronice może stworzyć sobie układ taki, aby jak najlepiej pasował do jego potrzeb.
Opis układu
Jednym z kryteriów przy budowie zegara było użycie jak
Stany diod LED:
najmniejszej ilości elementów i jak najniższy ich koszt
- D1  Progr.1 świeci światłem
przy jednocześnie wysokich walorach użytkowych (np.
ciągłym  ustawione jest wyłączanie
bardzo dobra widoczność cyfr, także przy oświetleniu
prog.1 po upływie 1 godziny; D1
światłem słonecznym). Stąd też może niektórych zdziwić
pulsuje  ustawione jest wyłączanie
zasilanie segmentów z wyjść ST62 (zazwyczaj wyjścia
prog.1 po upływie 0,5 godziny.
załączają segmenty do masy poprzez otwarty dren
- D2  Progr.2 świeci światłem
tranzystora wyjściowego), lecz przy sprawdzeniu kilku
ciągłym  ustawione jest wyłączanie
modeli wyświetlacza okazało się, że najlepiej wymagania
prog.2 po upływie 1 godziny; D2
pulsuje  ustawione jest wyłączanie
co do jasności świecenia spełnia wyświetlacz o wspólnej
prog.2 po upływie 0,5 godziny,
katodzie SC03-12 firmy Kingbright. W praktyce prąd
- D3  Gotowy świeci  ustawiony i
pobierany z wyjść ST62 zapewnia dosyć dobre warunki
aktywny jest czas załączenia prog.1
wyświetlania i nie powoduje przeciążenia układu. Należy
lub prog.2
zwrócić jednak uwagę na to, że nie jest to obciążenie
- D4  Włączony  świecenie
stałe, ponieważ wyświetlacze są multipleksowane i w
informuje o załączeniu przekaznika
rezultacie na wyjściach ST62 napięcie ma kształt fali
RL1.
prostokątnej.
Zasadniczą funkcją, dla której projektowany był zegar
sterujący, było włączenie w którymś z dwóch zaprogramowanych czasów oraz wyłączenie po
upływie 0,5 lub 1 godziny odbiornika prądu elektrycznego. yródłem zasilania była instalacja prądu
stałego o napięciu 22 do 32V.
Rolę układu pomiaru czasu oraz obsługi funkcji zegara, spełnia mikrokontroler ST6215 lub ST6225
produkcji firmy STM. Jako wzorca czasu użyłem rezonatora kwarcowego 7,2MHz. Jego
częstotliwość jest wewnętrznie dzielona przez 96000 (dając w rezultacie 75Hz) i steruje
przerwaniem zegarowym służącym do pomiaru czasu. Klawisze połączone są w układ prostej
matrycy 2 wiersze x 3 kolumny. Dodatkowo wiersze i kolumny podłączone są do +5V poprzez
rezystory R13..R17. Rezystorów tych można nie stosować, jeżeli zegar pracuje z dala od zródeł
zakłóceń elektrycznych. ST62 ma bowiem wewnętrzne rezystory pull-up załączane programowo.
Katody wyświetlaczy załączane są przez bramki ULN2003A. Ten sam układ steruje przekaznikiem.
Anody wyświetlaczy zasilane są bezpośrednio z wyjść mikrokontrolera poprzez rezystory. Rolę
zasilacza i stabilizatora napięcia spełnia typowy układ 7805. Napięcie do stabilizacji jest wstępnie
obniżane przez rezystor R12 tak, aby zmniejszyć straty mocy na stabilizatorze.
Stan pracy zegara sygnalizowany jest poprzez diody LED. W prezentowanym układzie modelowym
wyświetlacz wyłączany jest po upływie zaprogramowanego czasu i włączany po przyciśnięciu
któregoś z klawiszy. Tę właściwość zegara można jednak łatwo zablokować w programie, jeżeli nie
jest potrzebna.
J.Bogusz  Elektroniczny zegar sterujący z ST6225 , Strona 1 z 5
http://www.easy-soft.tsnet.pl
Opis programu
Opis programu
Listing 1.
;Tablica przerwań zawiera wskazania do procedur
obsługi
Program napisany jest w całości w
Program napisany jest w całości w
.ORG 0FF0H
języku asemblera mikrokontro-
języku asemblera mikrokontro-
IT_ADC NOP ;Przerwanie z przetwornika A/D
lerów z rodziny ST62. Jest dosyć
lerów z rodziny ST62. Jest dosyć
RETI ;
IT_TMR JP TMR_IRQ ;Przerwanie układu zegarowego
garowego
obszerny, toteż poniższy opis nie
obszerny, toteż poniższy opis nie
IT_PBC NOP ;Przerwanie z portu B lub C
IT_PBC NOP ;Przerwanie z portu B lub C
wyczerpie wszystkich jego
wyczerpie wszystkich jego
RETI
RETI
aspektów. Pozwoli jednak
aspektów. Pozwoli jednak
IT_PA NOP ;Przerwanie z portu A
IT_PA NOP ;Przerwanie z portu A
zrozumieć zasadę i ułatwi
zrozumieć zasadę i ułatwi
RETI ;
RETI ;
NOP ;Zarezerwowane przez
NOP ;Zarezerwowane przez
samodzielną analizę.
samodzielną analizę.
producenta
producenta
Najważniejszą częścią programu
Najważniejszą częścią programu
NOP ;
NOP ;
jest procedura obsługi przerwania
jest procedura obsługi przerwania
NOP ;
NOP ;
zegarowego służąca do
zegarowego służąca do
NOP ;
NOP ;
NMI NOP ;Przerwanie niemaskowalne
NMI NOP ;Przerwanie niemaskowalne
odmierzania czasu. Adres
odmierzania czasu. Adres
RETI ;
RETI ;
procedury przerwania zegarowego
procedury przerwania zegarowego
RES JP INIT ;Wektor obsługi programu
RES JP INIT ;Wektor obsługi programu
podaje się w tabeli przerwań
podaje się w tabeli przerwań
;po RESET
;po RESET
umieszczonej pod adresem
umieszczonej pod adresem
0FF0H. Częstotliwość z jaką jest ona wywoływana można zmieniać programując wartości rejestrów
0FF0H. Częstotliwość z jaką jest ona wywoływana można zmieniać programując wartości rejestrów
TCR (D3H) i TSCR (D4H) mikrokontrolera. W programie preskaler ustawiany przez stany bitów b0
TCR (D3H) i TSCR (D4H) mikrokontrolera. W programie preskaler ustawiany przez stany bitów b0
do b2 rejestru TSCR ma zadaną wartość podziału 64. Podział ten zwielokrotniany jest przez
do b2 rejestru TSCR ma zadaną wartość podziału 64. Podział ten zwielokrotniany jest przez
wewnętrzny TIMER (125) oraz wstępny podział (12) wynikający z konstrukcji mikrokontrolera
wewnętrzny TIMER (125) oraz wstępny podział (12) wynikający z konstrukcji mikrokontrolera
(7,2MHz / (64 x 125 x 12) = 75Hz). Czas aktualny pamiętany jest w komórkach SECAKT, MINAKT
(7,2MHz / (64 x 125 x 12) = 75Hz). Czas aktualny pamiętany jest w komórkach SECAKT, MINAKT
i HOURAKT a procedura obsługi przerwania zegarowego w odpowiedni sposób modyfikuje ich
i HOURAKT a procedura obsługi przerwania zegarowego w odpowiedni sposób modyfikuje ich
zawartość. Modyfikowana jest również komórka SECSCNT wykorzystywana przez program do
zawartość. Modyfikowana jest również komórka SECSCNT wykorzystywana przez program do
odmierzania czasu wygaszenia wyświetlacza lub automatycznego przełączenia z ustawiania
odmierzania czasu wygaszenia wyświetlacza lub automatycznego przełączenia z ustawiania
godziny programu do wskazań zegara. Przerwanie zegarowe blokowane jest w momencie
godziny programu do wskazań zegara. Przerwanie zegarowe blokowane jest w momencie
ustawiania czasu aktualnego tak, aby nie był on zliczany w podczas aktualizacji. Każda zmiana
ustawiania czasu aktualnego tak, aby nie był on zliczany w podczas aktualizacji. Każda zmiana
licznika minut (w efekcie rezultat naciśnięcia klawisza  Plus lub  Minus ) powoduje, że czas
licznika minut (w efekcie rezultat naciśnięcia klawisza  Plus lub  Minus ) powoduje, że czas
zliczany jest od 0 sekund. Zostało tak zrobione po to, aby zegar mógł wystartować odliczanie
zliczany jest od 0 sekund. Zostało tak zrobione po to, aby zegar mógł wystartować odliczanie
równocześnie z jakimś (np. nadawanym przez radio) wzorcem czasu.
równocześnie z jakimś (np. nadawanym przez radio) wzorcem czasu.
Listing 2.
;Fragment procedury inicjującej INIT dotycząca programowania częstotliwości wywoływania
;przerwania zegarowego
INIT ..............
LDI TCR,07DH ;licznik TIMERA = 125
LDI TSCR,06EH ;zezwolenie na generowanie przerwań przez
;TIMER (ETI=1), preskaler=64
CLR ADCR ;wyłączenie przetwornika A/D dla oszczędzania
;energii
LDI IOR,070H ;globalne zezwolenie na przyjmowanie przerwań
................
;Obsługa przerwania zegarowego, zliczanie czasu
TMR_IRQ LDI TCR,07DH ;rozpoczęcie nowego odliczania, uzupełnienie zawartości
;rejestru TCR
RES 7,TSCR ;wyzerowanie bitu uruchamiającego nowe odliczanie
LD COPY_A,A ;zapamiętanie zawartości akumulatora w ram
INC IRQCNT ;zwiększamy licznik przerwań o 1
LD A,IRQCNT ;czy to już 75 powtórzeń?
CPI A,ONESEC
JRZ TMR_1 ;jeśli tak, zwiększ licznik sekund
JP TIRQEND ;jeśli nie, koniec obsługi przerwania
TMR_1 CLR IRQCNT ;kasowanie licznika wejść do obsługi
INC SECSCNT ;zwiększenie licznika pauzy licznik ten liczy do
;przepełnienia, zerowany i sprawdzany w odpowiednich
;procedurach
INC SECAKT ;zwiększenie licznika sekund
LD A,SECAKT ;czy to już 60 sekund(minuta)?
CPI A,60
JRZ TMR_2 ;jeśli tak, to zwiększ licznik minut
JP TIRQEND ;jeśli nie, to koniec obsługi przerwania
TMR_2 CLR SECAKT ;kasowanie licznika sekund
INC MINAKT ;zwiększenie licznika minut
LD A,MINAKT ;czy to już 60 minut(godzina)?
CPI A,60
JRZ TMR_3 ;jeśli tak, to zwiększ licznik godzin
JP TIRQEND ;jeśli nie, to koniec obsługi przerwania
J.Bogusz  Elektroniczny zegar sterujący z ST6225 , Strona 2 z 5
http://www.easy-soft.tsnet.pl
TMR_3 CLR MINAKT ;skasuj licznik minut
INC HOURAKT ;zwiększ licznik godzin
LD A,HOURAKT ;czy minęły już 24 godziny(doba)?
CPI A,24
JRZ TMR_4 ;jeśli tak, zacznij zliczanie od nowa (od 0.00)
JP TIRQEND ;jeśli nie, to koniec obsługi przerwania
TMR_4 CLR HOURAKT
TIRQEND LD A,COPY_A
RETI
Program po wykonaniu funkcji inicjowania rejestrów i zmiennych wykonuje pętlę o nazwie MAIN
przerywaną cyklicznie przez przerwanie zegarowe. W pętli tej znajdują się procedury:
1) WYSW  wyświetlenie czasu bieżącego lub któregoś z czasów załączeń oraz stanu diod LED,
2) KLAW  odczyt stanu klawiatury,
3) AKCJA  podjęcie akcji w zależności od stanu klawiatury,
4) ALARM  porównanie czasów załączeń z czasem bieżącym i załączenie / wyłączenie
przekaznika.
Procedura WYSW
Opisując tę procedurę należy wspomnieć o co najmniej dwóch jej fragmentach. Pierwszy to sposób
pobierania wzorca cyfry z pamięci ROM, który dla układów ST62 jest dosyć specyficzny, natomiast
drugi to metoda zamiany liczb w kodzie szesnastkowym (HEX) na kod dziesiętny (BCD).
Wzorzec cyfry odczytywany jest poprzez okno dostępu do danych w ROM o rozmiarze 64 bajtów.
Adresem początkowym tego okna steruje rejestr o nazwie DWR (C9H). Zawartość tego rejestru
wylicza się jako: ADRES_UMIESZCZENIA_TABLICY_W_ROM / 3FH. I tak jeśli dane pobierane będą
spod adresu 880H, to zawartość DWR = 880H / 3FH = 22H. Zawartość DWR wpływa na to z
jakiego obszaru ROM pobierać będziemy dane, nie ma natomiast żadnego wpływu na sposób
dostępu do tych danych. Będą one bowiem zawsze dostępne dla aplikacji w obszarze od 40H do
7FH. Możemy więc przesuwać dowolnie adres początkowy okna (wybierając np. różne wzorce cyfr)
i nie musimy nic zmieniać w formatach rozkazów pobierających te wzorce do wyświetlenia z ROM.
Procedura WYSW zawsze wyświetla stan diod LED sygnalizujących pracę programu. Cyfry
wyświetlane są natomiast wówczas, gdy bit 6 zmiennej STAPRG ma wartość  1 i gaszone, gdy ma
on wartość  0 . Nie chcąc używać funkcji wyłączania cyfr należy tak zmodyfikować program, aby
ten bit był zawsze ustawiony lub usunąć rozkaz, który sprawdza jego stan. Liczby do wyświetlenia
znajdują się w 2-bajtowej zmiennej o nazwie STADISP. Program w zależności od tego, co ma być
wyświetlane, wpisuje do komórek MIN i HOUR albo czas aktualny (MINAKT,HOURAKT), albo czas
któregoś z alarmów (MINAL1, MINAL2, HOURAL1, HOURAL2). Następnie przez procedurę H2D
dokonywana jest konwersja liczb HEX na BCD a wynik tej konwersji zapamiętywany jest w
STADISP.
Zamiana liczb HEX na BCD odbywa się poprzez bardzo prostą metodę odejmowania od wartości w
rejestrze dziesiątek dotąd, dopóki nie wystąpi pożyczka i liczenie tych operacji (ich liczba to wprost
liczba dziesiątek). Następnie rejestr, od którego odejmowano uzupełniany jest o 10 (odpowiada to
operacji dodania do liczby ujemnej) i w ten sposób uzyskuje się liczbę jedności.
Listing 3.
;Konwersja liczb HEX z komórek MIN i HOUR na liczby dziesiętne BCD
;wynik umieszczany jest w STADISP
H2D LDI WDR,0FEH ;uzupełnienie rejestru WATCHDOG
LD A,MIN ;Konwersja minut na BCD
LDI X,STADISP ;do: A <- MIN, X <- adres, gdzie będzie wynik konwersji
CALL H2D_1 ;wywołanie procedury zamiany
LD A,HOUR ;Konwersja godzin na BCD
INC X ;następny bajt przechowuje godziny
CALL H2D_1 ;wywołanie procedury zamiany
RET
;Liczba do konwersji w A, wynik zapamiętany pod adresem wskazywanym przez rejestr X
H2D_1 CLR CNT1 ;zerowanie licznika  10 w liczbie
H2D_2 SUBI A,10 ;liczymy  10 w liczbie
JRC H2D_3 ;i dokąd dają się odejmować, dotąd
INC CNT1 ;liczymy ich ilość
JP H2D_2
H2D_3 ADDI A,10 ;wyliczenie jednostek poprzez uzupełnienie
;akumulatora o  10
J.Bogusz  Elektroniczny zegar sterujący z ST6225 , Strona 3 z 5
http://www.easy-soft.tsnet.pl
LD V,A ;przechowanie młodszej części liczby w rejestrze V
LD A,CNT1 ;do akumulatora starsza część liczby (dziesiątki)
SLA A ;zajmuje ona bity od b4 do b7, toteż należy akumulator
SLA A ;przesunąć w lewo o 4 pozycje
SLA A
SLA A
ADD A,V ;suma młodszej przechowanej w V i starszej części liczby
LD (X),A ;zapamiętanie ich pod adresem X
RET
W przypadku wyświetlania czasu jako odrębne minuty i sekundy mamy do czynienia wyłączenie z
liczbami z zakresu od 0 do 59, wiec procedura konwersji może być maksymalnie uproszczona. W
przypadku większych liczb należy liczyć wystąpienia 10000, 1000 itd. i wykonywać operacje na
większej ilości rejestrów.
Procedura KLAW
Opis funkcji klawiszy:
- SW5  Zegar : naciśnięcie powoduje
Klawiatura sterująca zbudowana jest w typowy
wyświetlenie czasu aktualnego, dłuższe
sposób. Bity 6 i 7 portu PB to wiersze matrycy
przytrzymanie włącza wyświetlanie
klawiatury. Bity 3,4 i 5 tego samego portu, to
sekund; ustawianie zegara klawiszami
kolumny. Procedura wysyłając  0 na linię wiersza
 Plus /  Minus po naciśnięciu  Zegar ,
skonfigurowaną jako wyjście bada, czy przeniosło
- SW2  Z/W : załączanie i wyłączanie
się ono na którąś z linii kolumn skonfigurowanych
przekaznika; załączenie powoduje, że
jako wejściowe. Normalnie na tych liniach jest  1
żaden z ustawionych czasów nie będzie
zmieniał stanu przekaznika,
zapewniana przez rezystory załączone do plus
- SW1  Prog.1 i SW3  Prog.2 : pierwsze zasilania, jednak jeżeli na linii wiersza jest  0 i
naciśnięcie powoduje wyświetlenie godziny
wciśniemy klawisz, to nastąpi zwarcie stanu
jednego z dwóch  alarmów i umożliwia jej
wysokiego kolumny poprzez wiersz i tak można
zmianę, drugie uaktywnienie danego czasu
zidentyfikować naciśnięcie klawisza. Stan
włączenia - odpowiednia dioda LED świeci
klawiatury umieszczany jest w zmiennej STAKBD 
światłem ciągłym  wyłączenie przekaznika
ustawienie bitu oznacza, że naciśnięto klawisz.
po upływie 1 godziny, trzecie zmienia czas
Znaczenie bitów opisane jest w programie
włączenia przekaznika na 0,5 godz.,
zródłowym. Procedura nie eliminuje tzw. drgań
czwarte  dezaktywuje program
(odpowiednia dioda LED nie świeci), styków. Drganie, czy też przypadkowe naciśnięcia
- SW4  Minus i SW6  Plus : ustawianie klawisza, eliminowane są poprzez liczenie ile razy
czasu; przy jednokrotnym naciśnięciu
na skutek wciśnięcia klawisza program odwoływał
aktualnie wyświetlana godzina (czas
się do danej funkcji. Licznik ten (LOOPCNT)
bieżący, alarm 1 lub 2) zwiększana /
porównywany jest ze stałą DELAY1 i po osiągnięciu
zmniejszana jest o 1 minutę, przy
równości funkcja jest wykonywana.
dłuższym przytrzymaniu klawisza włączane
Autopowtarzanie włączane jest tam, gdzie jest
jest autopowtarzanie ze zwiększoną
potrzebne, po przytrzymaniu klawisza przez czas
szybkością.
określony w stałej DELAY2.
Procedura AKCJA
Nazwa procedury wskazuje na jej funkcję. Steruje ona podejmowaniem akcji przez program w
zależności od stanu zmiennej STAKBD. Zakres realizowanych funkcji jest dosyć szeroki - od
zwiększania czasu alarmu, czy też aktualnego, do prozaicznego ustawiania stanów pojedynczych
bitów zmiennej STAPRG.
Procedura ALARM
Jej zadaniem jest : załączenie przekaznika o określonej godzinie, wyliczenie czasu wyłączenia
poprzez dodanie do czasu załączenia odpowiedniej wartości, wyłączenie przekaznika. Procedura ta
to tylko proste porównanie ustawionych i wyliczonych wartości. Czas porównywany jest z
dokładnością do 1 sekundy. Dlaczego? Otóż jeżeli czas porównywany byłby z dokładnością do 1
minuty, to nie byłoby możliwe wyłączenie urządzenia przez okres tejże minuty. Mikrokontroler
włączał by urządzenie na skutek porównania czasu, my wyłączalibyśmy je ręcznie, po czym znowuż
następowałoby załączenie i taka zabawa trwałaby okrągłą minutę z tym, że ST62 byłby od nas
szybszy.
Do konstrukcji modelu zegara użyłem ST6225 ze sprzętowym układem watchdog (ST6225 HWD).
Ogólnie rzecz biorąc rola tego układu polega na wymuszeniu sygnału RESET, jeżeli program nie
J.Bogusz  Elektroniczny zegar sterujący z ST6225 , Strona 4 z 5
http://www.easy-soft.tsnet.pl
aktualizuje rejestru licznika WDR (D8H). Każda procedura przy
wejściu aktualizuje więc WDR wpisując do niego maksymalną
Rezystory:
wartość. W nowych układach ST serii C o tym czy Watchdog jest
R1..R8 150R
programowy, czy sprzętowy decyduje się podczas programowania R9 10k
R10,R11 1k
mikrokontrolera  w starszych trzeba zwrócić uwagę na określenie
R12 180R/2W
jego rodzaju w nazwie.
R13..R17 82k
Kondensatory:
Zegar sterujący powstał w całości w warunkach amatorskich przy
C1,C2 22pF
wykorzystaniu jedynie narzędzi z firmowego ST6 Starter Kit (AST6
C3,C4 47n
Assembler, SIMST6  symulator i LST6  linker). Wszystkie te
C5 10u/10V
narzędzia (i nieco więcej) dostępne są również na płycie CD-EP2
C6 10u/50V
oferowanej przez Elektronikę Praktyczną. Także programator do Półprzewodniki:
U1 ST6225
mikrokontrolerów ST6 był opisywany w EP 11/97 i można go kupić
U2 ULN2003A
jako kit AVT-363.
U3 7805U
D1..D4 LED 2,5mm
W1..W4 SC03-12
Jacek Bogusz
Różne:
jacek.bogusz@easy-soft.tsnet.pl
SW1 PROG.2
SW2 Z/W
SW3 PROG.1
SW4 MINUS
SW5 ZEGAR
SW6 PLUS
RL1 RL96R
PL1 +24V
PL2 MASA
PL3 P1.1
PL4 P1.2
Q1 7,2MHz
J.Bogusz  Elektroniczny zegar sterujący z ST6225 , Strona 5 z 5
U2E
ULN2003A
PC4 5 12 DG1
9
U2D
PC5 4 13 DG2
Q1
7,2MHz
DA 14 DA 14 DA 14 DA 14
a a a a
C1 9 DB 13 DB 13 DB 13 DB 13
U2C b b b b
22pF U2 DC 8 DC 8 DC 8 DC 8
c c c c
3 27 PA0 PC6 3 14 DG3 DD 7 DD 7 DD 7 DD 7
OSCIN PA0 d d d d
26 PA1 DE 6 DE 6 DE 6 DE 6
PA1 e e e e
25 PA2 DF 1 DF 1 DF 1 DF 1
PA2 f f f f
24 PA3 9 DG 2 DG 2 DG 2 DG 2
PA3 U2B g g g g
4 23 PA4 9 9 9 9
OSCOUT PA4/AIN h h h h
22 PA5 PC7 2 15 DG4
PA5/AIN
C2 21 PA6
PA6/AIN
22pF 20 PA7 W1 W2 W3 W4
PA7/AIN
9 SC03-12 SC03-12 SC03-12 SC03-12
TIMER 2 19 PB0
R1
TIMER PB0/AIN
10 18 PB1 TIMER
TEST PB1/AIN
17 PB2
R2 R14
PB2/AIN
150 150
16 PB3 PA0 DA
PB3/AIN
15 PB4
R3 R13
PB4/AIN
150
82k
14 PB5 PA1 DB
PB5/AIN VCC
13 PB6
R4 R15
PB6/AIN
150
82k
12 PB7 PA2 DC
PB7/AIN
R5
150
82k
9 PC4 PA3 DD
PC4/AIN
8 PC5
R6
PC5/AIN
150
5 7 PC6 PA4 DE
NMI PC6/AIN
11 6 PC7
R7
RESET PC7/AIN
150
PA5 DF
R8
150
SW1 SW2 SW3 SW4 SW5 SW6
ST6225 PA6 DG
PROG.2 Z/W PROG.1 MINUS ZEGAR PLUS
PB3
PB4
R16
PB5
PB6
R17
VCC
82k
"PROGR.1" PB7
D1
82k
PB0
RL1
RL96R
R10
U2A
CQYP74
"PROGR.2" PA7 1 16
1k
D2
PB1 U3
VDD
9 7805U
R12
VCC
PL1
ULN2003A
CQYP74 3 1
VCC VO VI
"GOTOWY" "WACZONY"
+28V
180R/2W
D3
R11 R9
PB2
10k
1k
C6
CQYP74 C4
D4 10u C3
47n
47n
CQYP74
PL2
MASA
C5 10u
VSS
PL3
P-1.1
PL4
P-1.2
DG1
DG2
DG3
DG4
4
12
4
12
4
12
4
12
+
+
+
+
C
2


Wyszukiwarka