Forum: Mikrocontroller und Digitale Elektronik RGB LED Ansteuerung über mehrere Kanäle


von Claudio Huber (Gast)


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

von Markus Mayer (Gast)


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?

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.