Hola amigos, tengo problemas con 1 programilla q a mi juicio deberia ir perfectamente, se trata de q cada vez q cambie el estado de RA3 el motor avance 1 paso, pero resulta q siempre q paro de cambiar el estado de RA3 las salidas del portB vuelven a su origen 1010, como si el programa volviese al principio, como podria solucionar esto?,si lo podeis probar creo q vereis mejor a lo q me refiero;os envio el programa y gracias por todo de antemano, un saludo a todos:
list P=16F84a
list C=132
porta equ 5
trisa equ 5
portb equ 6
trisb equ 6
status equ 3
z equ 02h
RETARDO equ 0dh
org 0
goto inicio
org 5
inicio bsf status, 5
movlw b"00001111"
movwf trisa
movlw b"00000000"
movwf trisb
bcf status, 5
ini movlw b"00001010"
movwf portb
call clock
call rebote
movlw b"00001001"
movwf portb
call clock
call rebote
movlw b"00000101"
movwf portb
call clock
call rebote
movlw b"00000110"
movwf portb
call clock
call rebote
goto ini
;*****************************************************************
clock btfss porta,3
goto cero
goto uno
uno call rebote
btfsc porta,3
goto uno
call rebote
return
cero call rebote
btfss porta,3
goto cero
call rebote
return
;*****************************************************************
rebote MOVLW 0FFH
MOVWF RETARDO
REBO DECFSZ RETARDO,F
GOTO REBO
return
end