I tried placing @ NOP statement after SLEEP and it made no difference....MCU ran as desired in either case and power on Powerup and after 1st ISR still at 350 microamps.

Quote Originally Posted by Jerson View Post
Jellis

Can you try it this way ? What I'm suggesting is to clear the mismatch, enable the mismatch interrupt and then sleep

Code:
    IOCA = %00001000    ' Enable RA3 as on-change-INT ***this could be made permanent before main***
    ' clear the mismatch condition
    dummy = flush
    INTCON = %10001000  ' Enable interrupts: global & RABIE, but TMR0 disabled ** and RABIF is cleared **
    @ sleep
    ' Microcontroller is in Sleep State waiting for external FLUSH Interrupt
        ' Valve should be closed at this point and no water flowing
   GOTO Main    ' Loop to Main to wait for next Flush interrupt on RA3 change
I also tried changing my code just before SLEEP to this suggestion and it also made no difference in operation or power consumption.

I am at a total loss as to what to do next. I have experimented with the code in many ways to see if I can get the Powerup/SLEEP power consumption lower but without success.