Forum: Mikrocontroller und Digitale Elektronik Tasterentprellung in assembler


von Jemand (Gast)


Lesenswert?

hi
ich hab ne tasterentprellung in assembler geschrieben die auf die 0-1
flanke wartet
bloß irgendwie geht sie nicht
es blinkt dann mit 50Hz
kann mir jemand sagen wieso und was ich ändern muss??
hier der code: http://www.jemand.dreamworld.cd/t3.asm

Danke schonmal
Jemand

von Peter D. (peda)


Lesenswert?

"die auf die 0-1 flanke wartet"

Stimmt nicht, Du testest nur ob gedrückt.
Wenn Du die Flanke erkennen willst, dann mußt auch testen, ob vorher
losgelassen wurde.


Wenn Du allerdings nicht das Fahrrad nochmal neu erfinden willst,
kannst Du auch eine vielfach bewährte Lösung nehmen:

http://www.mikrocontroller.net/forum/read-4-20549.html#new


Der große Vorteil ist, daß das Warten im Timerinterrupt erfolgt.
Dadurch wird der Programmfluß nicht gestoppt, d.h. man kann weitere
Sachen im Programm machen.



Peter

von Jemand (Gast)


Lesenswert?

Doch tu ich
ich speicher in r17 ob vorher gedrück wennz noch niemandem aufgefallen
ist
hier ist mal ein schema:
t gedrückt?
nein: nicht gedrückt speichern und zurück nach loop
ja: delay - verher null?: nein: zurück nach loop
                                         ja:event -> geddrückt
speichern -> nach loop

aber wieso gehtz nicht??

von Peter D. (peda)


Lesenswert?

"ich speicher in r17 ob vorher gedrück"

Wolltest du vielleicht, tust Du aber nicht

Schau Dir mal die Syntax der SBR und CBR-Befehle an, in Deinem Fall
wirken sie nämlich wie NOPs.



Peter

von Jemand (Gast)


Lesenswert?

ach na sowas
hab immer gedacht man gibt da auch die bitnummer an wie bei sbrs
naja gut
dnake jedenfalls
es geht jetzt

Jemand

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.