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):

  1. štart,
  2. prekódovať dekadickú hodnotu čísla na segmenty,
  3. ak číslo je 5-te, nastaviť desatinnú bodku,
  4. vyslať segmenty na PortB,
  5. vyslať poradové číslo číslice na PortA (číslice zľava doprava majú poradie 6543210),
  6. test bitu pretečenia TMR0, ak áno, zvýš TimerH,
  7. ponechať číslicu svietiť,
  8. zvýšiť poradové číslo číslice,
  9. ak je menej ako 7 skok na 2,
  10. inak nastaviť poradové číslo na 0, znížiť počítadlo vnútorných cyklov a skok na 2,
  11. zastaviť meranie,
  12. zistiť obsah preddeliča,
  13. prekódovať 3-bajtovú hodnotu na 7 dekadických čísel,
  14. skok na 1