如下图所示,STM32F103 与四线电阻触摸屏直接通过自身的 I/O 口连接,实现触摸屏控制器功能。其中 PA8、PA9、PA10、PA11 分别作为四个三极管的控制端,通过控制三极管的通断来控制四线触摸屏的 Y+、Y-、X+、X-;PA1、PA2 是两个 A/D 转换通道,分别连接 Y+ 和 X+,用于计算触摸点的 X 和 Y 坐标;PA3 连接内部中断,用于检测触摸屏是否有触摸动作。
触摸屏平时运行时,令 PA8、PA9、PA11 输出 0、PA10=1,即只让 VT2 导通。当有触摸动作时,D1 导通给 PA3 一个中断信号,STM32F103 接收到中断请求后立即置 PA8=1、导通 VT1,这样在 Y+、Y- 方向上就加上电压,同时启动 A/D 转换通道 PA2,通过输入 X+ 上的电压计算出触摸点的 Y 坐标;然后同理令 PA8、PA10 为 0,PA9、PA11 为 1,启动 A/D 转换通道 PA1,通过输入 Y+ 上的电压计算出触摸点的 X 坐标。
