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.
[
Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[
Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Ich bin was Microcontroller angeht, vorallem PWM totaler Anfänger, also bitte bei den Antworten berücksichtigen