Forum: Projekte & Code PWM-Lauflicht


von peter dannegger (Gast)


Angehängte Dateien:

Lesenswert?

Anbei mal ein Lauflicht mit PWM aufm AT89C2051
1
if( --pwm[0] == 0 )
2
  PWM0 = 0;

wird aufm 8051 compiliert in die DJNZ-Instruktion, welche nichtmal
Flags verändert.
Dadurch ist der Software-PWM Interrupt sehr schnell.

Aufm AVR ist das dann umständlicher, aber das sollte er durch mehr MIPS
wieder kompensieren können (notfalls Interrupt in Assembler).


Schwerer wirds aber, wenn daneben noch andere Sachen gemacht werden
sollen.
Aufm 8051 gibt man einfach dem PWM-Interrupt die hohe Priorität und gut
is. Dann können andere Interrupts ruhig langsamer sein, ohne die PWM zu
stören.
Aufm AVR wirds dagegen haarig (Priorität in Software nachbilden).


Peter

von Georg (Gast)


Lesenswert?

Hallo Peter,

möcht dich nur zur Kontrolle fragen wie der genau Ablauf von deinem 
Lauflicht gedacht ist? Weil ich sichergehen möchte das ich keine Fehler 
gemacht hab...

8LEDS sind eingeschalten und es soll den Anschein haben als würde eine 
einzelne gedimmte LED von Bit0 nach Bit7 laufen, ist das korrekt?

von Georg (Gast)


Lesenswert?

k hat sich erledigt...bin jetzt erst draufgekommen das die leds bei dir 
wahrscheinlich gegen Vcc geschaltet sind...da das bei mir nicht der fall 
ist hab ich das ganze invertiert gesehen...nach der korrektur schauts 
schon wieder anders aus...aber wirklich schön gemacht...

von Gues (Gast)


Lesenswert?

Was ist an nem Lauflicht so besonderes?
Außerdem ist der Originalpost schon 1188 Tage alt, also wohl kaum noch 
aktuell...

von Tom W. (rittertom)


Lesenswert?

Hallo
Ich hoffe mich hört noch einer nach so langer Zeit.
Ich möchte eine Sternschnuppe bauen ( ca 30 LED´s)Also auch nur ein 
Lauflicht.
Bin aber ein "Hardwaremensch" und habe ein parr 89c2051. Könnt ihr mir 
da irengdwie helfen?

Danke
www.tomyswelt.de.hm

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.