If you look into .lst file you can find label called NAP.
Here is copy/paste of code that deal with WDTCON
Code:
movwf FSR0H ; Save period somewhere for a moment
movlb WDTCON >> 7 ; Point to bank
movf WDTCON, W ; Save current WDTCON value
movwf FSR0L
lslf FSR0H, W ; Get saved period and rotate it into position
iorlw 1 ; Set software WDT on
movwf WDTCON ; Set WDTCON
sleep ; Enter sleep mode
movf FSR0L, W ; Reset WDTCON to saved value
movwf WDTCON
So every time you go to nap, PBP set SWDTEN, nap for while, and then restore value that was before going to nap.
IF you_wait_for_IOC THEN
WDTCON.0=0 'Disable WDT
@ Sleep
Else
Nap 1
ENDIF
Bookmarks