mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hilfe bei Counter!


Autor: Dominik (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Olaf_K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stichwort: Tastenentprellung. Siehe Codesammlung.

MfG Olaf

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Taster entprellen mit Warteschleife.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: Dominik (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.