I had an A/D conversion routine for an F876 that was working when I just polled the go/!done bit. Then I was reading the midrange manual at it said I may have less noise if I put the PIC to sleep while the conversion was taking place. I changed the routine to do that by putting the PIC to sleep, enabling the ADC interrupt, and changing the A/D clock to RC, but the PIC never wakes up until the WDT times out. The A/D interrupt never happens. What am I doing wrong? Do I really get that much less noise? Should I just go back to polling? Get_ADC_Result bsf PIE1, ADIE ;enable A/D inturrupt bsf INTCON, GIE ; DELAY MOVLW D'22' ; 68 cycle delay (20 uS A/D acquistion time) MOVWF COUNTER DECFSZ COUNTER,F GOTO $-1 bcf PIR1, ADIF ;clear A/D interrupt bsf ADCON0,GO ;Start A/D conversion sleep ; go to sleep to perform AD conversion; movf ADRESH, W ;save ADC result mowf ADRES return