logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zrobić miernik częstotliwości 600kHz w Bascom na ATmega8?

marcin-k 17 Wrz 2013 16:35 2301 4
REKLAMA
  • #1 12746458
    marcin-k
    Poziom 15  
    Mam mały problem chcę zrobić prosty miernik częstotliwości w bascomie do ok. 600KHz
    Warunek ma mierzyć z dokładnością 1Hz i niestety nie wychodzi mi to. Taimer 1 mam skonfigurowany jako taimer (Config Timer1 = Timer , Prescale = 8) taimer 0 skonfigurowany jako licznik (Config Timer0 = Counter , Edge = Falling ) z resztą zamieszczam fragment kodu
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Problem jest taki że pokazuje mi nie właściwą częstotliwość i z dokładnością 1KHz
    np. mierzę 500KHz pokazuje 125 m
    Nawet jak zmienie bramkowanie (taimer1 aby mieżył nie co 20ms ale co 1 sekunde to częstotliwość i tak jest fałszywa i pokazuje np.mierzę 500KHz pokazuje 980 co robię źle
  • REKLAMA
  • #2 12747254
    yokoon
    Poziom 29  
    Witam.

    Przy obliczeniach nie bierzesz chyba pod uwagę prescalera.
  • REKLAMA
  • #3 12747860
    zumek
    Poziom 39  
    yokoon napisał:
    Witam.

    Przy obliczeniach nie bierzesz chyba pod uwagę prescalera.


    Raczej pojemności Timera0.

    Kolego marcin-k. Aby policzyć ilość impulsów podaną na wejście T0, powinieneś wykonać następujące obliczenie:
    Czestotliwosc*256+timer0.


    PS
    "Czestotliwosc", to oczywiście nazwa Twojej zmiennej :)
  • REKLAMA
REKLAMA