Hallo, ich möchte mit meinem AT89C5131 einige Ausgänge per PWM steuern. Leider habe ich mit PWM noch nie gearbeitet und fande bisher kein passendes Tutorial oder Ähnliches. Das Datenblatt des Controllers habe ich mir angesehen, aber mit meinem Schulenglisch komme ich da nicht sehr weit. Gibts es für PWM auf dieser Controllerart Tutorials oder könnte mir das jemand erklären und/oder einen Beispielcode posten?
Entweder per Timer (Stichwort für's Datenblatt), oder PCA (auch Stichwort). Es sei denn der Controller hat ne dedizierte PWM, glaub ich aber nicht. Was das Schulenglisch betrifft: Ich hab auch kein anderes Englisch gehabt. Die Ausrede zählt also nicht :) Ich hab in der Anfangszeit eben Leo.org bemüht, und tummel mich hin und wieder in englischen Elektronikforen. Das hilft unwahrscheinlich, selbst wenn's nur stilles Mitlesen ist. Ralf
Timer is mir natürlich ein Begriff und ich hab auch kein Problem, den zu programmieren. Nur PCA habe ich noch nie gemacht, und da wär ne deutsche Erklärung die sich auf das beschränkt was ich brauche schon besser.
> Nur PCA habe ich noch nie gemacht, und da wär ne deutsche Erklärung die > sich auf das beschränkt was ich brauche schon besser. rofl Die wirste nicht finden. Verständlich, oder? :) PCA: Ein PCA-Timer, und mehrere PCA-Kanäle mit verschiedenen Betriebsarten, u.a. PWM (und davon evtl. mehrere Kategorien, je nach Implementierung). Die Kanäle haben Register, in die ein Vergleichswert geschrieben wird. Verglichen wird mit dem PCA-Timer, wenn der Timerwert gleich dem Vergleichswert ist wird der Port auf 0/1 gesetzt, wenn der Timer "überläuft", also (wieder) den Wert 0 annimmt wird der Port auf 1/0 gesetzt. Reicht dir die Erklärung? Ralf
Okay, ich hab mich jetzt mal dran probiert. Wie kann ich nun festlegen, an welchem Port PWM ausgegeben wird? Oder gibt es einen speziellen, an dem dies geschiet?
Datenblatt S.55: "The PCA timer/counter and compare/capture modules share Port 1 for external I/O. These pins are listed below." Peter
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.