poojapatel2210
New Member
Delay1Sec:
movlw 0x01
DelayXSec:
movwf SecCntr
DelayXSec_1:
call SetDel1Sec
SetDel1Sec:
call SetBank1
movlw 0x07
iorwf OPTION_REG,f ;set prescaler to /256
call SetBank0
movlw 0x0A ; [1/(250000/4/256)]*245=1S
movwf TMR0
bcf INTCON,T0IF ;clear timer overflow flag
return
DelayXSec_2:
btfss INTCON,T0IF ;check for overflow
goto DelayXSec_2
movlw 0x0A ; [1/(250000/4/256)]*245=1S
movwf TMR0
bcf INTCON,T0IF
movlw 0x07
andwf SecCntr,f ;mask unused bits first
decfsz SecCntr,f
goto DelayXSec_2
return
https://ww1.microchip.com/downloads/en/DeviceDoc/40001413E.pdf
movlw 0x01
DelayXSec:
movwf SecCntr
DelayXSec_1:
call SetDel1Sec
SetDel1Sec:
call SetBank1
movlw 0x07
iorwf OPTION_REG,f ;set prescaler to /256
call SetBank0
movlw 0x0A ; [1/(250000/4/256)]*245=1S
movwf TMR0
bcf INTCON,T0IF ;clear timer overflow flag
return
DelayXSec_2:
btfss INTCON,T0IF ;check for overflow
goto DelayXSec_2
movlw 0x0A ; [1/(250000/4/256)]*245=1S
movwf TMR0
bcf INTCON,T0IF
movlw 0x07
andwf SecCntr,f ;mask unused bits first
decfsz SecCntr,f
goto DelayXSec_2
return
https://ww1.microchip.com/downloads/en/DeviceDoc/40001413E.pdf