Forum: Mikrocontroller und Digitale Elektronik atmega8 led dimmen an ocr2


von kay (Gast)


Angehängte Dateien:

Lesenswert?

hallo,
wollte mit dem mega8 eine rgb led dimmen,
die beiden pwm-kanäle an oc1a und oc1b funktionieren,
aber der ocr2 bleibt ständig auf high
kann mir da jemand weiterhelfen,

mfg

von Dr.PillePalle (Gast)


Lesenswert?

moin

nicht vergessen die Ausgangspins auch auf Ausgang zu schalten !
ansonsten die Namen der Bits in den Reg. müsstest du selber raussuchen 
:-(

DDRB  =0b00001110;          //PB1, PB2, PB3 als Ausgang (PWM OCRxx)
  PORTB =0b11001110;          //PullUp-Widerstand an PB1, PB2, PB3, PB6, 
PB7 ein
    PORTC =0b00000000;
  DDRC  =0b00000000;

  DDRD  =0b00000000;
  PORTD =0b11111111;


    TCCR0 =0b00000001;      //Einstellung der Timer für 3 Kanal - 
8Bit-PWM
  TCCR1A=0b11110001;
    TCCR1B=0b00000001;
    TCCR2 =0b01110001;

mfg

von kay (Gast)


Lesenswert?

>>TCCR2 =0b01110001;


das dimmen an ocr2 funktioniert überhauptnicht der pin bleibt ständig 
auf high

von Alex M. (Gast)


Lesenswert?

Timer2 ist richtig gesetzt.
Nur wozu gibst du allen Timer interrupts frei?
1
 ldi wl,1<<OCIE1A|1<<OCIE1B|1<<TOIE1|1<<TOIE2            ;TICIE1,OCIE1A,TOIE1,OCIE1C
2
                   out TIMSK,wl;
hat's einen bestimmten Zweck?

von kay (Gast)


Lesenswert?

>Timer2 ist richtig gesetzt.
aber warum haut das dimmen nur nicht hin,vielleicht gibt es ein
beispiel fürs dimmen über ocr2


>Nur wozu gibst du allen Timer interrupts frei? ldi 
>wl,1<<OCIE1A|1<<OCIE1B|1<<TOIE1|1<<TOIE2            ;TICIE1,OCIE1A,TOIE1,>OCIE1C
>                   out TIMSK,wl;

>hat's einen bestimmten Zweck?
ja für später,

mfg
kay

von Alex M. (Gast)


Lesenswert?

kay schrieb:
> ja für später,
Und wo sind die ISR Handler?


Dein OCR2- Ausgang sollte wohl in der Main schleife so etwas wie 
dunkel->
Hell-> dunkel bezwecken.
Die Main läuft aber mit einigen 100Khz,
da wirst du nicht so schnell was zu sehen bekommen.

Setze den Ausgang OC2 aus 50/50.
1
Ldi  wl, 80
2
  out OCR2, wl
3
4
Main:
5
6
Rjmp  main
Und jetzt schau mal ob’s geht.

Deine Main ist falsch, die Logik ist nicht ok.
schau mal drüber

von kay (Gast)


Angehängte Dateien:

Lesenswert?

>Dein OCR2- Ausgang sollte wohl in der Main schleife so etwas wie
>dunkel->
>Hell-> dunkel bezwecken.
>Die Main läuft aber mit einigen 100Khz,
>da wirst du nicht so schnell was zu sehen bekommen.

der OCR2 ausgang solte eigendlicht von dunkel nach hell,
aber les ist leider anders rum

von Alex M. (Gast)


Lesenswert?

Comapreoutp mode ändern, und schon ändernt sich die Richtung

 ldi wl,1<<WGM20|1<<COM21|0<<COM20|1<<CS22|1<<CS21|1<<CS20
 out TCCR2,wl

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.