Kostenloser Elektrotechnik VIDEO-Kurs


Grundlagen der Elektrotechnik, Gleichstromnetze und Berechnungsverfahren
Wechselstrom- und Drehstromnetze, elektrische Maschinen und Regelungstechnik
Digitaltechnik, Mikrocontrollertechnik und C-Programmierung


Ein Programmablaufplan für die Pulsweitenmodulation

Im heutigen Artikel soll die Pulsweitenmodulation mit Hilfe eines Programmablaufplans realisiert werden.

Und zwar in Zusammenhang mit der Programmierung des Timers.

Der Timer soll jeweils nach 1 ms ablaufen. Da der Mikrocontroller mit 12 MHz getaktet, die Timer-Register also jede µs inkrementiert werden, müssen wir bis 1.000 zählen bis 1 ms vergangen ist.

Da wir dafür TH0 und TL0 benötigen, mit einem Byte kann man ja nur bis 255 zählen, wählen wir nicht den auto-reload Modus, sondern wählen den Modus 1, bei dem wir beide Timerregister für das Zählen zur Verfügung haben.

Berechnung der Initialisierungswerte für die Register TH0 und TL0
Da wir bei 65536 einen Überlauf haben, müssen wir bei dezimal 64536 starten. Hexadezimal ist das FC18. Das bedeutet TH0=0xFC und TL0=0×18.

In dem Video zeige ich noch einmal die Berechnung und die Programmierung der Registerwerte.

Planung des Programms mit Hilfe eines Programmablaufplans, PAP

In der Interrupt Service Routine des Timers soll nun die Pulsweitenmodulation realisiert werden.

Da die Realisierung des Programms nicht ganz trivial ist, ist die Planung des Programms zu empfehlen.
Für diese Planung gibt es verschiedene Möglichkeiten. Neben Struktogrammen hat sich in der Programmierung der sogenannte Programmablaufplan als zweckmäßig erwiesen.

In einem Programmablaufplan plant man das Programm zunächst einmal unabhängig von der Sprachsyntax das Programm und schreibt den Ablauf der Programms mit all seinen Verzweigungen zunächst einmal z.B. auf einem Blatt Papier auf.

Hierdurch bekommt man eine gute Vorstellung vom Ablauf des Programms. Ein Programmablaufplan ist hierbei einfacher zu lesen und zu erstellen als das benötigte C-Programm.

In einem zweiten Schritt schreibt man dann mit Hilfe des Programmablaufplans sein C-Programm. Diese Umsetzung geht einem dann in den meisten Fällen sehr leicht von der Hand.

Wie man einen Programmablaufplan erstellen kann, zeige ich im folgenden Video.


Deine Aufgabe

Wenn ich Du wäre ;-) , würde ich mir jetzt, nachdem Du das Video gesehen hast, ein Blatt Papier nehmen und versuchen, den Programmablaufplan einmal selbständig zu erstellen – ohne noch einmal in das Video zu spicken.

Anschließend kannst µVision aufrufen und die Interrupt Service Routine erstellen.

Elektrotechnik muss nicht kompliziert sein.
Deshalb gibt es VIDEO-Tutorials.

Hat Dir der Artikel geholfen? - Dann hilf dem Artikel ;-)

1 Star2 Stars3 Stars4 Stars5 Stars (Gibt jetzt das erste Rating ab!)
Loading ... Loading ...


Fragen und Antworten zu diesem Artikel und zu anderen Themen findest Du im ET-Tutorials Forum

Ähnliche Artikel

Folgende Artikel aus der gleichen Kategorie könnten Dich ebenfalls interessieren:

Timer Interrupt Lösung der Aufgabe Am Ende der vergangen Folge, in der es um die Programmierung eines Timer Interrupts ging, hatte ich ...

Programmierung der Pulsweitenmodulation Heute geht es um die Programmierung der Pulsweitenmodulation in C. Mit Hilfe des Programmablaufplan...

Timer Interrupt des 8051 Mikrocontrollers Zu den wichtigsten Aufgaben eines Mikrocontrollers gehören Steuerungs-, Regelungs- und Messaufgaben....

Programmieren des Timer Interrupts Heute geht es wieder ans Eingemachte. Mit einer schönen Aufgabe zum Schluss. Wann wird ein Timer Int...

Einrichten eines Projektes in uVision Heute soll es zunächst einmal darum gehen, uns eine Arbeitsumgebung für die nächsten Folgen einzuri...