V nadaljevanju opisa zmogljivosti naših najmanjših razvojnih sistemov MikroPin in MikroPin+ se bomo tokrat malo pozabavali s časovniki. Pojasnili bomo, kako ustvariti interval, ki traja točno določen čas in kako signal s točno določeno frekvenco. Postopki so ilustrirani z enostavnimi programi, ki za vizualizacijo uporabljajo razpoložljive vire samih razvojnih sistemov. Mimogrede bomo spoznali še nekatere elegantne možnosti programiranja, ki nam jih ponuja Bascom-AVR.

Config Clockdiv = 1
Trajanje Wait in drugih sorodnih ukazov, pa tudi „skritih“ rutin, ki morajo trajati točno določen čas, mora biti usklajeno z novo hitrostjo delovanja, zato moramo obvezno popraviti tudi $crystal ukaz. Ta bo sedaj takšen:
$crystal = 8000000

Da bi mikrokontroler sploh prepoznal in uporabljal kvarcni oscilator, moramo nastaviti tako imenovane fuse bite, varovalke. Tega ne moremo narediti iz programa, ampak moramo uporabiti programator. Slika 14 lepo ilustrira postopek v primeru, če uporabljamo MikroB skupaj s programom mkAVR Calculator (direktno ali iz Bascoma). Ko poženete program mkAVR Calculator, odprite zavihek Fuse-simple in nastavite opcije tako, kot so nastavljene na sliki 14 levo. Potem odprite zavihek Program device, nastavite opcije tako, kot je prikazano na sliki 14 desno in kliknite na gumb Execute. Vse najpomembnejše je na obeh slikah označeno s puščicami.
To je potrebno narediti le enkrat: po uspešno zaključenem postopku bo mikrokontroler preklopil na zunanji oscilator, ki je kontroliran s kvarčnim kristalom, dokler postopka ne bomo ponovili s kakšnim drugačnim naborom opcij.
Če se nameravate malo poigravati s postavljanjem fuse bitov, vas opozarjam, da bodite previdni: nekatere spremembe lahko onemogočijo komunikacijo med programatorjem in mikrokontrolerjem in mikrokontrolerja naenkrat ne boste mogli več programirati!
Časovnik Timer1 Določanje časovnih intervalov
Prva uporaba časovnika, ki jo bomo analizirali, je prikazana na sliki 15. Vhod časovnika je povezan na enega izmed izhodov iz delilnika frekvence (trenutno priključenega) glavnega oscilatorja (prescaler, pred-delilnik) in šteje impulze na tem izhodu. Časovnik Timer1 ima 16-bitni števčni register, zato lahko šteje v razponu od 0 do 65.535. Ko doseže najvišjo mogočo vrednost, se bo števec postavil na »0« in štetje se bo spet nadaljevalo od začetka. Takšen način delovanja časovnika se imenuje normalni.
Postavitev elementov in prevezave
MikroPin, razvojni sistem za 13 € (3)

