background image

E

LEKTRONIKA DLA WSZYSTKICH 11/99

38

Mam  16  lat.  Chodzę  do    “Zespołu

Szkół Łączności im. prof. Stanisława Fry−
zego “ w Gliwicach. Elektroniką interesu−
ję się  od 7 lat (tzn. zacząłem w wieku 8−
9 lat) − dokładnie nie pamiętam. Dziedzinę
tę zrozumiałem dopiero od ok. 7/97 wyda−
nia EdW. Początki były raczej marne (tran−
zystorowe  “mrugałki”,  piszczyki,  itp.),
przez  długi  czas  zajmowałem  się  odtwa−
rzaniem projektów z różnych czasopism. 

Moim  pierwszym  układem  wykona−

nym na pytce był sygnalizator do lodówki
(Szkoła, EdW 2/98). Ale pierwszy sukces
zwiększył  moje  zaangażowanie  i przez
pewien  czas  pisałem  do  Was.  Niestety
później  nadeszły  egzaminy,  nowa  szkoła
...  i to  wystarczyło.  Większość  zadań  ze
Szkoły  rozwiązałem,  lecz  brakowało  mi
czasu na model i napisanie listu (tylko go
nie przedłużajcie!). Obecnie mam zamiar
powrócić do dawnej aktywności, lecz czy
mi się to uda? Pożyjemy,  zobaczymy. Ak−
tualnie moje największe zainteresowanie
wzbudza  technika  mikroprocesorowa
i jedno ze swoich dzieł Wam wysyłam.

Teraz  główny  cel,  jaki  skłonił  mnie  do

napisania tego listu:

Po  przeczytaniu  wyników  ankiety

(i w trakcie  też)  złapałem  się  za  głowę.
Szczególnie  zdziwiło  mnie  to,  że  “bez−
komputerowcy”  protestują  przeciwko
mikroprocesorom! 

Ja 

oświadczam

wszem  i wobec:  jestem  “bezkompute−
rowcem”,  ale  nie  ze  względów  wyzna−
niowych,  lecz  trochę  bardziej  material−
nych.  Nie  jestem  jednak  antykompute−
rowcem a nawet, o ile mój głos ma jakie−
kolwiek znaczenie, jestem za komputery−
zacją,  jestem  za  mikroprocesorami  i za
wszelką wiedzą z tym związaną. Udowo−
dniłem, że i bez PC można stworzyć cie−
kawy  program  /sterownik 

µ

C.  W tej

chwili mam za sobą drugi program o dłu−
gości (dokładnie, dziesiętne) 701B. I dzia−

ła  znakomicie.  Stworzenie  takiego  pro−
gramu zajmuje mi ok. 3 dni, razem z cza−
sem  na  kontemplację  sensu  własnego
istnienia (czyt. lenienie się). Teraz prośba
do  “bezkomputerowców”’:  Jeśli  czegoś
nie  spróbowaliście,  to  nie  skreślajcie  te−
go od razu, nie protestujcie przed nowym
rodzajem wiedzy. Wierzcie mi, ja nie zro−
zumiałem,  tego  co  było  w “Kursie    ...”,
lecz po zdobyciu AVT 2250 i przeczytaniu
dodatkowej książki (zapewniam − króciut−
kiej)  zacząłem  pisać  własne  programy.
Pierwsze  były  niezbyt  ciekawe,  nie  dzia−
łały,  lecz  nie  zniechęcałem  się.  Po  pew−
nym  czasie  sam,  bez  jakiejkolwiek  wie−
dzy  o 89C2051,  zabrałem  się  za  modyfi−
kację programu programatora (EdW 9/98)

tak,  aby  móc  progra−
mować  bity  zabezpie−
czające.  Eksperymen−
towałem  2  dni,  pra−
wie  non  stop.  Udało
się. Musiało się udać.
Człowiek jest i będzie
mądrzejszy  od  jakie−
goś  scalaka.  Spróbuj−
cie  sami,  albo  nie
przeszkadzajcie 

in−

nym.

Nie  chciałem,  aby

list  ten  wyglądał  na
przechwałki.  Chcia−
łam pokazać, że za po−
mocą  kartki  i ołówka
także  wiele  można  ...
Trzeba tylko chcieć.

P r e z e n t o w a n y

układ  jest  świetną  re−

klamą  dla  waszego  zestawu  AVT  2250,
ponieważ cały program (zajmujący trochę
powyżej 1kB) napisałem właśnie na tym
komputerku (ręcznie!), a w mikrokontro−
lerze  umieściłem  go  za  pomocą  progra−
matora opisanego w EdW 9/98.

Pomysł

Osobiście gram w gry, w których po−

trzeba  wiele  różnych  kości:  od  dwu−  do
stuściennych  (jedna  kostka  dziesięcio−
ścienna  na  dziesiątki,  druga  na  jedno−
ści).  Największa  kostka,  z jaką  się  spo−
tkałem to stuścienna, lecz czasami trze−
ba nią rzucić kilka razy i zsumować wy−
niki, czasem ktoś chce wylosować jakąś
nietypową  liczbę,  jak    dzień  tygodnia,
miesiąca czy roku, czasem ... itd., itp.

Po  namyśle  doszedłem  do  wniosku,

że  uniwersalna  kostka  powinna  mieć
trzy  wyświetlacze,  możliwość  ustalenia
górnej i dolnej granicy wylosowanej licz−
by.  Chciałem,  aby  miała  ona  obwody
oszczędzania  energii.  Długo  szukałam
odpowiedniego  rozwiązania  (kilka  lat!),
lecz  moja  wytrwałość  się  opłaciła.  Roz−
wiązanie  znalazłem  w jednym  z odcin−
ków  kursu  mikroprocesorowego  −  roz−
wiązaniem  był  AT89C2051.  Układ  ten
umożliwił  mi  zbudowanie  prawdziwego
“kombajnu”  losującego,  który  mieści
się w kieszeni i zużywa bardzo niewiele
paliwa.  Urządzenie  może  przydać  się
wszędzie  tam,  gdzie  zachodzi  koniecz−
ność  bądź  potrzeba  wygenerowania  ja−
kiejś liczby losowej. 

F

ORUM

C

ZYTELNIKÓW

Forum Czytelników ma służyć celom edukacyjnym, wymianie doświadczeń i pomysłów.
Zasady są następujące:
– publikujemy wyłącznie projekty opracowane samodzielnie i nigdzie dotychczas nie publikowane

(należy dołączyć stosowne oświadczenie z własnoręcznym podpisem);

– oprócz tekstu i rysunków, prosimy przysłać działający model lub jego fotografie (model odeśle−

my);

– publikacja projektu nie oznacza jego pozytywnej oceny przez redakcję EdW, lecz stanowi punkt

wyjścia do publicznej dyskusji nad proponowanym rozwiązaniem. Etap dyskusji nazywany
„Dogrywką”, trwa dwa miesiące. W tym czasie oczekujemy nie tylko listów z uwagami krytycz−
nymi, ale przede wszystkim propozycji innych, lepszych rozwiązań (tym razem wystarczy sche−
mat z opisem działania układu);

Prosimy też o załączenie do projektu fotografii paszportowej i kilku zdań życiorysu.
Prosimy nie przysyłać opisów urządzeń, które powstały tylko na papierze, a nie zostały zrealizowa−
ne w praktyce. Znamy się trochę na elektronice i wiemy, że większość takich układów nie będzie
działać. Stąd nasza prośba o model lub przynajmniej fotografię modelu. 

Mikroprocesorowa kostka do gry

background image

F

Fo

or

ru

um

m C

Cz

zy

yt

te

elln

niik

ów

w

39

E

LEKTRONIKA DLA WSZYSTKICH 11/99

W takiej  sytuacji  jego  zastosowanie

ograniczone  jest  wyłącznie  wyobraźnią
użytkownika i ... zdrowym rozsądkiem.

Opis układu

Schemat ideowy można zobaczyć na

rry

ys

s..  1

1..  Tak  prosty  układ,  o takich  możli−

wościach,  można  skonstruować  chyba
tylko  za  pomocą  mikrokontrolera  lub
układu  wyspecjalizowanego.  Ja  wybra−
łem to pierwsze rozwiązanie.

Schematu nie ma chyba co za bardzo

opisywać.  Wytłumaczę  tylko  kilka  rze−
czy, które mogą wydać się dziwne:

Co bardziej dociekliwi Czytelnicy zau−

ważyli  zapewne,  że  środkowy  wyświe−
tlacz    został  połączony  inaczej  niż  pozo−
stałe.  Jest  to  spowodowane  chęcią
uproszczenia  płytki  drukowanej,  a tylko
nieznacznie  skomplikowało  program
sterujący.

Błędem  prawdopodobnie  wyda  się

podłączenie  przycisku  włączającego
(ON)  do  wejścia  RST  mikrokontrolera.
Otóż  układ  został  wyposażony  w auto−
matyczny  wyłącznik  zasilania.  Wyświe−
tlacze  są  wtedy  wygaszone,  mikropro−
cesor  wprowadza  się  w stan  obniżone−
go  poboru  mocy,  ale  dalej  jest  zasilany,
dzięki czemu dane o nastawach są zapa−
miętane. Jak zapewne pamiętają bywal−
cy  kursu  mikroprocesorowego  −  z tego
stanu układ może zostać wyprowadzony
tylko przez reset. Minusem takiego roz−
wiązania  jest  konieczność  odczekania
po  puszczeniu  przycisku  aż  do  nałado−
wania się C1.

Zdziwienie  może  wzbudzić  (ale  pew−

nie nie wzbudza) możliwość zasilania ze
stabilizatorem  lub  bez.  Wytłumaczyć  to
może  część  historii  powstawania  tego
układu: pierwotnie zastosowałem do za−
silania baterie 9V i stabilizator 7805. We−
dług moich obliczeń układ powinien móc
działać w stanie obniżonego poboru mo−
cy przez ok. pół roku. Bateria zużyła się
po  pięciu  dniach!  Przyczynę  znalazłem
szybko:  stabilizator.  Przeprowadziłem
drobne  pomiary  i okazało  się,  że  w sta−
nie wyłączonym sam układ pobiera tylko
1,4% energii, resztę zużywa stabilizator!
Następnie zacząłem zastanawiać się, jak
zasilić  ten  układ  zapewniając  katalogo−
we  4V+−10%.  Myślałem  o trzech  palu−
szkach,  ale  to  wiązałoby  się  ze  zwięk−
szeniem 

obudowy. 

Postanowiłem

sprawdzić,  przy  jakim  napięciu  układ  je−
szcze  “dycha”  i zacząłem  powoli  przy−
kręcać  napięcie.  Jakież  było  moje  zdzi−
wienie  (i radość),  gdy  okazało  się,  że
układ  poprawnie  działa  z napięciem
2,7V (minimum mojego zasilacza), z niż−
szym  napięciem  nie  próbowałem  z po−
wodów  technicznych.  Po  drobnych  na−
mysłach  układ  zasiliłem  “telefonicz−
nym” akumulatorkiem NiCd 3,6V i takie
zasilanie  gorąco  polecam.  Miejsce  na
stabilizator  pozostawiłem  dla  tych,
którzy chcą zasilać układ z transformato−
ra lub zasilacza.

Opis progra−
mu i obsługa 

Układ  po  włącze−

niu  sprawdza  reje−
stry  przechowujące
wartości, od ilu układ
ma liczyć do ilu, oraz
ostatnio  wylosowa−
nej  liczby.  Jeśli  cho−
ciaż  jeden  z reje−
strów  zawiera  liczbę
bezsensowną, to ini−
cjuje  ona  wszystkie
rejestry  wartościami
początkowymi, które
wynoszą:  od  −000,
do  −999,      los  −000.
Za  liczbę  bezsen−
sowną  uważa  się  tu
liczbę,  która  nie  od−
powiada 

kodowi

BCD.  W ten  sposób
uzyskałem  pamięta−
nie  ostatnich  nastaw  oraz  zabezpiecze−
nie przed bzdurami na wyświetlaczu po
pierwszym włączeniu wkładu.

Następnym  krokiem  jest  uruchomie−

nie  T0,  którego  przerwania  odpowie−
dzialne są za obsługę wyświetlacza. Wy−
świetlacz  działa  w sposób  multiplekso−
wany  i jest  odświeżany  z częstotliwo−
ścią  80Hz.  Po  wpisaniu  odpowiednich
wartości  do  wszystkich  rejestrów  pro−
gram przechodzi do trybu MENU na po−
zycję “los”.

Obsługa  MENU  jest  bardzo  prosta.

Między  kolejnymi  pozycjami  przemie−
szczamy się za pomocą przycisków NIE
i COFNIJ − oba powodują przemieszcza−
nie się w przeciwne strony. 

W menu znajdują się następujące po−

zycje:

− napis “LOS.” − wejście do trybu lo−

sowania,

− napis “od” − ustawianie dolnej grani−

cy losowanej liczby,

− napis “do” − ustawiane górnej grani−

cy losowanej liczby.

Po dojściu do interesującej nas pozy−

cji naciskamy przycisk TAK. 

Nastawianie  wartości  od  i do  wyko−

nuje  się  następująco:  przycisk  NIE  −
zmiana  aktualnie  migającej  cyfry  (cyfra
nam  nie  odpowiada);  TAK  −  zatwierdze−
nie  ustawionej  cyfry  i przejście  do  na−
stępnej, lub wyjście z trybu nastawiania,
jeśli  migająca  cyfra  była  cyfrą  jedności:
COFNIJ  −  cofnięcie  o jedną  cyfrę,  lub
wyjście z trybu nastawiania jeśli migają−
ca cyfra była cyfrą setek.

Po wejściu do trybu losowania na wy−

świetlaczu widnieje ostatnio wylosowa−
na  liczba.  Losowanie  rozpoczyna  się  po
naciśnięciu przycisku LOSUJ. Ponieważ
niektórzy twierdzą (i ja też) , że podświa−
domość dostrzega nawet bardzo szybko
zmieniające  się  liczby  (losowanie  odby−
wa się z częstotliwością 5,7kH) postano−
wiłem  po  prostu  je  “zasłonić”.  Na  po−
czątku program wyświetlał same ósem−
ki,  lecz  potem  wybrałem  bardziej  efek−

towną “zasłonę” w postaci kreski obie−
gającej  wyświetlacz.  Po  puszczeniu
przycisku  wynik  nie  zatrzymuje  się  od
razu,  lecz  stopniowo  zwalnia  aż  do  za−
trzymania. W celu uniknięcia złośliwego
przyciskania  przycisku  LOSUJ  jeszcze
ok. 1 sek. po zatrzymaniu się wyniku je−
go  naciskanie  nic  nie  daje.  Z opcji  loso−
wania  można  wyjść  na  pomocą  przyci−
sku  COFNIJ,  który  jest  także  zabezpie−
czony przed złośliwym naciśnięciem.

Jak  już  napisałem  poprzednio  układ

jest wyposażony w funkcję automatycz−
nego  wyłączenia  zasilania  (jest  to  także
jedyna  możliwość  wyłączenia).  Działa
ona w ten sposób, że po 1 min. od ostat−
niego naciśnięcia i puszczenia dowolne−
go  przycisku  układ  zostaje  wyłączony.
Moje  próby  wykazały,  że  jest  to  czas
w sam raz, zwłaszcza, że wszystkie na−
stawy są zapamiętywane. Uwaga: przy−
trzymany  przycisk  uniemożliwia  wyłą−
czenie zasilania.

W sumie  w mikrokontrolerze  umie−

ściłem trochę ponad 1 kB programu.

R

Ra

ad

do

os

słła

aw

w K

Ko

op

pp

pe

ell

Wykaz elementów

Rezystory

R1−3  . . . . . . . . . . . . . . . . . . . . . . . .1,6k

R4  . . . . . . . . . . . . . . . . . . . . . .100 −180

Kondensatory

C1 . . . . . . . . . . . . . . . . . . . . . . . . .3−10uF
C2, C3  . . . 20−40pF − rezonator kwarcowy

 . . . . . . . .30−50pF − rezonator ceramiczny

C4, C5 . . . . . . . . . . . . . . . . . . . .50−150uF

Półprzewodniki

Disp 1−3  . . . . . .wyświetlacze LED 8−seg., 
wsp. anoda.
T1−T3  . . . . . . . . .BC558 lub odpowiedniki

(BC558A,B,C, BC557...)

U1  . . . . . .AT89C2051 (zaprogramowany)
U2  . . . . . . . .7805 lub zwora  (patrz tekst)

Pozostałe

X1  . . . . . . . . . . . . . .oscylizator 4,43MHz
W1−W5  . . . . . . . . . . .microswith − 10mm

R

Ry

ys

s.. 1

1.. S

Sc

ch

he

em

ma

att iid

de

eo

ow

wy

y