User guide
DS4830A User’s Guide 
    63 
7.3 – ADC Code Examples 
7.3.1 – One Sequence of 4 Voltage Conversions for Ch0 (Diff), Ch1 (Diff), Ch14 (Single), and Ch15 (Single) 
PINSEL = 0xC00F; //Configure Pin as ADC Ch0 (Diff), Ch1 (Diff), Ch14 (Single) and Ch15(Single) 
REFAVG_bit.INTREF = 1;  //Enable ADC internal reference 
 for(iCounter = 0; iCounter < 1000; iCounter++); //Wait ~1ms to settle ADC internal reference 
ADCN_bit.ADCONT = 0;  //run a single conversion sequence 
ADST_bit.ADCFG = 1;  //set ADDATA for configuration (ADCFG) 
ADST_bit.ADIDX = 0;  //ADIDX = 0, set to ADCFG [0] 
ADDATA = 0x0020;  //ADCFG [0]: Differential voltage, CH0, 1.2V FS, Right Aligned 
ADDATA = 0x2021;  //ADCFG [1]: Differential voltage, CH1, 0.6V FS, Right Aligned 
ADDATA = 0x400E;  //ADCFG [2]: Single voltage, CH14, 2.4V FS, Right Aligned 
ADDATA = 0x600F;  //ADCFG [3]: Single voltage, CH15, 6.55V FS, Right Aligned 
ADST_bit.ADCFG = 0;  //set ADDATA to data buffer 
ADADDR_bit.ADSTART = 0;  //start sequence with ADCFG [0] 
ADADDR_bit.ADEND = 3;  //end sequence with ADCFG [3] 
 ADST_bit.ADCONV = 1;  //start the conversions 
while (!ADST_bit.ADDAI);  //wait for conversions to complete 
ADST_bit.ADDAI = 0; //Clear ADDAI flag 
ADST_bit.ADIDX = 0;  //set ADDATA to data buffer [0] 
ch0_volt = ADDATA;  //read and store ch0 voltage to variable 
ch1_volt = ADDATA;  //read and store ch1 voltage to variable 
ADST_bit.ADIDX = 14;  //set ADDATA to data buffer [14] (according to channel number) 
ch14_volt = ADDATA;  //read and store ch14 voltage to variable 
ch15_volt = ADDATA;  //read and store ch15 voltage to variable 
7.3.2 – Continuous Conversion of 16 Samples of Ch0 with Location Override 
PINSEL = 0x0003; //Configure Pins as ADC Ch0 (Diff) 
REFAVG_bit.INTREF = 1;  //Enable ADC internal reference 
 for(iCounter = 0; iCounter < 1000; iCounter++); //Wait ~1ms to settle ADC internal reference 
ADCN_bit.ADCONT = 1;  //run a continuous conversion sequence 
ADCN_bit.LOC_OVR = 1;  //location override enable 
ADST_bit.ADCFG = 1;  //set ADDATA as configuration (ADCFG) 
ADST_bit.ADIDX = 0;  //ADIDX = 0, set to ADCFG [0] 
ADDATA = 0x0020;  //ADCFG [0]: Differential voltage, CH0, 1.2 V FS, Right Aligned and Location override 0 
ADDATA = 0x0120;  //ADCFG [1]: Differential voltage, CH0, 1.2 V FS, Right Aligned and Location override 1 
ADDATA = 0x0220;  //ADCFG [2]: Differential voltage, CH0, 1.2 V FS, Right Aligned and Location override 2  
ADDATA = 0x0320;  //ADCFG [3]: Differential voltage, CH0, 1.2 V FS, Right Aligned and Location override 3 
ADDATA = 0x0420;  //ADCFG [4]: Differential voltage, CH0, 1.2 V FS, Right Aligned and Location override 4 
ADDATA = 0x0520;  //ADCFG [5]: Differential voltage, CH0, 1.2 V FS, Right Aligned and Location override 5  
ADDATA = 0x0620;  //ADCFG [6]: Differential voltage, CH0, 1.2 V FS, Right Aligned and Location override 6 
ADDATA = 0x0720;  //ADCFG [7]: Differential voltage, CH0, 1.2 V FS, Right Aligned and Location override 7 
ADDATA = 0x0820;  //ADCFG [8]: Differential voltage, CH0, 1.2 V FS, Right Aligned and Location override 8 
ADDATA = 0x0920;  //ADCFG [9]: Differential voltage, CH0, 1.2 V FS, Right Aligned and Location override 9 
ADDATA = 0x0A20;  //ADCFG [10]: Differential voltage, CH0, 1.2 V FS, Right Aligned and Location override 10  
ADDATA = 0x0B20;  //ADCFG [11]: Differential voltage, CH0, 1.2 V FS, Right Aligned and Location override 11  
ADDATA = 0x0C20;  //ADCFG [12]: Differential voltage, CH0, 1.2 V FS, Right Aligned and Location override 12  
ADDATA = 0x0D20;  //ADCFG [13]: Differential voltage, CH0, 1.2 V FS, Right Aligned and Location override 13  
ADDATA = 0x0E20;  //ADCFG [14]: Differential voltage, CH0, 1.2 V FS, Right Aligned and Location override 14 
ADDATA = 0x0F20;  //ADCFG [15]: Differential voltage, CH0, 1.2 V FS, Right Aligned and Location override 15 










