If you look into .lst file you can find label called NAP.
Here is copy/paste of code that deal with WDTCON
So every time you go to nap, PBP set SWDTEN, nap for while, and then restore value that was before going to nap.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
IF you_wait_for_IOC THEN
WDTCON.0=0 'Disable WDT
@ Sleep
Else
Nap 1
ENDIF




Bookmarks