Hoi,
ich bin gerade dabei für die Schule PWM-Signal zu generieren.
Soweit funktioniert das auch, allerdings kann ich während der Ausführung nicht die Pulsweite festlegen. Am Ausgang liegt anschließend immer ein H-Pegel an.
Nächste Frage, wieso erhalte ich eine Grundfrequenz von 100Hz, wenn PP0 3125 ist? (erster Link Beispiel Seite 32)
PHP-Code:
#include <reg167.h>
#include <stdio.h>
sbit S1 = P5^0;
sbit S2 = P5^1;
void InitPWM0()
{
DP7 = 0x01; //AUSGANG (PWM0)
P7 = 0x0;
PP0 = 3125; //100Hz?
PEN0 = 1; //AUSGABE
PM0 = 0; //PWM MODE
PW0 = 0.5 * PP0; //50 PROZENT AKTIV
PTR0 = 1; //STARTEN
IEN = 1;
}
void ControlPWM0(int _PERCENT)
{
PW0 = ((100-_PERCENT)/100) * PP0;
}
void main()
{
InitPWM0();
ControlPWM0(90);
while(1);
}
Bis jetzt hab ich zum Thema nur zwei Seiten gefunden, die mehr oder weniger hilfreich sind.
http://inst.eecs.berkeley.edu/~ee40/...hapterFive.pdf
http://books.google.de/books?id=S5AR...page&q&f=false
Ich bin was Microcontroller angeht, vorallem PWM totaler Anfänger, also bitte bei den Antworten berücksichtigen