Datasheet

PIC18F97J94 FAMILY
DS30575A-page 484 2012 Microchip Technology Inc.
EXAMPLE 22-7: CONVERTING TWO INPUTS BY ALTERNATING MUX A AND MUX B
A/D Configuration:
Select AN1 for MUX A S/H+ Input (CH0SA<4:0> = 00001)
•Select V
R- for MUX A S/H- Input (CH0NA<2:0> = 000)
Configure for No Input Scan (CSCNA = 0)
Select AN15 for MUX B S/H+ Input (CH0SB<4:0> = 11111)
•Select V
R- for MUX B S/H- Input (CH0NB<2:0> = 000)
Alternate MUX A and MUX B for Sampling (ALTS = 1)
Set AD1IF on Every 8th Sample (SMPI<4:0> = 00111)
Configure Buffer as Two, 8-Word Segments (BUFM = 1)
Operational Sequence:
1. Sample MUX A Input AN1; Convert and Write to Buffer 0h.
2. Sample MUX B Input AN15; Convert and Write to Buffer 1h.
3. Sample MUX A Input AN1; Convert and Write to Buffer 2h.
4. Sample MUX B Input AN15; Convert and Write to Buffer 3h.
5. Sample MUX A Input AN1; Convert and Write to Buffer 4h.
6. Sample MUX B Input AN15; Convert and Write to Buffer 5h.
7. Sample MUX A Input AN1; Convert and Write to Buffer 6h.
8. Sample MUX B Input AN15; Convert and Write to Buffer 7h.
9. Set AD1IF Flag (and generate interrupt, if enabled); Write Access Automatically
Switches to Alternate Buffer.
10. Repeat (1-9); Resume Writing to Buffer with Buffer 8h (first address of alternate buffer).
Results Stored in Buffer (after 2 cycles):
Buffer
Address
Buffer Contents
at 1st AD1IF Event
Buffer Contents
at 2nd AD1IF Event
ADC1BUF0 Sample 1 (AN1, Sample 1) (undefined)
ADC1BUF1 Sample 2 (AN15, Sample 1) (undefined)
ADC1BUF2 Sample 3 (AN1, Sample 2) (undefined)
ADC1BUF3 Sample 4 (AN15, Sample 2) (undefined)
ADC1BUF4 Sample 5 (AN1, Sample 3) (undefined)
ADC1BUF5 Sample 6 (AN15, Sample 3) (undefined)
ADC1BUF6 Sample 7 (AN1, Sample 4) (undefined)
ADC1BUF7 Sample 8 (AN15, Sample 4) (undefined)
ADC1BUF8 (undefined) Sample 9 (AN1, Sample 5)
ADC1BUF9 (undefined) Sample 10 (AN15, Sample 5)
ADC1BUFA (undefined) Sample 11 (AN1, Sample 6)
ADC1BUFB (undefined) Sample 12 (AN15, Sample 6)
ADC1BUFC (undefined) Sample 13 (AN1, Sample 7)
ADC1BUFD (undefined) Sample 14 (AN15, Sample 7)
ADC1BUFE (undefined) Sample 15 (AN1, Sample 8)
ADC1BUFF (undefined) Sample 16 (AN15, Sample 8)