AT90S2313 eventuelle hilfestellung

OP #709202
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
Angehängte Dateien:
#709231
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
OP #709241
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?

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