-
        
+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: PWM am AT90S2313

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674

    PWM am AT90S2313

    Hallo, ich weiß das es das schon in 1000 Vaianten gab, aber ich bin noch nicht durchgestiegen, und habs mitlerweile auch noch nicht kappiert.
    Könnte mir einer ein wenig Code schicken, damit ich den PWM an Timer 0 oder 1 betreiben kann, und ihn vielleicht ein wenig kommentieren?

    Bisher hab ich an brauchbarem nur das gefunden, was mir allerdings etwas merkwürdig erscheint und auch Fehler beim Compilieren verursacht. Merkwürdig deshalb, weil da schon Pwma und Pwm1a drin steht!?

    Pwma Alias Portd.5 ' Modulated Pins
    Pwmb Alias Oc1b
    ' Used Variables
    Dim Temp1 As Word
    Dim Temp2 As Word

    Config Portb = Output ' PortB is Output
    Portb = 255 ' Switch LEDs off

    Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Up
    Temp1 = &H0000 ' Configure Timer1 for PWM
    Pwm1a = Temp1
    Pwm1b = Temp1
    Tccr1b = Tccr1b Or &H02 ' Prescaler = 8


    Config Pind.0 = Input ' Configure PortD
    Config Pind.5 = Output

    Do
    Bitwait Pind.0 , Reset ' Wait for key pressed
    Bitwait Pind.0 , Set ' Wait for key unpressed
    Temp1 = Temp1 + &H10 ' Increment Variable
    Pwm1a = Temp1 ' Set PWM Registers
    Pwm1b = Temp1
    Temp2 = Temp1 / &H10 ' Reset 4 LSB and shift right
    Temp2 = Not Temp2 ' Invert bit pattern
    Portb = Low(temp2) ' Output bit pattern
    Loop

    End
    Danke schonmal im Vorraus!

    MFG Moritz

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    OK läuft soweit, hab nicht den Oszilatorpin belegt, aber was bedeutet:

    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 8
    Kann ich mit einem Timer 2 PWMs steuern?

    MFG Moritz

  3. #3
    Gast
    Hallo

    Beim 2313 leider noch nicht, da er nur ein Compare Register für den Timer1 hat. Bei neueren kannst du mit Timer1 2 unabhängige PWM machen.

    MFG
    Dieter

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Schade, also brauch ich sowohl Timer 1 als auch 0.
    bleibt leider kein Counter

    Aber was meint: "Compare A Pwm = Clear Down , Compare B Pwm = Clear Down"

    MFG Moritz

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2004
    Ort
    GRAZ
    Alter
    50
    Beiträge
    576
    ...Clear Down sagt, wie hier der Compare schaltet!

    Entweder von High, Low , High (= Down)
    oder Low, High , Low ( up)

    m.f.G. Roberto

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    ? Also ob es quasi normal oder invertiert ist?
    ob die led 0 an oder aus ist!?

    Aber beim AT90S2313 bringt mir ein zweites, also "compare B PWM" nix oder?

    MFG Moritz

  7. #7
    Gast
    > ? Also ob es quasi normal oder invertiert ist?
    könnte man so sagen..

    >Aber beim AT90S2313 bringt mir ein zweites, also "compare B PWM" nix oder?

    Weis nicht, was der 2313 jetzt hat.
    (Schau mal im Datenblatt)

    Beim Mega8 habe ich beim Timer 1 , zwei Compare Register und dadurch auch zwei PWM's (Timer2 nur eines)

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2004
    Ort
    GRAZ
    Alter
    50
    Beiträge
    576
    ups... war nicht eingelogt

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Danke, dann hab ichs kappiert, soweit ich weiß, hat der 2313 keinen 2 compare, dann hat sich das erledigt, ist ein wenig blöd, weil ich dann keinen freien Timer mehr zum Counten habe, wenn ich beide Timer für PWM brauche, aber was soll man machen?

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2004
    Ort
    GRAZ
    Alter
    50
    Beiträge
    576
    warum nimmst du nicht gleich einen Mega8 ?!
    So gross sind die Preisunterschiede ja nicht mehr ? oder ?

    Bei uns gibt es den 2313 schon gar nicht mehr ..

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •