RGB LED Ansteuerung über mehrere Kanäle

Gast #322491
Lesenswert?

Hallo alle miteinander!

Bin noch ein richtiger Atmel-Beginner und am experementieren mit RGB
LEDs.
Hab schon unzählige Übungsprogramme (einfache Blinklichter, Lauflicht,
usw.) geschrieben und komme einfach auf keinen grünen Zweig wenn ich 9
verschiedene PWMs für 9 verschiedene LEDs programmieren will(Assembler,
nicht C oder Bascom).
Ich benütze einen Atmega8 und möchte über 9 verschiedene Kanäle die
LEDs (d.h. 3 RGB-Module) ansteuern ("PWMen").
Meine Frage: ist das mit dem Atmega8 (nur 3 Timer!) per SoftwarePWM
überhaupt möglich? Und wenn ja, wie geht das?!?!
Hab schon ziemlich lange im Internet gesucht, aber es gibt anscheinend
niemand der klip und klar sagen kann wie das zu realisieren ist!?
Bin wirklich für jede Hilfestellung dankbar!!

MFG
Claudio
Gast #322492
Lesenswert?

Du Suchst dir 9 Output-Ports aus, die du per Software-PWM ansteuern
möchtest. Dann brauchst du für jeden der Ports ein Compare-Register, in
das du den Wert schreibst, wann der Port ein bzw. aus geschaltet wird.
Diesen Wert vergleichst du immer mit einem Counter-Register, welches du
bei jedem Timer-Overflow incrementierst und schaltest den entsprechenden
Port bei erreichen des Wertes und sobald der Counter von 0xFF auf 0x00
wechselt.
Wo ist das Problem?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren