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);