This is just a sample how to read a 4-pin restive touchsceen
int ADCvalue, x, y;
//
// Read X axis. Set RC1 Low, RA1 high, RC0 input (floating) and read AN0
TRISCbits.TRISC0 = 1;
TRISCbits.TRISC1 = 0;
LATCbits.LATC1 = 0;
TRISAbits.TRISA1 = 0;
TRISAbits.TRISA0 = 1;
LATAbits.LATA1 = 1;
AD1PCFG = 0xfffe; // AD0
AD1CON1 = 0x0000;
AD1CSSL = 0x0000;
AD1CHS = 0x0000; // AN0
AD1CON2 = 0x0000;
AD1CON3 = 0x0002;
AD1CON1bits.ADON = 1;
ADCvalue = 0;
IFS0bits.AD1IF = 0;
AD1CON1bits.SAMP = 1;
__delay_ms(50);
AD1CON1bits.SAMP = 0;
while (!AD1CON1bits.DONE)
;
ADCvalue = ADC1BUF0;
x = ADCvalue/6; // Scale X-value
//
// Read Y axis. Set RC0 Low, RA0 high, RC1 input (floating) and read AN1
AD1PCFG = 0xfffd; // AD1
TRISCbits.TRISC0 = 0;
LATCbits.LATC0 = 0;
TRISCbits.TRISC1 = 1;
TRISAbits.TRISA1 = 1;
TRISAbits.TRISA0 = 0;
LATAbits.LATA0 = 1;
AD1CHS = 0x0001; // AN1
ADCvalue = 0;
IFS0bits.AD1IF = 0;
AD1CON1bits.SAMP = 1;
__delay_ms(50);
AD1CON1bits.SAMP = 0;
while (!AD1CON1bits.DONE)
;
ADCvalue = ADC1BUF0;
y = ADCvalue/10; // Scale Y-value
xprintf("\rTouch x:%4d y:%4d", x,y);