Forum: Mikrocontroller und Digitale Elektronik Soft PWM mit Atmega8


von ... .. (docean) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo,

hab gerade eine Software PWM Schaltung für 16 LEDs entworfen...

Nur irgendwie tut die noch nicht...

Wenn ich den Teil wo gedimmt werden soll rausnehme gehen die LEDs wie 
gewollt an und aus...

Also bei dem Programm wird über die random fkt 2 neue Werte für die 
beiden Ports B und D bestimmt.

Dann wird festgestellt ob die jeweilige LED an oder ausgehen muss oder 
ob sie so bleibt wie vorher, wenn an oder aus werden die Werte 
entsprechend gesetzt und dann die IRQs an, der Wert langsam 
hoch(runter)gefahren und dann gehts weiter mit der nächsten LED...

EDIT
ach ja eine ähnliche Version tut auf einem ATmegae32 mit 24 LED ohne 
Problem ihre Dienste

und die Schaltung läuft mit 8MHz

von Kai F. (kai-) Benutzerseite


Lesenswert?

wieso denn überhaupt SoftPWM?
Habe eben mal kurz über deinen Code drübergeschaut und kann nicht 
wirklich erkennen was du überhaupt vor hast.
Schreib doch einfach ein bisschen mehr zu deinem Vorhaben

von Simon K. (simon) Benutzerseite


Lesenswert?

Ja, ein paar mehr Kommentare (sowohl im Quelltext als auch in diesem 
Thread) wären nicht schlecht.

von Gast (Gast)


Lesenswert?

Also an PORTB und an PORTD hängen jeweils 8 LEDs...

die fkt sichert zuerst die aktuelle Ausgabe und erzeugt dann eine neue.

dann wird festgestellt welche LEDSs an/ausgeschaltet werden muss

Dann werden die entsprechenden LEDs eigentlcih per Soft PWM 
hoch/runtergedimmt (das passiert zw sei() und cli() )

die isr routine zaehlt einfach immer einen zähler hoch, bei 50 wird der 
0 gesetzt und die entsprechend led angeschaltet

bei dem Wert wird die LED wieder ausgeschaltet

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.