Пт июн 29, 2012 00:14:39
Пт июн 29, 2012 07:54:59
// подключение тачскрина
#define Y_minus PORTA.6
#define Y_plus PORTA.4
#define X_minus PORTA.7
#define X_plus PORTA.5
....
void TouchScan (void) {
push = 0;
DDRA = 0b10100000; // X_minus, X_plus на выход, сажаем Х пленку на землю
PORTA = 0b01011111; // остальные выводы как входы с подтяжкой
delay_ms(1);
if (read_adc(6) < 100) { // если есть нажатие ( проверяем на 0 вывод Y- )
push = 1;
press_count++;
if (press_count > 1) {
press = 1;
}
PORTA = 0b01111111; // cчитываем X координату, X_minus на землю, X_plus на +5 вольт
delay_ms(1);
x = abs((int) (232 - 0.276*read_adc(4)));
// записываем значения АЦП по 2-м точкам
// сопоставляем координаты
// и через уравнение прямой по 2-м точкам находим промежуточные значения нажатия
// x = 232 - 0.276*ADC
// y = 0.25*ADC - 67.5
DDRA = 0b01011111; // cчитываем Y координату, Y_minus, Y_plus на выход
PORTA = 0b10111111; // Y_minus на землю, Y_plus на +5 вольт
delay_ms(1);
y = abs((int) (0.25*read_adc(5)-67.5));
}
else {
press = 0;
press_count = 0;
}
}
Пт июн 29, 2012 08:14:19
Чт июл 12, 2012 20:18:57
Чт июл 12, 2012 20:49:44
AVT-28 писал(а):Направьте куда нибудь где можно полноценно изучить как работает тачскрин.. Мне надо к 18f458 дисплей с тачем подключить и с ним работать. Не разу этим не занимался.