Forum: Mikrocontroller und Digitale Elektronik Microcontroller 8051


von Prince (Gast)


Lesenswert?

Es soll eine PWM Singal, am Ausgang P0.0, mit einer Frequenz von 9,5Hz 
erzeugt werden, der Tastgrad soll dabei G= 0,3 betragen, nach der ersten 
Periodendauer soll G= 0,6 und danach G=0,9 sein, anschließend wird 
wieder mit G=0,3 begonnen.

Für die den Tastgrad 0,3 und 0,6 ist das auch kein Problem, nur wie 
machen ich das für den Tastgrad 0,9. Im Betriebsart 1 gibt es nur eine 
16Bit Zähler!
2^16 = 65536d

Für Tasgrad 0,3
ti= 105ms • 0,3 = 33,33ms
tp = 105ms – 33,33ms = 71,67ms
2^16us – 33330us = 32206d
32206d = 111110111001110 = 7DCEh
THO = 7D  TLO = CE

Für Tastgrad 0,9:
T=105ms
ti= 105ms • 0,6 = 94,5ms
tp = 105ms – 94,5ms = 10,5ms
2^16us – 94500us = -28964

Kann mir jemadn eine Tipp geben, oder geht das gar nicht in dieser 
Variante!
Danke schonal im vorraus!!!

von Philipp B. (philipp_burch)


Lesenswert?

Bei solch niedrigen Frequenzen solltest du das mit Software-Teilern 
machen. Du erzeugst erstmal eine Frequenz von 95Hz und zählst damit eine 
Variable/ein Register von 0 - 9. Bei jedem "Überlauf" (9 -> 0) schaltest 
du den Ausgang ein und beim Wert 3, 6 oder 9 wieder aus.

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.