mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik atmega8 led dimmen an ocr2


Autor: kay (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Dr.PillePalle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>TCCR2 =0b01110001;


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

Autor: Nop M. (gtf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Timer2 ist richtig gesetzt.
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?

Autor: kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Nop M. (gtf)
Datum:

Bewertung
0 lesenswert
nicht 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.
Ldi  wl, 80
  out OCR2, wl

Main:

Rjmp  main
Und jetzt schau mal ob’s geht.

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

Autor: kay (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Nop M. (gtf)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.