PIC16F627 , Warteschleife

OP #819790
Lesenswert?
• ▲
▼
Hey an alle!
Hab ein Problem mit ner Warteschleife.. Hab ein vorhandene Warteschleife 
erweitert ,indem ich die Warteschleife 250ms erneut 4mal wiederholen 
lasse. Dies funktioniert aber nicht ganz. Die LED wird zwar gesetzt wird 
aber nie ausgeschaltet. Das komplette Programm liegt bei.
Meine Vorhergehensweise in der Warteschleife:

WAIT4    MOVLW  D'4'
    MOVWF  TIMER3

WAIT1    MOVLW  D'250'  ; Konstante 250ms wird eingefügt
    MOVWF  TIMER1

WAIT2    MOVLW  D'110'  ; Konstante 1ms wird eingefügt
    MOVWF  TIMER2

WAIT3    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    DECFSZ  TIMER2,1  ; (1ms)
    GOTO  WAIT3

    DECFSZ  TIMER1,1  ; (250ms)
    GOTO  WAIT2

    DECFSZ  TIMER3,1  ; (2s)
    GOTO  WAIT4

    RETLW  0

Diese TIMER1 / 2 sind doch nicht die PIC Timer oder? das sind lediglich 
Register indenen ich die Zahlenwerte einlade die in der Warteschleife 
verringert werden bis sie 0 sind.
Hoffe ihr könnt mir helfen..
Bye
Angehängte Dateien:
OP #820119
Lesenswert?
• ▲
▼
Joa danke für deine message..
hab das wait4 durch wait3 getauscht..

decfsz  Timer3,f
goto    wait3

und auch noch einen fehler gefunden..
bei der main-Routine :

Loop    BSF  PORTB,0    ; LED an
    Call  WAIT4    ; ZEITVerzögerung
    BCF  PORTB,0    ; LED aus
    GOTO  Loop    ; ZEITVerzögerung <----
    Call  WAIT4
    End


Da darf der GOTO Loop befehl nicht sein, so wird die LED eine Zeit lang 
eingeschaltet aba nur kurz aus weil der GOTO befehl direkt wieder 
einschaltet..

Richtig lautet es nu:

Loop    BSF  PORTB,0    ; LED an
    Call  WAIT4    ; ZEITVerzögerung
    BCF  PORTB,0    ; LED aus
    Call  WAIT4           ; ZEITVerzögerung <----
    End

War wohl nen dummer Anfängerfehler..
Nun denn danke

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.