einfacher Code für einen Zähler

Gast #131090
Hallo!
Ich bin noch Anfänger in Sachen Mikrocontroller. Ich habe diesen Code
geschrieben damit bei jedem Tasteranschlag eine weitere LED leuchtet.
Wenn ich das Programm in den Controller schreibe und es teste gehen
alle drei LEDs beim ersten Tasteranschlag an. Wie kann ich das Problem
beheben?

Außerdem würde ich gerne wissen wie ich im Assembler eine Pause
einfügen     kann, die ca. 1 sekunde lang ist ohne so oft NOP zu
schreiben.

Danke im Voraus für Antworten!
Angehängte Dateien:
Gast
Hi,

1) du musst die Tasten entprellen, sonst erkennt der µC mehr als eine
Betätigung pro Druck. Suche hier im Forum und in der Codesammlung
danach. Das Thema wurde schon recht erschöpfend behandelt.

2) informiere dich über die eingebauten TIMER. Du willst den µC doch
nicht ärgern?
Gast
Hi...

Dein Taster prellt...
...nicht die Zeche, sondern ehe er sich entscheidet, ob er an oder aus
sein soll, hat er schon etliche male hin-und hergeschaltet...
Du wirst also um eine Entprellen der Tasten nicht herum kommen
(Codesammlung)

Pausen...
...erreichst du (erstmal) mit Schleifen. Du erhöhst (oder erniedrigst)
ein Register und springst solange zurück, bis es Null ist (brne).
Schleifen kann man ineinander verschachteln. Codebeispiele findest du
sicherlich im Tutorial oder in der Codesammlung. Später dann mal werden
Timer und Interrupt deine Freunde sein...

...HanneS...
Gast
Hallo!
Erstmal danke für die Antwort!
1. Aber durch das Warten bis der Schalter wieder offen ist wird er doch
   entprellt oder?

2. also ich habe einen ATMega8
Gast
Hi,

1) Nein :) wenn du draufdrückst, wird der Schalter geschlossen und
wieder geöffnet und so fort. Damit werden mehrere Betätigungen vom µC
registriert.

2) Fein :) Probiers zuerst mit Schleifen, wie Hannes schreibt, die
Timer laufen dir ja nicht weg.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.