Forum: Compiler & IDEs AT90S2313 eventuelle hilfestellung


von Markus S. (schreiber)


Angehängte Dateien:

Lesenswert?

ich stehe erst am anfang meiner programmier laufbahn und habe schon die 
ersten probleme die ich nicht mehr (alleine) lösen kann:

zu meinem fehler:

ich habe den µc von AVR AT90S2313 und möchte mit dem eine PWM ausgeben 
mit einer frequenz von 220HZ bis 250HZ und wenn ich diese frequenz habe 
möchte ich die pulsweite verändern und da liegt mein problem ich bekomme 
das einfach nicht auf die reihe das zu ändern irgendwie hab ich immer 
ein tastverhältnis von 50%


ich habe mein programm mal als anhang zugefügt

hoffe jemand hat für mich einen tipp oder eine lösung für dieses problem

von Falk B. (falk)


Lesenswert?


von Markus S. (schreiber)


Lesenswert?

oh danke für die schnelle antwort nur geht bei das programm irgendwie 
nicht
denke mal weil es ja nur für den "m8def.inc" geeignet ist oder?

hatte nähmlich "m8def.inc" in "2313.inc" gewechselt und es kamen jede 
menge errors (leider)

von Falk B. (falk)


Lesenswert?

@ Markus S. (schreiber)

>hatte nähmlich "m8def.inc" in "2313.inc" gewechselt und es kamen jede
>menge errors (leider)

Muss man woghl ein wenig anpassen. Aber das prinzip ist das gleiche! 
Einfache ine Timer auf PWM konfigurieren, z.B. 8-Bit PWM. Dann kann man 
einfach den gewünschten PWM-Wert in ein Register laden und fertig.

MfG
Falk

von Markus S. (schreiber)


Lesenswert?

damit ich das richtig versteh:

    ldi      temp1, 0x6F
    out      ICR1H, temp1
    ldi      temp1, 0xFF
    out      ICR1L, temp1

das ist doch der zähler der immer von 0 bis z.b. 255 oder so zählt oder?


    ldi      temp1, 0x3F
    out      OCR1AH, temp1
    ldi      temp1, 0xFF
    out      OCR1AL, temp1

und das ist der compare wert der mir die pulsgröße gibt stimmts

und wenn ich jetzt OCR1AH veränder müsste sich doch dann auch die 
pulsweite verändern oder?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.