mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Tastenproblem Atmega16


Autor: R--- S--- (rene66)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe hier ein Tastenproblem mit einer etwas unglücklichen Pinnbelegung.

Port A 3-7 Taste 1-5 und Port C7 Tate 6

Ich habe mir jetzt asm folgenden Code einfallen lassen.
Taste_2:clr  templ
        sbic PinC,7
    ldi  templ,0b00100000
        in   temph,tastA  ;PortA 3-7
    andi temph,0b11111000
    lsr  temph ; 2 x Rechtsschieben
    lsr  temph
    lsr  temph
        or   templ,temph
    com  templ
    andi templ,0b00111111
    tst  templ
    mov  tast_now,templ
    breq Tast_null
    rcall Delay
    clr  templ
        sbic PinC,7
    ldi  templ,0b00100000
        in   temph,tastA  ;PortA 3-7
    andi temph,0b11111000
    lsr  temph ; 2 x Rechtsschieben
    lsr  temph
    lsr  temph
        or   templ,temph
    com  templ
    andi templ,0b00111111
        tst  templ
    breq Tast_null
    cp  tast_now,templ
    brne tast_null
        sts tast,templ
    ret
        




tast_null: clr templ
           sts tast,templ
       ret

im Simulator geht auch alles so wie es soll in der Praxis auch Taste 1-5 
problemlos. Nur wenn ich taste 6 (PortC,7) Drücke bleibt die Taste 
"hängen" und springt erst nach ca. 5 sec wieder auch Null (Var tast).

keine ahnung was das sein soll?

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>keine ahnung was das sein soll?

Tastenentprellungen mit delay ist immer Murks. Gucke dir mal in der 
Codesammlung entsprechende Beispiele dazu an.

Autor: R--- S--- (rene66)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Info

"Ein Delay sollte es schon sein"
bei Tasten 1-5 gehts ja auch Problemlos.

Autor: Das delay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Tastenentprellungen mit delay ist immer Murks
Warum?

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.