Gast
#8341
Das Programm 'pwm1.c' erzeugt gleichzeitig 8 PWM-Signale an PortA eines 8515, und läßt sich auf alle AVRs anpassen. Jeder Kanal wird mit 101 Schritten aufgelöst: 0 - 100, wobei bei 0 der jeweilige Ausgang auf 0V bleibt. Als Zeitgeber dient Timer0, der ohne Vorteiler mit CPU-Takt betrieben wird. Bei 8MHz Takt wird alle 32us ein Interrupt ausgelöst; bei 100 Schritten pro PWM-Intervall beträgt die Ausgangsfrequenz 312,5Hz. Durch Reduzierung der Auflösung wird die Ausgangsfrequenz proportional erhöht: z.B. 10 Schritte -> 3,1kHz ! Das Programm läßt sich noch vielfach optimieren; in der vorliegenden Form wird der Prozessor mit ca. 65% belastet. Viel Spaß !