Forum: Mikrocontroller und Digitale Elektronik Was ist hier falsch


von Peter Zimmer (Gast)


Angehängte Dateien:

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

von Peter Zimmer (Gast)


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/DOC1107.PDF
Es ist auf Seite 33 Beschrieben!

von thkaiser (Gast)


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

von thkaiser (Gast)


Lesenswert?

Das ging jetzt parallel....

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.