4x4-Matrix aus Tasten an Port B - Auswertung geht nicht

Gast #343808
Lesenswert?
• ▲
▼
Hallo zusammen,

ich habe 14 Tasten als 4x4 Matrix verschaltet und habe die 8 Kabel an
den Port B angeschlossen.

Als erste initialisiere ich den Port folgendermaßen:

ldi  akku, 0b00001111
out  PORTB,akku

ldi  akku, 0b11110000
out  DDRB, akku

sbis   PINB,0
rcall  PB0i

sbis   PINB,1
rcall   PB1i

sbis   PINB,2
rcall   PB2i

sbis   PINB,3
rcall   PB3i


Bei der Auswertung springe ich dann in ein Unterprogramm, welches
folgendermaßen aussieht:



PB1i:  ldi  akku, 0b11110000
  out  PORTB, akku

  ldi  akku, 0b00001111
  out  DDRB, akku

  sbis  PINA, 4
  rcall  PRESET1

  sbis  PINA, 5
  rcall  PRESET1

  sbis  PINA, 6
  rcall  PRESET1

  sbis  PINA, 7
  rcall  PRESET1

  ret

Aber irgendwie macht das komplette Zeugs nur Probleme. Ich kann noch
nicht einmal richtig sagen, was der Fehler ist.

Da ich Assembler programmiere und C (noch) nicht kann, bitte keine
Hinweise auf C#-Lösungen. ;-)

Im Voraus vielen Dank für jegliche Hilfe.

Gruß
Markus
Gast #343810
Lesenswert?
• ▲
▼
Was verstehst du unter Schaltung?

Was ich inzwischen gemerkt habe: die erste Auswertungsroutine (sie ist
mein Hauptprogramm) funktioniert. Die Unterroutinen für die 2.
Auswertung werden aufgerufen. Ab hier hakt es. Diese Auswertung
funktioniert nicht.

Hilft das weiter?
Gast #343812
Lesenswert?
• ▲
▼
Ich habe den Fehler gefunden:

man sollte auch in den Unterroutinen Port B ansprechen und nicht Port
A.

Ich glaube die schwüle Hitze heute hat mein Gehirn lahmgelegt. ;-)

Sorry für dieses sinnlose Posting und danke Bernhard, dass du versucht
hast mir zu helfen. :-)
Aber nach meiner Erleuchtung funktioniert es endlich. Und dafür habe
ich über 3 Stunden meines Lebens vergeudet... ;-)

Nochmals danke und Gruß
Markus

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.