
Kot omenjeno smo v SE 156 podrobno opisali možnost, ki nam jo nudi Bascom-AVR. V tem času, ko smo objavili ta članek nisem dobil občutka, da bi bralci dobro osvojili ta primer programa, ki nam zelo olajša pisanje programov v Bascomu. Nekako imam občutek, da nekateri Bascom programerji rajši komplicirajo in napišejo prekinitveno rutino, ki generira 1 sekundni takt. Potem pa v enem od podprogramov pišejo rutine za povečevanje sekund, minut, ur… To rutino seveda obravnavamo tudi na začetnem tečaju, vendar nikjer ni zapisano, da je to edini način pisanja programa za uro.
Precej bolj elegantna je uporaba omenjenega RTC-ja in nekaj malega Bascom kode. Primer, ki ga bom prikazal, bo deloval v MegaPin in MiniPin II. Seveda bo deloval tudi v vašem vezju, če ga boste pravilno sestavili. V vezju bomo uporabili mikrokontroler ATMega32. Jaz se pa že spogledujem z ATMega168P, ki po tehničnih podatkih obljublja izredno majhno porabo električne energije, kar bi bilo idealno za baterijsko napajano uro/budilko.
Program
Avtor Bascom-AVR je že napisal osnovni primer programa, ki se imenuje Megaclock.bas in ga najdete v mapi BascomAVR/Samples. Bistvo programa se nahaja v ukazu:
CONFIG CLOCK = soft / USER [, GOSUB = SECTIC]
V Help datoteki je ukaz podrobno razložen. Za našo uporabo se bo ukaz glasil:
Config Clock = Soft
S tem ukazom smo nastavili vse potrebne registre v AVR-ju, da bo Timer2 deloval v asinhronem načinu delovanja. V MegaPin moramo vtakniti ATMega32 mikrokontroler, ki naj ima oscilator nastavljen na 8 MHz interni RC! V MegaPin/MiniPin II je potrebno še vtakniti kvarčni kristal 32.768 kHz v podnožje J12, odklopimo kratkostičnik za LEDice na PortC (J5), naložimo preveden program in naša RTC ura bo že delovala.
Za nakup tiskanega vezja ali kit kompleta, lahko kontaktoirate uredništvo revije Svet elektronike!
2011_SE184_38


