触摸屏:
1.触摸屏和LCD屏区别
触摸屏:输入设备--使用的是模拟SPI协议去接收和发送数据
LCD屏:显示设备--输出设备---使用8080并口协议进行数据传输
2.触摸屏分类:
电阻屏和电容屏
3.四线电阻屏:
X+ 、X- 、Y+、Y-
4.工作原理:
测量X轴坐标时,X+接VCC, X-接GND; Y+接ADC转换通道,Y-高阻态;
5.ADC转换芯片--XPT2046
1.作用:把模拟量转换为数字量;
2.转换精度:12位的2进制;
0~5v模拟电压---转换成0~2^12-1;
3.XPT2046和stm32通信协议:模拟SPI通信;
4.管脚:
CS: 片选信号,低电平有效
CLK: 时钟输入管脚,由主机产生时钟信号,从机不产生;
DIN: 数据输入管脚--上升沿锁存数据;
DOUT:数据输出管脚--下降沿发送数据;
PENIRQ:笔中断引脚---触摸屏被按下,为0,否则为1;
BUSY:忙信号--CS 为高时,为高阻态;
5.协议:SPI
主机:上升沿发送数据,下降沿接收数据;
测量X/Y轴坐标:
1.先发送1个字节的控制命令;
2.接收由ADC转换过来的2个字节的坐标---只需要高12位即可!
测量X轴坐标:A2 A1 A0---1 0 1 1101 0000 ---0xD0
测量Y轴坐标:A2 A1 A0---0 0 1 1001 0000 ---0x90
S--起始位---必须为1
A2A1A0----地址位
MODE------模式位---0--12位转换精度 1--8位转换精度
SER/DFR---差分模式;
PD0 PD1---笔中断使能--转换时芯片会立即上电;
6.stm32与XPT2046的I/O配置
用GPOI口模拟SPI协议:高低电平信号!
XPT2046 LCD STM32
DOUT MISO PF8 --浮空输入
CS T_CS PB2 --推挽输出
DCLK CLK PB1 --推挽输出
PENIRQ T_PEN PF10 --浮空输入
DIN MOSI PF9 --推挽输出
7.模拟SPI写数据
1.CS拉低,主机产生CLK(0);MOSI(DIN)为0;
2.MOSI发送控制命令--1个字节--上升沿发送数据---DIN管脚接收;
8.模拟SPI读数据
1.由于上升沿发送数据,所以控制命令发送完成是CLK(1)
所以,要CLK(1)变为CLK(0);此时BUSY为1.
2.延时之后由CLK(0)变为CLK(1);--产生上升沿
3.CLK(1)变为CLK(0);---产生下降沿,BUSY为0---开始接收数据
9.三点校准:
作业:
1、做触摸屏按键 -- LED_ON -- 灯亮 LED_OFF -- 灯灭
2、做触摸屏按键 -- LED_ON -- 灯亮 LED_OFF -- 灯灭
按键按下,颜色转换
3.扩展:写函数,能够在LCD屏上写字!
4.做一个12键界面,实现0123456789随意显示 ,#为删除键