www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LED dimmen durch mehrmaliges Tastendrücken


Autor: Moschder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich beschäftige mich gerade mit dem AVR-Tutorial,
dort bin ich bei PWM angelangt.
Ich dimme mit einem ATMEGA8 mit PWM eine LED, das funktioniert soweit.
Nun möchte ich einen Taster abfragen und je nachdem wie oft dieser 
hintereinader gedrückt wird möchte ich die Helligkeit einer
LED steuern. Die verschiedenen Werte um die LED zu steuern kenne ich
ich weiß jedoch nicht, wie ich den Taster abfragen soll.


Gruß
Moschder

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck mal in die Codesammlung. Dort habe ich ein kommentiertes 
ASM-Programm
zur PWM-Ansteuerung mittels Tastern oder Potentiometer abgelegt.

MfG Paul

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

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Paul, erstmal vielen Dank für deinen Code,
habe diesen teils eingebaut (siehe Anhang)

ich möchte mittels der Taste an PD0 eine LED
dunkler
und mittels PD1 die LED heller machen.

Die LED hängt an PB1. Diese kann ich dimmen, wenn
ich nur den PWM teil laufen lasse und die
Werte von OCR1AL zuvor zuvor manuell in den
Code einfüge.

Betätige ich die Tsten tut sich nichts. Die LED
leuchtet entsprechend dem Wert 0x6d, dieser
wird beim vorladen eingegeben.

Wo liegt in diesem Programm mein Denkfehler?
Ich benutze einen Atmega8, mein Aufbau ist wie
im Tutorial beschrieben.

Gruß
Moschder

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das muß etwas mit OCR1AH und OCR1AL zu tun haben. Ich weiß jetzt nicht 
aus dem Kopf, in welcher Reihenfolge diese Register geladen werden 
müssen. Ich glaube, man muß erst das H-Byte schreiben und dann das 
L-Byte und beim Lesen aus den Registern ist es anders rum.

MfG Paul

Autor: Moschder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt, zuerst das High dann das Low Byte, das habe ich auch so beachtet

Autor: Moschder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
besten dank :-) es läuft nun habe das 16bit output kompare register 
jeweils nur halb beschrieben.
Schreibe nun auch noch das unveränderte low-byte nochmal und es läuft.
danke für deien tipp

Gruß
Moschder

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Glückwunsch! Schicke mal bitte den geänderten Quelltext, der gefiel mir 
auch gut, weil auch Du ihn gut kommentiert hast.

MfG Paul

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.