Banner

Meister des Zeitmanagements in Einzelchip-Computern – Timer/Zähler

Nov 08, 2023

Grundlegende Konzepte des Timings und Zählens

Alte chinesische Weise erfanden ein Gefäß namens „Tropfglas“, mit dem die Zeit durch fließendes Wasser gemessen werden konnte. Es tropft Wasser durch ein festes Loch in den Behälter, mit 3 Tropfen pro Sekunde, 180 Tropfen pro Minute und 10800 Tropfen pro Minute, wodurch der früheste Timer entsteht.

SIEMENS | 6FC5370-8AA20-0AA0 | Plattenbearbeitungseinheit

Zählen bezieht sich auf das Zählen der Anzahl von Ereignissen oder Dingen, oft in Einheiten von 1 akkumuliert, wie zum Beispiel das Zählen der Anzahl von Wassertropfen. Wenn beim Auftreten des zu zählenden Ereignisses ein zeitliches Muster vorliegt, wird die Multiplikation des Zählergebnisses mit dem Zeitintervall zwischen den Ereignissen zur Zeitmessung.

Im Mikrocontroller wird der entsprechende „Wassertropfen“ von der Taktquelle bereitgestellt. Unter der Annahme einer Taktquelle von 12 MHz und eines Taktzyklus von 1/12 μs. Sie können den Mikrocontroller so programmieren, dass er 1 mit einer Geschwindigkeit von 1 Taktzyklus oder mit einer Geschwindigkeit von 12 Taktzyklen addiert.

2. Timer/Zähler des Mikrocontrollers STC15W4K32S4

Der Mikrocontroller der Serie STC15W4K32S4 ist intern mit fünf 16-Bit-Timern/Zählern ausgestattet: T0, T1, T2, T3 und T1.

Diese 5 16-Bit-Timer/Zähler verfügen alle über zwei Arbeitsmodi: Zählen und Timing. Für die Timer/Zähler 10 und T1 verwenden Sie die entsprechenden Steuerbits C/T im Sonderfunktionsregister TMOD, um auszuwählen, ob 10 oder 1 ein Timer oder ein Zähler ist.

Für Timer/Zähler T2 verwenden Sie das Steuerbit (T2C) im Sonderfunktionsregister AUXR/ ī) Wählen Sie, ob T2 ein Timer oder ein Zähler ist.

Die Kernkomponente eines Timers/Zählers ist ein additiver Zählmechanismus, der im Wesentlichen Impulse zählt. Der Unterschied zwischen Zählen und Timing liegt nur in der Quelle der Zählimpulse: Kommt die Zählung von der Systemuhr, handelt es sich um ein Timing-Verfahren. Zu diesem Zeitpunkt empfängt der Timer/Zähler alle 12 Takte oder alle 1 Takt Zählimpulse und der Zählwert wird um 1 addiert; Wenn der Zählimpuls vom externen Pin des Mikrocontrollers kommt (TO ist P3.4, T1 ist F5.5.12, F3.1, T3 ist Po.5, T4 ist P0.7), dann befindet er sich im Zählmodus und Jedes Mal, wenn er kommt, wird ein Impuls verarbeitet.

Überlauf und Überlaufflags

Wenn aufgrund der begrenzten Größe des Behälters weiterhin Wassertropfen eintropfen, laufen diese beim Befüllen über und der Behälter muss geleert werden. Bei Mikrocontrollern dient es dazu, den Mikrocontroller über das Timer-/Zählerüberlauf-Flag (im Abfragemodus)/Interrupt-Anforderungsflag (im Interrupt-Modus) daran zu erinnern, dass die zeitgesteuerte Zeit erreicht ist oder dass der Zählerstand erreicht ist.

Einstellen des Anfangswerts des Timers/Zählers

Das Herzstück des Timers/Zählers des Mikrocontrollers STC15W4K32S4 ist ein 16-Bit-Additionszähler, der im Wesentlichen Impulse mit einem Wertebereich von 0-65535 zählt. Sobald der laufende Prozess beginnt, erfordert er nicht mehr die Aufmerksamkeit der CPU und läuft unabhängig, bis sich der Zustand des entsprechenden Überlauf-Flag-Bits ändert, was durch Softwareabfragen verarbeitet oder durch Interrupts ausgelöst werden kann, um die CPU zu veranlassen, Interrupt-Service-Unterroutinen auszuführen.

Daher müssen Benutzer in praktischen Anwendungen einen voreingestellten Anfangswert verwenden, um einen Überlauf des Timers/Zählers zu ermöglichen, wenn ein angemessener Zeit- oder Zählwert erreicht wird.

Unter der Annahme, dass die Taktquelle 12 MHz beträgt, gelten folgende Anforderungen:

(1) Zählen bis 10800 Überlauf

Der maximale Zählwert des Timers/Zählers beträgt 65.535, was bedeutet, dass ein Überlauf auftritt, wenn der Zähler 65.536 erreicht. Wenn beim Zählen bis 10.800 ein Überlauf auftritt, sollte der Anfangswert des Zählers eingestellt werden:

X=65 536-10 800=54 736=D5D0H

(2) Timing 10000 μS Überlauf

Der maximale Zeitwert des Timers/Zählers beträgt 65.536 Mal × ein μ S/Zeit = 65.536 μ S. Wenn ein Timing von 10.000 μ erforderlich ist. Wenn nach s ein Überlauf auftritt, müssen die Zählimpulse 10.000 Mal gezählt werden , und stellen Sie den Anfangswert des Timers zu diesem Zeitpunkt ein:

X=65 536-10 000=55 536=D8F0H

Der Timer in einem Mikrocontroller erfordert normalerweise eine ständige Wiederholung des Timings und muss nach einem Überlauf erneut zurückgesetzt werden

Der Anfangswert wird in den Timer eingespeist, um sicherzustellen, dass die Zeit für die nächste Runde immer noch 10000 μS beträgt.

Sonderfunktionsregister für Timer/Zähler TO, T1

Der Arbeitsmodus und die Steuerung des internen Timers/Zählers TO und T1 des Mikrocontrollers der Serie STC15W4K32S4 werden hauptsächlich durch drei spezielle Funktionsregister verwaltet: TCON, TMOD und AUXR.

Verwendung von Timer/Zähler T als Methode 0) zur Steuerung des Durchflusslichts

Aufgrund der verwendeten Software-Abfragemethode ist es notwendig, das Überlauf-Flag alle 1 Sekunde nach dem Auslösen des Überlauf-Flags per Software zurückzusetzen. Die spezifischen Einstellungen für den Timer sind wie folgt:

TMOD=0x00;

AUXR=0x00// Das Einstellen von T1 als Timer für den Betrieb im Modus 0 kann Zeit sparen

// Stellen Sie T1 auf den 12T-Modus ein, was Zeit sparen kann

TH1=(65536-50000)/256// Stellen Sie den Anfangswert des Timers mit einem einzelnen Timer von 50 ms ein

TI1=(65536-50000) 256;

//T1 starten

TR1=1;

While (! TF1)// Die Software fragt den Status von TF1 ab und wartet auf das Eintreffen der geplanten Zeit von 50 ms

TF1=0// Überlaufflag löschen, um das Schleifentiming vorzubereiten

Fragen Sie den Status des Überlaufflags TF1 durch Softwareprogrammierung wiederholt ab. Wenn die geplante Zeit erreicht ist, wird TF1 eingestellt

Daher muss nur abgefragt werden, ob TF1 gleich 1 ist, um festzustellen, ob die Timing-Zeit erreicht ist. Daher verwendet das Programm „while“

Mit der Schleifenanweisung „(! TF1)“ wird abgefragt, beurteilt und die Zeit von 50 ms abgewartet.

Verwendung des Timer-/Zähler-T1-Unterbrechungsmodus (Arbeitsmodus 0) zur Steuerung des Durchflusslichts

Da der Timer im Interrupt-Modus arbeitet, wird das Interrupt-Flag TF1 alle 50 ms getriggert. Nachdem der Mikrocontroller auf den Interrupt reagiert hat, setzt die interne Hardwareschaltung TF1 automatisch zurück. Daher ist beim Programmieren keine Software zum Zurücksetzen von TF1 erforderlich. Die spezifischen Einstellungen für den Timer sind wie folgt: Bild

TMOD=0x00// Das Einstellen von T1 als Timer für den Betrieb im Modus 0 kann Zeit sparen

TH1=(65536-50000)/256// Stellen Sie den anfänglichen Timerwert auf 50 ms ein

TL1=(65536-50000) Nummer 256;

EA=1// Interrupt aktivieren, um das Gesamtkontrollbit zu ermöglichen

ET1=1// T1-Interrupt aktivieren, um das Steuerbit zuzulassen

TR1=1// T1 starten

Wenn T1 im Interrupt-Modus arbeitet und die Timing-Zeit 50 ms erreicht, löst es automatisch den Interrupt aus, um die Interrupt-Service-Unterroutine auszuführen.

  • Markenname: :

    SIEMENS
  • Produktherkunft:

    Hergestellt in Deutschland
  • Modell-Nr: :

    6FC5370-8AA20-0AA0
  • Zahlungsbedingungen: :

    T/T
  • Mindestbestellmenge: :

    1
  • Lieferzeit: :

    Spotware
  • Nettogewicht / kg) :

    15,5 kg
  • Packungsgrösse :

    2,1*3,2*1,5
  • Verpackungsmenge:

    1
  • Hafen: :

    XIAMEN
  • Verkaufsleiter: Liao

    Email: postmaster@adlemanplc.com
    Mobil: +86 15259245292

    WeChat/WhatsApp: +86 15259245292

    Vorteil
    1,10 Jahre Vertriebserfahrung im Bereich Steuerungssystemkomponenten.
    2. Hocheffiziente Anwendung.
    4. Reduzieren Sie die Zwischenverbindungen untereinander.
    5.Professionelles Verkaufsteam und hochwertiges Kundendienstteam.
    6. Breite Produktpalette, fast 70 Millionen Lagerteile für Kunden weltweit.

    Wir liefern:

    SPS: Allen Bradley, ABB, GE FANUC, Schneider

    DCS: ABB, Siemens MOORE, Foxboro, Westinghouse, YOKOGAWA

    ESD: Triconex, HIMA, Bently Nevada, ICS

    Anregungskarten: ABB, GE Marke

Brauchen Sie Hilfe? Chatte mit uns

eine Nachricht hinterlassen
Für jede Informations- oder technische Supportanfrage füllen Sie bitte das Formular aus. Alle mit einem Sternchen* gekennzeichneten Felder sind Pflichtfelder.
einreichen
Auf der Suche nach FAQs?
KONTAKTIERE UNS #
+86 -15259245292

Unsere Stunden

Mo. 21.11. - Mi. 23.11.: 9.00 - 20.00 Uhr
Do. 24.11.: geschlossen – Happy Thanksgiving!
Fr. 25.11.: 8:00 - 22:00 Uhr
Sa. 26.11. - So. 27.11.: 10.00 - 21.00 Uhr
(Alle Stunden sind Eastern Time)

Heim

Produkte

WhatsApp

Kontaktiere uns