- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 11

Thema: BASCOM8051 und Timer im Mode0

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    BASCOM8051 und Timer im Mode0

    Ich möchte eine Multiplexanzeige mit ca. 200 Hz ansteuern. Also habe ich gedacht, den Timer im mode0 eine ISR nach der entsprechenden Zeit abarbeiten zu lassen. Mit meinem Testprogramm komme ich aber auf 56 Hz. Wo liegt mein Denkfehler? Hier der Text, das original im Anhang:

    'timertest0, 25.3.13
    Dim T As Byte

    $crystal = 11059200
    Config Timer0 = Timer , Mode = 0 , Gate = Internal
    On Timer0 Anzeige
    Load Timer0 , 4608
    Enable Timer0
    Enable Interrupts
    Start Timer0

    Do
    Wait 1
    P3.2 = Not P3.2
    Loop
    End

    Anzeige:
    Load Timer0 , 4608 '11059200/(12*460= 200
    P3.3 = Not P3.3
    Incr T
    If T > 100 Then
    P3.4 = Not P3.4 'nur Kontrolle
    T = 0
    End If
    Return
    Angehängte Dateien Angehängte Dateien

  2. #2
    Offensichtlich arbeitet niemand mit Bascom8051 . Ich habe nun einen Irrtum gefunden: Der load-befehl gilt nur im mode2. Jetzt habe ich statt dessen die Werte für TL0 = 32 und TH0 = 144 eingesetzt, erhalte aber auch eine abweichende Frequenz, hier 128 Hz. Nun kann ich mich zwar dem gewünschten Wert nähern, aber das erklärt nicht die Differenz. Vielleicht hat doch noch jemand eine Idee!
    Dolivo

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    08.04.2009
    Ort
    an der Ostsee
    Beiträge
    334
    Der Interrupt wird bei Überlauf (65535 -> 0) ausgelöst. Dein Wert sollte also -4608 oder 65536-4608 => 60928 sein. Peter

  4. #4
    Hallo, Peter,
    zuerst danke für die Antwort. Aber im mode0 kann ich doch nur eine 13-Bit-Zahl verwenden. Also müsste ich hier das auf 8192 beziehen? Ich teste es demnächst.
    Dolivo

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    08.04.2009
    Ort
    an der Ostsee
    Beiträge
    334
    RTFM:The 13-bit register consists of all 8 bits of TH0 and the lower 5 bits of TL0. The upper 3 bits of TL0 are indeterminate and should be ignored.

  6. #6
    nein, auch damit bekomme ich andere Zeiten. Mir war schon klar, dass im mode0 TL0 max. 32 sein kann.

Ähnliche Themen

  1. BASCOM8051 und SPI
    Von dolivo im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 5
    Letzter Beitrag: 06.02.2013, 09:21
  2. SAA1064 und Bascom8051
    Von dolivo im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 0
    Letzter Beitrag: 23.09.2010, 10:05
  3. getad2051() in BASCOM8051
    Von dolivo im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 0
    Letzter Beitrag: 29.07.2010, 13:13
  4. RC5 mit BASCOM8051
    Von roman_1986 im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 0
    Letzter Beitrag: 07.01.2008, 21:16
  5. PWM mit Timer 0 und 2 geht, aber nicht mit Timer 1 (mega64)
    Von popi im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 14.06.2006, 16:00

Berechtigungen

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

Labornetzteil AliExpress