Popis funkcie
Merací interval 100 000 us.
Procesorový cyklus je T = 4/fx us [MHz], fx je frekvencia Xtálu
Počet procesorových cyklov za periódu merania::
N = 100 000/T procesorových cyklov
N = fx x 100 000/4 = 25 000 x fx
Celkový časovací vzorec:
N = 25 000 x fx = 60*[7*(37 + 3*T1) + 6 + 3*T2] + 6 + 9*T3 + Z
kde:
T1,T2,T3 sú počiatočné hodnoty časovacích slučiek,
Z je počet dodatočných vyrovnávacích NOPov.
Pre rôzne frekvencie Xtálu sa hodnoty líšia. Pozrite si stránku
o výpočtoch alebo, ešte lepšie, skúste si vypočítať T1, T2,... pomocou
programu pre rôzne hodnoty frekvencií.
Celkový algoritmus merania (zjednodušene):
- štart,
- prekódovať dekadickú hodnotu čísla na segmenty,
- ak číslo je 5-te, nastaviť desatinnú bodku,
- vyslať segmenty na PortB,
- vyslať poradové číslo číslice na PortA (číslice zľava doprava majú poradie 6543210),
- test bitu pretečenia TMR0, ak áno, zvýš TimerH,
- ponechať číslicu svietiť,
- zvýšiť poradové číslo číslice,
- ak je menej ako 7 skok na 2,
- inak nastaviť poradové číslo na 0, znížiť počítadlo vnútorných cyklov a skok na 2,
- zastaviť meranie,
- zistiť obsah preddeliča,
- prekódovať 3-bajtovú hodnotu na 7 dekadických čísel,
- skok na 1
|