einfacher Code für einen Zähler

Gast #131090
Lesenswert?

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 #131091
Lesenswert?

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 #131092
Lesenswert?

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 #131095
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren