Datasheet
PIC18F97J94 FAMILY
DS30575A-page 478 2012 Microchip Technology Inc.
EXAMPLE 22-4: CONVERTING A SINGLE CHANNEL 16 TIMES PER INTERRUPT
A/D Configuration:
• Select AN0 for S/H+ Input (CH0SA<4:0> = 00000)
•Select V
R- for S/H- Input (CH0NA<2:0> = 000)
• Configure for No Input Scan (CSCNA = 0)
• Use Only MUX A for Sampling (ALTS = 0)
• Set AD1IF on Every 16th Sample (SMPI<4:0> = 01111)
• Configure Buffers for Single, 16-Word Results (BUFM = 0)
Operational Sequence:
1. Sample MUX A Input AN0; Convert and Write to Buffer 0h.
2. Sample MUX A Input AN0; Convert and Write to Buffer 1h.
3. Sample MUX A Input AN0; Convert and Write to Buffer 2h.
4. Sample MUX A Input AN0; Convert and Write to Buffer 3h.
5. Sample MUX A Input AN0; Convert and Write to Buffer 4h.
6. Sample MUX A Input AN0; Convert and Write to Buffer 5h.
7. Sample MUX A Input AN0; Convert and Write to Buffer 6h.
8. Sample MUX A Input AN0; Convert and Write to Buffer 7h.
9. Sample MUX A Input AN0; Convert and Write to Buffer 8h.
10. Sample MUX A Input AN0; Convert and Write to Buffer 9h.
11. Sample MUX A Input AN0; Convert and Write to Buffer Ah.
12. Sample MUX A Input AN0; Convert and Write to Buffer Bh.
13. Sample MUX A Input AN0; Convert and Write to Buffer Ch.
14. Sample MUX A Input AN0; Convert and Write to Buffer Dh.
15. Sample MUX A Input AN0; Convert and Write to Buffer Eh.
16. Sample MUX A Input AN0; Convert and Write to Buffer Fh.
17. Set AD1IF Flag (and generate interrupt, if enabled).
18. Repeat (1-16) After Return from Interrupt.
Results Stored in Buffer (after 2 cycles):
Buffer
Address
Buffer Contents
at 1st AD1IF Event
Buffer Contents
at 2nd AD1IF Event
ADC1BUF0 AN0, Sample 1 AN0, Sample 17
ADC1BUF1 AN0, Sample 2 AN0, Sample 18
ADC1BUF2 AN0, Sample 3 AN0, Sample 19
ADC1BUF3 AN0, Sample 4 AN0, Sample 20
ADC1BUF4 AN0, Sample 5 AN0, Sample 21
ADC1BUF5 AN0, Sample 6 AN0, Sample 22
ADC1BUF6 AN0, Sample 7 AN0, Sample 23
ADC1BUF7 AN0, Sample 8 AN0, Sample 24
ADC1BUF8 AN0, Sample 9 AN0, Sample 25
ADC1BUF9 AN0, Sample 10 AN0, Sample 26
ADC1BUFA AN0, Sample 11 AN0, Sample 27
ADC1BUFB AN0, Sample 12 AN0, Sample 28
ADC1BUFC AN0, Sample 13 AN0, Sample 29
ADC1BUFD AN0, Sample 14 AN0, Sample 30
ADC1BUFE AN0, Sample 15 AN0, Sample 31
ADC1BUFF AN0, Sample 16 AN0, Sample 32