Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Bascom] Sprzętowe generowanie częstotliwości. Jaka metoda?

17 Lut 2019 20:05 264 3
  • Poziom 20  
    W jednym z moich prostych układów wykorzystuję wew. zegar RC i dla spokoju ducha chciałbym tak na starcie skalibrować zegar na znamionowe 8Mhz.
    Wiem, że stabilność RC jest żadna ale warto przynajmniej zacząć z właściwym zegarem

    Dodatkowym programem chciałbym wygenerować częstotliwość aby miernikiem zmierzyć rzeczywistą wartość, którą doprowadzę do znamionowej za pomocą OSCCAL i tą poprawkę dodam później do właściwego programu.

    Która z metod otrzymania F=15,625kHz jest lepsza:
    Code:
    Config Timer1 = Pwm , Prescale = 1 , Pwm = 8 , Compare B Pwm = Clear Down, Compare A Pwm=Clear up
    
    PWM1a=120

    czy
    Code:
    Config Timer0=Timer, Prescale=1
    
    On Timer0 Migaj
    Start Timer0
    Enable Timer0
    Enable Interrupts

    Do
    Loop
    End

    Migaj:
    Toggle LED
    Return


    Mierzona częstotliwość wyjścia PWM jest ok 80Hz większa -Metoda PWM lepsza?
  • Poziom 20  
    Wybrałem metodę PWM bo skoro na mierniku otrzymuję wyższe wartości to oznacza, że Bascom przy pwm nic nie opóźnia.
  • Poziom 31  
    parafka napisał:
    Metoda PWM lepsza

    Sprzętowo zawsze lepiej niż programowo.
  • Poziom 39  
    parafka napisał:
    Która z metod otrzymania F=15,625kHz jest lepsza:

    Tak naprawdę to żadna z powyższych. Jak już chcesz sprzętowo generować przebieg to wykorzystaj licznik w trybie CTC a nie PWM.

    Code:
    Config Timer1 = Timer , Prescale = 1 | 8 | 64 | 256 | 1024 , Compare A = Toggle , Compare B No_Ouput = Disconnect , Clear Timer = 1


    Oraz dobierz odpowiednią wartość w zmiennej Compare1A w zależności od ustawień preskalera, by uzyskać docelową częstotliwość.