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);
| file: /Techref/Resisitive_Touch.htm, 1KB, , updated: 2017/4/14 07:36, local time: 2025/10/26 16:35,
216.73.216.188,10-3-157-36:LOG IN
|
| ©2025 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://massmind.ecomorder.com/Techref/Resisitive_Touch.htm"> Resitive touch screen</A> |
| Did you find what you needed? |
Welcome to ecomorder.com! |
|
Ashley Roll has put together a really nice little unit here. Leave off the MAX232 and keep these handy for the few times you need true RS232! |
.