47 void ADC_open (
unsigned long int ADC_enable_channel){
49 #ifdef ADC_MODULE_TYPE_1
68 #ifdef ADC_MODULE_TYPE_2
69 ANSELAbits.ANSA0 = (ADC_enable_channel &
ADC_CH0) && 0x01;
70 ANSELAbits.ANSA1 = (ADC_enable_channel &
ADC_CH1) && 0x01;
71 ANSELAbits.ANSA2 = (ADC_enable_channel &
ADC_CH2) && 0x01;
72 ANSELAbits.ANSA3 = (ADC_enable_channel &
ADC_CH3) && 0x01;
73 ANSELAbits.ANSA5 = (ADC_enable_channel &
ADC_CH4) && 0x01;
74 ANSELEbits.ANSE0 = (ADC_enable_channel &
ADC_CH5) && 0x01;
75 ANSELEbits.ANSE1 = (ADC_enable_channel &
ADC_CH6) && 0x01;
76 ANSELEbits.ANSE2 = (ADC_enable_channel &
ADC_CH7) && 0x01;
78 ANSELBbits.ANSB2 = (ADC_enable_channel &
ADC_CH8) && 0x01;
79 ANSELBbits.ANSB3 = (ADC_enable_channel &
ADC_CH9) && 0x01;
80 ANSELBbits.ANSB1 = (ADC_enable_channel &
ADC_CH10) && 0x01;
81 ANSELBbits.ANSB4 = (ADC_enable_channel &
ADC_CH11) && 0x01;
82 ANSELBbits.ANSB0 = (ADC_enable_channel &
ADC_CH12) && 0x01;
83 ANSELBbits.ANSB5 = (ADC_enable_channel &
ADC_CH13) && 0x01;
84 ANSELCbits.ANSC2 = (ADC_enable_channel &
ADC_CH14) && 0x01;
85 ANSELCbits.ANSC3 = (ADC_enable_channel &
ADC_CH15) && 0x01;
87 ANSELCbits.ANSC4 = (ADC_enable_channel &
ADC_CH16) && 0x01;
88 ANSELCbits.ANSC5 = (ADC_enable_channel &
ADC_CH17) && 0x01;
89 ANSELCbits.ANSC6 = (ADC_enable_channel &
ADC_CH18) && 0x01;
90 ANSELCbits.ANSC7 = (ADC_enable_channel &
ADC_CH19) && 0x01;
91 ANSELDbits.ANSD0 = (ADC_enable_channel &
ADC_CH20) && 0x01;
92 ANSELDbits.ANSD1 = (ADC_enable_channel &
ADC_CH21) && 0x01;
93 ANSELDbits.ANSD2 = (ADC_enable_channel &
ADC_CH22) && 0x01;
94 ANSELDbits.ANSD3 = (ADC_enable_channel &
ADC_CH23) && 0x01;
96 ANSELDbits.ANSD4 = (ADC_enable_channel &
ADC_CH24) && 0x01;
97 ANSELDbits.ANSD5 = (ADC_enable_channel &
ADC_CH25) && 0x01;
98 ANSELDbits.ANSD6 = (ADC_enable_channel &
ADC_CH26) && 0x01;
99 ANSELDbits.ANSD7 = (ADC_enable_channel &
ADC_CH27) && 0x01;
102 #ifdef ADC_MODULE_TYPE_4
107 #if defined (ADC_MODULE_TYPE_1) || defined (ADC_MODULE_TYPE_2) || defined (ADC_MODULE_TYPE_3)
125 #ifdef ADC_MODULE_TYPE_1
129 #ifdef ADC_MODULE_TYPE_2
137 #ifdef ADC_MODULE_TYPE_3
142 #ifdef ADC_MODULE_TYPE_4
155 #if defined (ADC_MODULE_TYPE_1) || defined (ADC_MODULE_TYPE_3)
161 #ifdef ADC_MODULE_TYPE_2
167 #ifdef ADC_MODULE_TYPE_4
196 unsigned int ADC_value = 0;
217 #if defined (ADC_MODULE_TYPE_1) || defined (ADC_MODULE_TYPE_2) || defined (ADC_MODULE_TYPE_3)
229 #if defined (ADC_MODULE_TYPE_1) || defined (ADC_MODULE_TYPE_2) || defined (ADC_MODULE_TYPE_3)
234 #ifdef ADC_MODULE_TYPE_4
254 #ifdef ADC_MODULE_TYPE_1
259 #if defined (ADC_MODULE_TYPE_2) || defined (ADC_MODULE_TYPE_3)
271 unsigned int ADC_value = 0;
293 unsigned long int filter = 0x00000001;
294 unsigned char counter = 0;
295 unsigned char adc_channel = 0;
298 if(channel_mask & filter){
299 adc_channel = counter;
301 filter = filter << 1;
303 return (adc_channel);