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

Atmega 8, sterowanie pwm diody LED.

emix995 03 Gru 2012 19:16 1884 2
  • #1 03 Gru 2012 19:16
    emix995
    Poziom 9  

    Witam robie aktualnie oświetlenie do szopki i napotkałem mały problem:

    Code:
    $regfile = "m8def.dat"
    
    $crystal = 8000000

    Config Pind.5 = Output
    Config Pinb.1 = Output
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1


    Dim I As Byte

    Do
       For I = 1 To 255
          Pwm1a = I
          Waitms 5
          Next I
       For I = 255 To 1 Step -1
          Pwm1a = I
          Waitms 5
       Next I
    Loop

    używam tego kodu ale chciał bym "ruszyć" 2 pozostałe timery miało by to wyglądać tak, że np timer1 działa timer 2 i 3 nie działaja i potem 2 działa a 1 i 3 nie działaja itd. różne kombinacje porszę o pomoc.

    Jestem laikiem w basco.
    Za pomoc z góry dziękuję

    0 2
  • #2 03 Gru 2012 20:12
    elektryk101
    Warunkowo odblokowany

    W ATmega8 masz 3 timery:TIMER0(8bit bez funkcji PWM),timer1(16bit z 2 kanałami PWM),i timer2 (8 bit z jednym kanałem PWM) i do tego musisz się zastosować. Wyjścia PWM to PORTB.1, PORTB.2 i PORTB.3 Możesz jeszcze zrobić programowy PWM np. na timer0 i będziesz miał PWM na wyjściu na jakim tylko chcesz.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    $regfile = "m8def.dat"

    Config Portb.1 = Output
    Config Portb.2 = Output 'konfiguracja portów jako wyjścia
    Config Portb.3 = Output

    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1 'konfiguracja timer1 jako pwm z 2 kanałami
    Start Timer1

    Config Timer2 = Pwm , Compare Pwm = Clear Up , Prescale = 1 'konfiguracja timer2 jako pwm(jeden kanał)
    Start Timer2
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0
  • #3 03 Gru 2012 21:55
    emix995
    Poziom 9  

    Tylko jak teraz dopisać tą konfiguracje led?
    Tak jak chcaiłem z rgb zrobić

    0