Einzelnen Beitrag anzeigen
Ungelesen 03.01.12, 12:21   #1
Boggie
Newbie
 
Registriert seit: Nov 2009
Beiträge: 81
Bedankt: 548
Boggie ist noch neu hier! | 0 Respekt Punkte
Standard [C167] PWM generieren

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
Boggie ist offline   Mit Zitat antworten