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
Lesezeichen