PWM mit AT89LP2052 bzw. AT89LP4052

Gast #462367
Lesenswert?

Hallo,

ich versuche gerade für ein Projekt an der Uni eine PWM mit dem 
AT89LP2052/4052 zu realisieren. Eigentlich ganz einfach dachte ich.
Ich habe dazu unten mal meinen Code eingefügt. Diese Funktionen werden 
dann von einem anderen Programm aufgerufen. Mein erstes Problem ist, das 
ich das ganze noch nicht auf dem µC testen konnte, da wir die leider 
noch nicht haben. Also habe ich das ganze mit Keil µVision 3 simuliert. 
Funktioniert in der Theorie auch alles so, wie es sollte (der Timer 
zählt und lädt auch den Reload wert wieder rein). Das einzige was ich 
nicht sehe, ist das sich im Portregister des Port 3 der Wert für P3.4 
(der PWM ausgang) ändert. Habe auch einen anderen Code im Internet 
gefunden, wo das eigentlich gemacht wird, wie ich es auch mache. Auch 
beim dem Code sehe ich nicht wie der Pin seinen Zustand ändert.
Wo liegt nun das Problem? An meinem Code? Oder zeigt mir das µVision 
einfach nicht den Zustandswechsel an?

pwm_init:
    mov P1M0,#00H  ;alle ports quasi bidirektional, 8051 kompatibel
    mov P1M1,#00H
    mov P3M0,#00H
    mov P3M1,#00H

    clr TR0      ;Timer 0 anhalten

    orl TMOD,#01H   ;Timer0, Mode 1
    orl TCONB,#40H   ;Timer 0 PWM an P3.4

    ret

pwm_start:
    SETB  TR0    ;Timer 0 run bit 1
    ret

pwm_laden:
    mov TL0,#0FFH   ;T0 Prescaler
    mov RL0,#0FFH   ;Reloadwert

    mov TH0,#00H   ;T0 Startwert
    mov RH0,#0AAH   ;Pulsweite

    ret
Gast #462480
Lesenswert?

Ich habe mir gestern die aktuelle Version von der Keil Webseite 
runtergeladen. Als Device war er schon integriert, da konnt ich beide 
Versionen, die 2052 und die 4052 anwählen. Kann das möglich sein, das 
der dann noch nicht vollständig integriert ist? Bin echt langsam am 
verzweifeln hier.
Gast #462564
Lesenswert?

Das verzweifeln hat ja nix mit dem Alter des Forenbeitrags zu tun. Aber 
ich hab gestern den halben Tag daran gesessen. Sind ja nur ein paar 
Zeilen Code. Und genau die Zeilen Code die ich verwende, sind im Prinzip 
die Zeilen die schon woanders verwendet wurden. Und wenn dann nicht das 
passiert, was passieren soll, und man quasi schon alle Möglichkeiten 
durchgegangen ist, ist  ja klar das man irgendwann nen Harry kriegt. 
Wenn nur schon die Bestellung da wäre, da könnte man auf dem uC testen, 
ob das Keil spinnt :-/. Zumal fahr ich Sonnabend früh in Skiurlaub.
Gast #481086
Lesenswert?

Hallo Jonas,

auf www.minimikro.de gibt es bei den Dokumenten hoffentlich reichlich 
Informationen zu Ihren Fragen.
Ich habe dort für PWM mit AT89LP2052/4052 auch ein paar Assembler 
Beispiele.

Mit den besten Grüßen

J.Hulzebosch

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren