www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Taster entprellen!


Autor: B.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe in dem Beitrag Beitrag "Entprellen gleich  aller Tasten mit nur 7 Zeilen" 
folgenden code gefunden:

.def cntr =  R16
.def taste = R17



waitfreekey:                  ;Wartet, bis alle Tasten losgelassen sind.
  clr cntr
  nook: in taste, PIND
  cpi taste, 0b00111111 ;Für jeden Knopf ein Einser
  brne waitfreekey
  inc cntr
  breq ok
    rjmp nook
ok: ret


Irgendwie ging es einmal und nun nicht mehr. Kann mir einer sagen ob es 
grundsätzlich überhaupt gehen würde.
Verstehe nicht inc -1 dann springe zu ret.

Schonmal danke.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Verstehe nicht inc -1 dann springe zu ret.

Wo steht 'inc -1'?

Die Funktion ist folgende:

Zuerst wird gewartet, bis von PIND 0b00111111 eingelesen wird.

Wenn PIND über 256 Durchläufe konstant 0b00111111, dann läuft cntr über 
(255 -> 0). Dabei wird das Zero-Flag gesetzt und breq ok springt nach 
ok.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
B.K. wrote:

> Irgendwie ging es einmal und nun nicht mehr.

Was ging denn und was geht nicht mehr?


> Kann mir einer sagen ob es
> grundsätzlich überhaupt gehen würde.

Das ist ja nur ein Codefragment, welches sehr abhängig vom restlichen 
Code ist, d.h. je nach Anforderungen und Laufzeit könnte es sogar mal 
gehen.

Besser ist es, der nachfolgenden Diskussion zu folgen oder mal in die 
Artikelsammlung zu sehen:

http://www.mikrocontroller.net/articles/Entprellung


Peter

Autor: B.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ahhhh danke

Autor: BK (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte eine Parkhausanzeige realisieren mit anzeige EG und OG, halt 
wieviele autos sich dort grade befinden.

Erst ging die Anzeige EG und seit dem 2. versuch zeigt sie mir nix mehr 
an, wenn ich nun die entprellung wech nehme kommt wieder eine null und 
wenn ich taste betätige halt 20 wegen prellen.

Wenn jemand lust hat kann er sich es ja mal anschauen.

Wäre sehr dankbar.

P.S. Da ich absoluter Neuling auf diesem Gebiet bin bitte ich die 
Programmieresthetik zu vernachlässigen.


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.