hallo alle zusammen, ich habe mal wieder eine frage. ich habe wie gesagt erst vor kurzem angefangen mit pics zu programmieren und teste jetzt ein bißchen herum. MAIN BTFSC PORTA,SW1 GOTO leuchten GOTO MAIN leuchten MOVLW B'00111111' MOVWF PORTB RETURN END so sieht mein programm bis jetzt aus. die leds sollen einfach leuchten, wenn ich einmal auf den taster drücke. sie gehen aber immer aus, wenn den taster wieder loslasse. kann mir jemand erklären wieso? danke schon mal gruß paul
benutz einen Simulator/Debugger dann siehst und lernst du es Bit für Bit,Schritt für Schritt. Scheint so als wenn die Ausgangslatch die Bit-Information nicht speichern. Vielleicht ist dafür ein anderer Mov-Befahl nötig? Hab da leider keine Erfahrung mit,würde aber mal in diese Richtung forschen. Ohne Latch würden dann die Bits wieder gelöscht wenn durch den Mov-Befahl keine Ausgabe erfolgt.Übrigens werden die Led`s wohl gepulst wenn man die Taste gedrückt läßt. Eigentlich müßte es so gehen,verstehe leider auch nicht wieso. Ist eben nur ein Schuß ins Blaue. Poste mal wenn du das Problem gelöst hast oder nicht. Lötkünstler <Mit der Lizenz zum löten>
Hallo ersetze mal dein return durch ein goto leuchten Gruß Daniel PS: ist das dein ganzer Code? Edit: Die Leds sollen ja nach dem druck auf den taster dauerhaft leuchten oder?
Irgendwie fehlt da noch das setzen vom TRISB Register. Der PIC schaltet die Pins nicht von alleine auf Ausgänge um. Dein geposteter Code ist also SCHWACHSINN oder einfach nicht komplett. Die LEDs können so auf keinen Fall leuchten. Das ist nicht der Code den du verwendet hast. Und merke: Kein RETURN ohne CALL. Kein CALL ohne RETURN..
MAIN BTFSC PORTA,SW1 call leuchten GOTO MAIN leuchten MOVLW B'00111111' MOVWF PORTB RETURN END Ich hab noch mal in meine Bücher geschaut. Goto ist ein unbedingter Sprung (ohne Rückkehr) Call ist ein Unterprogrammaufruf (mit Rückkehr(Return)) Kann es sein das der Port nicht auf Ausgang initialisiert ist? (Macht man mit dem Tris-Befehl) Ich glaube ,wenn der Port als Eingang programmiert ist wird ein Schreiben in das Ausgangsregister nicht gelatcht und daher gehen die Led`s wohl wieder aus. Ohne Debugging/Simulation käme ich allerdings auch nicht weiter. Lötkünstler <mit der Lizenz zum löten>
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.