Forum: Mikrocontroller und Digitale Elektronik PWM-Frage


von avusgalaxy (Gast)


Lesenswert?

Einen schönen Abend. bin schon wieder einmal lästig.

Habe hier ein PWM Programm geschrieben. Funktionieren tuts. Nur wie
kann ich es machen, das die Leds nicht so schnell hell werden? Ich habe
ja nur die Werte 0 - 255 für die PWM. Sobald R18 auf 1F ist, dann ist ja
schon fast die komplette Helligkeit erreicht. Oder schaut eine PWM
anders vom Programm aus?

Gruß avusgalaxy

.include "2313def.inc"

.def temp = r16
.def pwm = r17
.def hell = r18


 ldi temp, RAMEND  ;Stackpointer initialisieren
 out SPL, temp

 ldi temp, 0xFF
 out DDRD, temp

 ldi pwm,  0x00
 ldi hell, 0x04

main:
 inc pwm
 cp pwm, hell
 BRCS ledein

 ldi temp, 0xFF
 out PORTD, temp

 rjmp main

ledein:
 ldi temp, 0x00
 out PORTD, temp

 rjmp main

von ...HanneS... (Gast)


Lesenswert?

Software-PWM läuft im Timer-Interrupt.

...

von nides (Gast)


Lesenswert?

Du hast ein Problem mit den Augen!!! ;-)

Die Natur hat unser Auge so geschaffen, dass wir sowohl in einer hellen
(Sonne), als auch in einer dunklen (Mondschein) Umgebung sehen können.
Da sich die Lichtstärke da um mehrere Zehnerpotenzen unterscheidet, ist
unser Auge logarithmisch!
Du wirst mit einer normalen PWM also nie einen Helligkeitsverlauf
zusammenbringen, der im gesamten Bereich linear aussieht!

Sorry, aber sei froh darüber.

Nides

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.