Microchip Technology DM183037 データシート

ページ / 696
PIC18F97J94 FAMILY
DS30575A-page 480
 2012 Microchip Technology Inc.
EXAMPLE 22-5:
SCANNING AND CONVERTING ALL 16 CHANNELS PER SINGLE INTERRUPT
A/D Configuration:
• Select Any Channel for S/H+ Input (CH0SA<4:0> = xxxxx)
• Select  V
R
- for S/H- Input (CH0NA<2:0> = 000) 
• Use Only MUX A for Sampling (ALTS = 0)
• Configure MUX A for Input Scan (CSCNA = 1)
• Include All Analog Channels in Scanning (AD1CSSL = 1111 1111 1111 1111)
• 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 AN1; Convert and Write to Buffer 1h.
3.
Sample MUX A Input AN2; Convert and Write to Buffer 2h.
4.
Sample MUX A Input AN3; Convert and Write to Buffer 3h.
5.
Sample MUX A Input AN4; Convert and Write to Buffer 4h.
6.
Sample MUX A Input AN5; Convert and Write to Buffer 5h.
7.
Sample MUX A Input AN6; Convert and Write to Buffer 6h.
8.
Sample MUX A Input AN7; Convert and Write to Buffer 7h.
9.
Sample MUX A Input AN8; Convert and Write to Buffer 8h.
10. Sample MUX A Input AN9; Convert and Write to Buffer 9h.
11. Sample MUX A Input AN10; Convert and Write to Buffer Ah.
12. Sample MUX A Input AN11; Convert and Write to Buffer Bh.
13. Sample MUX A Input AN12; Convert and Write to Buffer Ch.
14. Sample MUX A Input AN13; Convert and Write to Buffer Dh.
15. Sample MUX A Input AN14; Convert and Write to Buffer Eh.
16. Sample MUX A Input AN15; 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
Sample 1 (AN0, Sample 1)
Sample 17 (AN0, Sample 2)
ADC1BUF1
Sample 2 (AN1, Sample 1)
Sample 18 (AN1, Sample 2)
ADC1BUF2
Sample 3 (AN2, Sample 1)
Sample 19 (AN2, Sample 2)
ADC1BUF3
Sample 4 (AN3, Sample 1)
Sample 20 (AN3, Sample 2)
ADC1BUF4
Sample 5 (AN4, Sample 1)
Sample 21 (AN4, Sample 2)
ADC1BUF5
Sample 6 (AN5, Sample 1)
Sample 22 (AN5, Sample 2)
ADC1BUF6
Sample 7 (AN6, Sample 1)
Sample 23 (AN6, Sample 2)
ADC1BUF7
Sample 8 (AN7, Sample 1)
Sample 24 (AN7, Sample 2)
ADC1BUF8
Sample 9 (AN8, Sample 1)
Sample 25 (AN8, Sample 2)
ADC1BUF9
Sample 10 (AN9, Sample 1)
Sample 26 (AN9, Sample 2)
ADC1BUF10
Sample 11 (AN10, Sample 1)
Sample 27 (AN10, Sample 2)
ADC1BUF11
Sample 12 (AN11, Sample 1)
Sample 28 (AN11, Sample 2)
ADC1BUF12
Sample 13 (AN12, Sample 1)
Sample 29 (AN12, Sample 2)
ADC1BUF13
Sample 14 (AN13, Sample 1)
Sample 30 (AN13, Sample 2)
ADC1BUF14
Sample 15 (AN14, Sample 1)
Sample 31 (AN14, Sample 2)
ADC1BUF15
Sample 16 (AN15, Sample 1)
Sample 32 (AN15, Sample 2)