Argiris, this is what I did before. I tested with tech. scope using picmaster emulator. let experts calculate see how accurate is it. the reason I divided in two part because of I needed to have blinking led at the same time so if you needed delete "nop" put bsf port whatever then on next nop put bcf port whatever. 1secdelay movlw .10 ; load 10 movwf second ; save it nop ; nop ; clrf TMR0 ; reset timer 0 movf TMR0,W ; load timer value in w to compare XORLW .195 ; compare btfss STATUS,Z ; is it = goto $ - 3 ; no try again decfsz second,F ; skip if second = 0 goto $ - 6 ; no movlw .10 ; movwf second ; nop ; nop ; clrf TMR0 ; movf TMR0,W ; xorlw .195 ; btfss STATUS,Z ; goto $ - 3 ; decfsz second,F ; goto $ - 6 ; return ;