PWM parallel zu Programmablauf

OP #5555674
Lesenswert?

Hallo zusammen,

ich hätte eine grundsätzliche Frage zur PWM an einem AVR-Port.

Wie kann ich denn, wenn auf einem AVR prinzipiell nur serielle 
Programmabläufe möglich sind, auf einen Portausgang zur Dimmung einer 
LED-Hintergrundbeleuchtung ein PWM-Signal parallel laufen lassen, 
während das Programm darauf normal weiterläuft?

Durch welchen Kniff kann ich denn das umsetzten?

Wäre sehr dankbar für ein Stichwort.

Danke,
Michael
Gast #5555681
Lesenswert?

Stichworte:
Timer, Interrupt, Timer-Interrupt,  Multitasking,......

Auf deinem PC kannst Du ja auch surfen, gleichzeitig ein Video gucken 
und in einem anderen Fenster zusätzlich skypen.....

Aber du willst ja nur Stichworte....
#5555692
Lesenswert?

Hebi19 schrieb:
> Stichworte:
> Timer, Interrupt, Timer-Interrupt,  Multitasking,......
>
> Auf deinem PC kannst Du ja auch surfen, gleichzeitig ein Video gucken
> und in einem anderen Fenster zusätzlich skypen.....

Das wäre Soft-PWM.
@Michael:
Das wäre quasi-parallel, der µC macht die Sachen zwar immer noch 
hintereinander aber so schnell, daß es wie gleichzeitig aussieht.
Das geht auch ganz ohne Interrupt.
Mit Interrupt unterbricht er eben immer ganz kurz das Hauptprogramm, um 
die LED an- oder auszuschalten.

Noch besser ist Hardware PWM, da macht der Timer das ganz alleine, wenn 
er entsprechend eingestellt ist. Du wirfst ihm nur zu beliebiger Zeit 
den gewünschten Dimmwert vor die Füsse, brauchst Dich im Hauptprogramm 
um sonst nichts zu kümmern.

Gruß,
Norbert
Gast #5555766
Lesenswert?

Ja, bei µCs guckt man erst, was man an speziellen HW-Funktionen
braucht und an welchen Anschlüssen die verfügbar sind.
Oft gibt es noch Alternativen: Anderer Timer, inverser Ablauf,
inverse Pegel...

DANN entwirft man den Schaltplan. ;-)

Wer damit nicht zurecht kommt, sollte die Finger von den
minimalisierten Helferlein lassen.
Gast #5555889
Lesenswert?

PWM Signale erzeugst du am Besten mit einem Timer. Dadurch ist 
sichergestellt, dass die Signale sauber, ohne Aussetzer sind.

In meinem Buch http://stefanfrings.de/mikrocontroller_buch/ Band 3 
Kapitel 9 demonstriere ich anhand einer 7-Segment Anzeige, warum und wie 
man Multitasking auf Mikrocontroller implementieren kann.

Aber beschäftige zuerst mit dem PWM Timer, das wird Dich beim aktuellen 
Projekt sicher am ehesten weiter bringen.

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