Forum: Mikrocontroller und Digitale Elektronik Hilfe bei Counter!


von Dominik (Gast)


Lesenswert?

Tag Leute!

Ich programmier grad nen Counter, den ich für n größeres Projekt
brauch! Steh grad aber voll derbe aufm Schlauch!

Ich will pro Tastendruck einen Schritt höher Zählen!
Ich programmier grad in Basic und hier mein Code (natürlich nur der
Hauptteil):

Do

If Pina.0 = 0 Then
 Count = Count + 1
End If

 Locate 1 , 1
 Lcd Count

Loop

So zählt es ja aber wenn ich draufbleib sehr schnell hoch!
Ich will aber pro Tastendruck (drücken -> loslassen) nur eins
hochzählen!

Könnt ihr mir bitte kurz auf die Sprünge helfen??

gruß

von Olaf_K (Gast)


Lesenswert?

Stichwort: Tastenentprellung. Siehe Codesammlung.

MfG Olaf

von Daniel (Gast)


Lesenswert?

Taster entprellen mit Warteschleife.

von Hannes L. (hannes)


Lesenswert?

> Taster entprellen mit Warteschleife.

Geniale Idee...
Warteschleifen sind die beste Lösung, einen Controller zu beschäftigen,
ohne dass etwas Gescheites dabei heraus kommt.

Zum Entprellen gibt es in BASCOM ein Schlüsselwort. Dürfte in der Doku
oder Hilfe beschrieben sein.

Damit der Counter nur die Anzahl der Tastendrücke zählt, muss man eine
Routine schreiben, die den aktuellen (entprellten!) Tastenzustand mit
dem (gemerkten) vorherigen vergleicht und den Counter nur dann erhöht,
wenn der Zustand von unbetätigt auf betätigt wechselt.

Beispiele in ASM und C findest du, wenn du in der Artikelsammlung nach
"entprellung" suchst. In BASCOM habe ich keine Lösung, da ich BASIC
auf AVRs nicht benutze.

...

von Dominik (Gast)


Lesenswert?

Lol...
Jetzt wirds mir auch klar G

Hab hier jetzt einfach ne kleine Pause eingefügt, da der Controller eh
net groß beschäftigt ist ^^

Danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.