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

[AVR][ASM]Jak działa PWM w ASM

bubels 07 Lut 2010 12:00 2490 4
REKLAMA
  • #1 7656469
    bubels
    Poziom 17  
    Witam,

    Przepisuje program pewnego układu z języka ASM na bascom bo z tym radze sobie dobrze.
    I o ile cały program wydaje się zrozumiały to mam problem z kawałkiem dotyczącym generowania przebiegu PWM.

    Oto kawałek kodu:
    
    //uruchom przetwornice
    	sbi(DDRD, 5);
    	TCCR0A = 0x33 ;	
    	TCCR0B = 0x01 ;
    	OCR0B = 0xA0 ;
    


    Sygnał PWM napędza w tym przypadku prostą przetwornicę. Chciałbym wiedzieć jaka jest częstotliwość i wypełnienie przebiegu bo bez tego z miejsca nie ruszę.

    Moja wiedza na temat przetwornic też jest kiepska więc pozostała mi prośba o pomoc kolegów piszących w ASM.

    Czy taka instrukcja powoduje ciągłe generowanie przebiegu PWM bez względu na inne instrukcje wykonywane przez procesor?

    Dodam że częstotliwość oscylatora to 3,6864Mhz
  • REKLAMA
  • Pomocny post
    #2 7656694
    grysek
    Poziom 19  
    Nie wiem jaki to procesor ale Timer pracuje prawdopodbnie w trybie Fast PWM a wypełnenie to ok. 63%.

    Po ustawieniu odpowiednich bitów w rejestrach kontrolnych i wpisaniu wartości do rejstru porównania OCR timer generuje PWM już samemu a program może w tym czasie robić co innego.

    PS. Ten kod nie wygląda mi na asm tylko raczej na program w języku C :P
  • REKLAMA
  • #3 7656725
    bubels
    Poziom 17  
    uC to Attiny2131.
    No właśnie sam nie jestem pewien czy to ASM czy C.
    Co do wypełnienia to tak sądziłem że to 63.
    A jakaś sugestia co do częstotliwości pracy?
  • REKLAMA
  • Pomocny post
    #4 7656844
    dj_west
    Poziom 17  
    Najprawdopodobniej jest to koło 14,4 kHz (FCPU/256), bo Timer/Counter0 pracuje bez preskalera, a jest to licznik 8-bitowy.

    Pozdrawiam!

    P.S. Swoją drogą, jesteś pewien, że to ATtiny2131, a nie ATtiny2313? Nie znalazłem takiego na stronie ATMELa.
  • #5 7660516
    bubels
    Poziom 17  
    attiny2313V

    Mała literówka.

    Dzięki za pomoc
REKLAMA