-         
+ Antworten
Ergebnis 1 bis 6 von 6

Thema: TMR0 auf 131 setzen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    09.08.2004
    Alter
    38
    Beiträge
    77

    TMR0 auf 131 setzen

    hi leute
    ich habe bei sprut gelesen das wenn ich den tmr0 auf einen wert setzen muss den erstmal auf movlw 0x83 und dann mit movwf tmr0 da speichern.
    ist das richtig den als ichs ausprobiert hab gings nicht.

    ich brauche diesen als tmr0 offset.
    timer0 offset ist 131
    prescaller ratio 16
    bei einem osci 4MHz
    und da kommte 2ms raus

    könnt ihr mir da helfen

    danke im vorraus

    mfg d.stolarek
    ---

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    20.06.2004
    Beiträge
    256
    movlw 0x83
    movwf TMR0

    --> ist richtig, funktioniert und ergibt bei den Werten ca. 2ms.

    BlackBox

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    09.08.2004
    Alter
    38
    Beiträge
    77
    also ich weiss was passiert ist
    ich hab eine sehr wichtigen punkt bei mir vergessen
    ich musste schon wieder die bank wechseln
    also jetzt läufts bei mir

    danke blackbox fuer deine antwort

    ---

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    09.08.2004
    Alter
    38
    Beiträge
    77
    das problem was ich jetzt hab ist, das ich nun eine art schleife machen will
    die schaut was ist drin in tmr0

    TIMER
    .
    .
    .
    BTFSC TMR0, 0xFF
    GOTO NEXT
    GOTO TIMER
    .
    .
    .
    NEXT

    ich weiss aber nich obs richtig ist und das witzige ist der springt immer zu dem unteren auch wenn er den wert 0xFF erreicht

    bitte helft mir
    danke im vorraus

    ---

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    20.06.2004
    Beiträge
    256
    Wie wärs mit dem Studium de Befehlssatzes?

    BTFSC prüft ein Bit und nicht ein Register auf einen Wert.

    Sinnvoll wäre den Timer-Interupt zu verwenden. Wenn Du es aber unbedingt so machen willst, dann geht das nur über einen Umweg.
    z.B. So:

    Code:
    movlw 1
    
    Timer
    ..
    addwf TMR0,w  ; +1 ergibt 0x00 in w, wenn TMR0=0xFF
    btfss STATUS,Z  ; Sprung, wenn Z-Flag gesetzt
    goto Timer
    Goto Next
    Denke aber daran, dass TMR0 nur 16 Befehlszyklen auf einem Wert bleibt. Eine solche Auswertung ist daher nicht zu empfehlen. Die 2ms sind übrigens erst beim Überlauf von 0xff auf 0x00 um.

    BlackBox

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    09.08.2004
    Alter
    38
    Beiträge
    77
    ich weiss das der überlauf erst nach der gesamten zeit ist und da dann erst die 2ms sind das ist auch das was ich benötige
    und danke für den vorschlag ich werds bei mir versuchen
    ---

+ Antworten

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •