Assembler Problem bei der Verwendung eines Tasters

Patter

Neues Mitglied
23. Juni 2011
1
0
0
Sprachen
Hallo,

wir verwenden einen AtMega8515 und programmieren diesen in Assembler mit dem AVRStudio. Am 0. Bit von PinD liegt unser Schalter. Er ist low-aktiv.

Das Datendirektionsregister wird gesetzt:
Code:
ldi tmp, 0b00000110 ;Die Pins 1 und 2 sind LEDs, daher Ausgang
out ddrd, tmp

Dann gibt es eine Schleife:

Code:
main:
  in tmp, pind
  sbrs pind, 0
  rcall neuberechnung;delay  
rjmp main
Wir lesen also ständig den Pind ein. Solange der 0. Bit gesetzt (unser Schalter also nicht gedrückt) ist, überspringen wir den Rcall. Sobald unser Taster gedrückt wird, soll der RCall ausgeführt werden.

In der Simulation funktioniert das ganz gut. Auf dem Chip leider nicht.
Wir haben weder sonderlich viel Erfahrung, noch Lösungen für dieses Problem (in Assembler) im Internet gefunden und sind daher dankbar für jede Hilfe.

Danke im Voraus :adore:
Mit freundlichen Grüßen
Patter

EDIT: Wir haben nun das Problem selbst lösen können, indem wir die Pull-Up-Widerstände zum Beginn eingestellt haben.
Code:
	ldi tmp, 0b00001111
	out portd, tmp
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)