- Labornetzteil AliExpress         
Ergebnis 1 bis 2 von 2

Thema: pic 16f877a timer überlauf, zeitnehmung

  1. #1

    pic 16f877a timer überlauf, zeitnehmung

    Anzeige

    Praxistest und DIY Projekte
    also ich brauch für ein projekt eine zeitnehmung und einen rundenzähler. zu realisieren mit einem pic 16f877a und geschrieben in c.

    soll einfach loszählen wenn an einem bestimmten (geeigneten) eingang eine 1 anliegt (in dem fall kommt ein signal einer diode eines lichtschrankens) und wieder stoppen wenn wieder eine 1 anliegt. ist für eine rennbahn und es soll eben die zeit und die rundenzahl an einem lcd dargestellt werden. hw is vorhanden nur an der sw scheiterts ein bisschen.

    lg

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    74
    Beiträge
    2.063
    Vermutlich möchtest Du die Zeit in 1/1000 Sekunden stoppen ?
    Dann solltest Du einen Timer so initialisieren, daß er jede Millisekunde einen Interrupt auslöst. Damit ist erst einmal gewährleistet, daß kein Timer-Überlauf verpaßt wird und somit keine Zeit verloren geht.
    Die Lichtschranke würde ich an den INT-Eingangspin legen, damit bei jeder steigenden Flanke ebenfalls ein Interrupt ausgelöst wird.
    Bei jedem Millisekunden-Int wird ein 16...24-Bit-Zähler (= 3 Bytes) um 1 erhöht.
    Bei einem Eingangs-Int wird der Zähler-Inhalt in eine 'Anzeige-Variable' kopiert und dann auf 0 gesetzt. Außerdem einen weitern Zähler für die Runden um 1 erhöhen. Dann noch ein Flag setzen, damit das Hauptprogramm die neuen Werte für das Display aufbereiten und dort zur Anzeige bringen kann.

    Fragen nach C-Programmierung kann ich nicht beantworten, da ich ausschließlich in Assembler programmiere.
    Beispiele zu meinem Vorschlag findest Du (in Assembler) auf dieser und dieser Seite.
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

Berechtigungen

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

LiFePO4 Speicher Test