Pred vami je šahovska ura z mikrokontrolerjem 89C2051 in LCD-prikazovalnikom. Nastala je na pobudo nekaterih prijateljev šahistov, ki so opazili samogradnjo ure z dvema alarmoma. Prednosti takšne LCD-ure so: odmera časa v sekundah je zelo točna, po končani igri je možen pregled števila potez, ura teče tiho, brez motečega tiktakanja, najdaljši čas nastavitve je lahko celo 99 ur, ura se napaja akumulatorsko itd.
Delovanje vezja
Vezje ure sestoji iz napajalnika – NiCd-akumulatorja, mikrokontrolerja 89C2051, LCD-prikazovalnika velikosti 1 x 16 znakov, tipk in stikal. Ura ima lasten vir energije iz NiCd-akumulatorja napetosti 6 V in 0,6 Ah, kar pri porabi 10 mA zadostuje za približno 60 ur delovanja brez polnjenja. Akumulator se polni z zunanjim adapterjem napetosti 9 do 12 V z enosmernim ali izmeničnim tokom 100 mA, ki se priključi preko vtikača na vezje.

To napetost peljemo skozi diodo D2 in upor R3 na akumulator, ki se polni. R3 omejuje tok polnjenja na približno 60 mA oziroma na desetino vrednosti kapacitete akumulatorja, ki se polni od 12 do 14 ur. LED-dioda D1 signalizira polnjenje akumulatorja. Upor R2 omejuje tok skozi LED-diodo na 13 mA. Dioda D2 preprečuje, da bi LED-dioda še gorela, ko prenehamo polniti akumulator, ker bi ga s tem praznila. Stikalo J3 vklopi šahovsko uro, ki lahko deluje tudi med polnjenjem oziroma deluje tudi brez akumulatorja, če je priklopljena na zunanji vir napetosti. Iz stikala vodimo napetost na napetostni regulator IC1. Da dobimo na izhodu napetost 3,25 V, vežemo med maso vezja in maso stabilizatorja silicijevo diodo, na kateri dobimo padec napetosti 0,65 V. Kondenzatorji C2, C3, C4 omogočajo stabilizatorju mirnejše delovanje in zmanjšanje šuma, kar procesorju dobro dene. Zener dioda ZD2 je še zadnji filter in poreže morebitne zadnje »špice« v napajanju.

LCD-prikazovalnik uporablja za lastno upravljanje Hitachijev krmilnik HD44780, ki skrbi za pravilno delovanje modula. Za prenos podatkov med mikrokontrolerjem 89C2051 in LCD-modulom uporabljamo 8-bitni način prenosa med vrati P1 in podatkovnim vodilom D0 – D7 na LCD-modulu. Podatki se prenašajo v podatkovni in instrukcijski register LCD-modula. Za upravljanje le-tega potrebujemo še tri signale, in sicer signal Enable – E, Register Select – RS in Read/Write – RW, ki jih generira mikrokontroler 89C2051. Kratek E-signal poskrbi za vpis podatka v LCD-modul pri prehodu iz visokega v nizko stanje. RS-signal določi, v kateri register se podatek vpiše. Če je RS = 1, se vpiše podatek v podatkovni register oziroma v instrukcijskega, če je RS = 0. RW-signal določa, ali podatek v LCD-modul vpisujemo ali beremo. Če je RW = 1, podatek v LCD-modul vpisujemo, če pa je RW = 0, podatek iz LCD-modula beremo. Za izvajanje notranjih operacij v LCD-modulu potrebujemo določen čas, ki ga signalizira zastavica zasedenosti – BF (Busy Flag). Medtem ko LCD-modul ne more sprejemati novih podatkov, je BF = 1. Ta zastavica se bere na podatkovnem vodilu linija D7. S trimer potenciometrom R9 nastavimo kontrast na LCD-modulu oziroma ga vrtimo toliko časa, da se prikažejo znaki.
Sestavljanje vezja
Vezje je narejeno na enostranskem tiskanem vezju. Na TIV najprej prispajkamo C7, nato podnožje DIP20 za mikrokontroler, pod katerim je že C7. Sledijo ležeči elementi (ne pozabimo na kratkospojnik) in stoječi elementi. Akumulator, stikalo, tipke, vtikač, LED-dioda in LCD-prikazovalnik se priklopijo na vezje z žicami ali ploščatim (flat) kablom. Na vezje, kjer naj bi bile žice, lahko prispajkamo vrstne sponke ali konektorje, žice pa je možno prispajkati neposredno na TIV. Seveda je bolje, če uporabimo konektorje. Preden vstavimo mikrokontroler v podnožje in LCD-prikazovalnik na konektor, je dobro narediti naslednje: na TIV priključimo vir napetosti in preverimo napetosti na posameznih sponkah (glej rubriko – »Delovanje vezja«). LED-dioda mora svetiti. Če je vse v redu, izključimo napetost, vstavimo mikrokontroler s programom v podnožje DIP20 in LCD-prikazovalnik na konektor. Nato ponovno priključimo napetost na vezje, LED-dioda sveti, vključimo stikalo J3 in na prikazovalniku se mora izpisati tekst »CHESS TIMER«. Nato čez nekaj minut izklopimo zunanji napajalnik, ura pa mora še vedno delovati, saj se napaja iz akumulatorja. LED-dioda mora ugasniti. Če smo dobili tak rezultat, potem ura deluje pravilno. Sedaj si lahko ogledamo še upravljanje ure.
Upravljanje ure
Tipka J5 je namenjena prehajanju med posameznimi meniji. Tipki J6 in J7 pa sta namenjeni nastavitvi ure in predajanju igre nasprotnemu igralcu. Poglejmo postopek nastavitve časov:
- Uro vključimo s stikalom J3 – izpiše se tekst »CHESS TIMER«.
- Pritisnemo tipko za izbiro menuje J5 – izpiše se tekst »000000 ST 000000«. Levo in desno se izpiše 6 ničel (ure – minute – sekunde).
- Pritisnemo tipko J6 ali J7, s katero nastavimo minute oziroma ure na želeno vrednost. Če smo nastavili čas na 5 minut, se izpiše tekst »000500 ST 000500«.
- S ponovnim pritiskom na tipko J5 potrdimo nastavljene vrednosti – izpiše se »000500 RD 000500«, kar pomeni, da je ura pripravljena za zač· etek igre.
- S pritiskom na tipko J6 ali J7 začnemo/predamo igro nasprotnemu igralcu in obratno. Pri tem se izpiše besedilo » 0500 gm_ 0459« kjer črtica signalizira, kateremu od igralcev teče čas. Pri časih, ki so manjši od ene ure, je mesto na prikazovalniku, kjer se izpisujejo ure prazno.
- Če hočemo igro ustaviti za nekaj časa, pritisnemo tipko J5, na prikazovalniku se izpiše na primer besedilo » 0325 PS_ 0258«, če pa želimo igro nadaljevati, pritisnemo J6 ali J7.
- S pritiskom na tipko J5 igro končamo in čas se ustavi. S ponovnim pritiskom na tipko J5 se izpiše število potez posameznega igralca.
- Če se čas enemu od igralcev izteče, se ura ustavi. S pritiskom na tipko J5 se na prikazovalniku izpiše na primer besedilo »MOV=027 MOV=028«, ki pove število potez posameznega igralca.
- S ponovnim pritiskom tipke J5 se vrnemo v nastavitveni menu s prejšnimi nastavitvami.
- Če hočemo na hitro preiti na nove nastavitve, uro ugasnemo in znova prižgemo, s čimer smo uro resetirali, nato pa nastavimo nove vrednosti.

Tipki J6 in J7 morata biti obvezno dovolj robustni in z vzmetjo, saj lahko kakšen malce živčen šahist pošteno udari po uri. V seznamu materiala za uro ni konektorjev ali vrstnih sponk. Izbiro, na kakšen način bo kdo povezoval TIV z zunanjimi elementi, prepuščam vsakemu posamezniku. Uro se lahko uporabi tudi v druge namene.
Prosta vrata P3.1 na mikrokontrolerju lahko ustvarjajo tudi razne zvoke, krmilijo releje itd. Potrebna je le manjša predelava programa, ki se zapeče v mikrokontroler 89C2051.
Virtualna trgovina, nakup brošure in informacije!
Šahovska ura
Avtor: Maček Pavel
Ljubljana, julij 2003

