mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Was ist hier falsch


Autor: Peter Zimmer (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
HAllo,
ich habe einen Assemblercode geschrieben der im Anhang ist! Er soll wenn 
die PD0 gedrückt ist die led am PB5 ausschalten!
Dieser macht es dann auch machnmal wenn ich drücken aber irgenwann hängt 
er sich auf! Manchmal erst nach dem vierten mal dann schon ganz am 
Anfang! DAnn wird die LED nur nochmal kutz heller!
Ich benutze das STK200 mit den Leuchtdioden und Taster die da drauf 
sind!
Peter

Autor: Peter Zimmer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat sich erledigt!
Jetzt habe ich noch eine andere Frage!
Am stk200 sind schon ausgänge für das LCD Display! Jetzt haben die im 
datenblatt von einem Wiederstand gesprochen. Soll ich den einlöten oder 
was das Datenblatt findet ihr hier:
http://www.atmel.com/dyn/resources/prod_documents/...
Es ist auf Seite 33 Beschrieben!

Autor: thkaiser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In solchen Fällen sollte man mal auf dem Papier durchgehen, was der 
Prozessor so macht:

:loop3: PortB auf Ausgang, da ist alles OK.
:Dann wird an loop so lange gewartet, bis PIND(0) high wird (sbis = 
Sprung, wenn Bit =1). Auch OK.
:loop2: solange der Portpin (D:0) 1 ist, springt er zu loop3 = 
Hauptschleife.
Und da liegt er begraben: Solange der Kontakt prellt, scheint das zu 
funktionieren. Denn wenn in loop2 die Bedingung PIND(0) = 0 erreicht 
wird, springt er einen Befehl weiter - und das ist die Endlosschleife am 
Ende = er tut nix mehr.

loop:  sbis PIND,0
       rjmp loop
       cbi PORTB,3
loop2: sbic PIND,0
       rjmp loop2
       rjmp loop3

So sollte es funktionieren. Den Endlosloop am Ende braucht man in diesem 
speziellen Fall nicht.

Übrigens: der "." ist zwischen "," und "-" rechts unten auf der Tastatur 
- Hier fliegen einem ja die Ohren weg, bei diesen vielen 
Ausrufezeichen... g

Autor: thkaiser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ging jetzt parallel....

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.