Gracias por responder, no hay un lugar fijo donde se queda colgado, lo que observé es que cuando pongo menos call anda bien, unos 15 minutos, es una plaqueta para controlar un lavarropa automático.
este sería el programa corto unos 35 minutos:
;================SECUENCIA PROGRAMA CORTO====================================================
selec1 bsf led_1
bcf led_2
bcf led_3
call retardo2
btfsc acepto
goto test
call rebote
btfsc acepto
goto test
bcf led_1
bcf led_2
bcf led_3
call inter10
call inter10
call inter10
bsf led_1
call presostato1
call lavado
call lavado
call min_1
call min_1
call lavado
call lavado
call seg5
call b_descarga
call presostato1
call lavado
call lavado
call seg5
call press_c
call centrifugado
call seg10
call seg5
call b_descarga
call presostato1 ;Activar Válvula de suavizante cuando consiga el codito de plástico
call lavado
call lavado
call seg5
call press_c
call centrifugado
call seg10
call seg5
call b_descarga
bcf portb,5
fin_ call rotandof
goto fin_
Retardo:
;-------------------rutina retardo giro-------------------
retardo movlw 47 ; Aquí se cargan los registros
movwf reg1 ; reg1, reg2 y reg3
tres movlw 47 ; respectivamente
movwf reg2
dos movlw 47
movwf reg3
uno decfsz reg3,1 ;Aquí se comienza a decrementar
goto uno ; Cuando reg3 llegue a 0
btfsc acepto ;Apagado
goto reg_dos
call rebote_a
btfsc acepto
goto reg_dos
goto apaga
reg_dos decfsz reg2,1 ; le quitare 1 a reg2
goto dos ; cuando reg2 llegue a 0
btfsc acepto ;Apagado
goto reg_tres
call rebote_a
btfsc acepto
goto reg_tres
goto apaga
reg_tres decfsz reg1,1
goto tres
retlw 00
;-------------------rutina retardo giro-------------------
retardo2 movlw 21
movwf reg1
tres_ movlw 21
movwf reg2
dos_ movlw 21
movwf reg3
uno_ decfsz reg3,1
goto uno_
decfsz reg2,1
goto dos_
decfsz reg1,1
goto tres_
retlw 00
;------------------------------retardol
retardol movlw 30
movwf reg1
tresl movlw 30
movwf reg2
dosl movlw 30
movwf reg3
unol decfsz reg3,1
goto unol
decfsz reg2,1
goto dosl
decfsz reg1,1
goto tresl
retlw 00
;--------------fin del programa-----------------------
end
Será que en la subrrutina "retardo" cuando se va decrementando los registro agrego unas lineas para chequear que si se pulsa un pulsador durante 3seg aproximadamente se apague?
eso anda bien, porque l puedo apagar en cualquier momento, cuando gira el motor, la electrobomba, cuando carga, anda de diez, ahora no se si eso causa la pardida del pic.
Gracias amigos