2.8inch Resistive Touch LCD
| ||||||||||||||||||||||||
| ||||||||||||||||||||||||
说明
产品概述
2.8inch Resistive Touch LCD是一款有320×240分辩率,带电阻触摸,使用SPI控制的IPS显示屏.
产品参数
- 驱动芯片:HX8347D
- 触控芯片:XPT2046
- 屏幕类型:IPS
- 通信接口:SPI
- 显示颜色:RGB,65K彩色
- 分 辨 率:320 × 240
- 背 光:LED
- 显示尺寸:57.6mm × 43.2mm
- 外形尺寸:79.9mm × 50.8mm
- 触控方式:四线电阻式
- 供电电压:5V
- 逻辑电平:3.3V
功能引脚
功能引脚 | 描述 |
5V | 电源正(5V电源输入) |
GND | 电源地 |
MISO | SPI数据输出 |
MOSI | SPI数据输入 |
SCLK | SPI时钟信号 |
LCD_CS | LCD片选 |
LCD_DC | LCD数据/命令选择 |
LCD_RST | LCD复位信号 |
LCD_BL | LCD背光控制 |
TP_CS | 触摸面板片选 |
TP_IRQ | 触摸面板中断 |
硬件说明
LCD及控制器
注意:液晶驱动器先后使用了HX8347D,ST7789两种型号, 默认使用ST7789, 若您发现不能显示时, 请先更改驱动程序
屏幕使用SPI通信, 节约IO资源, 适合接入IO较少的MCU主控. 其中:
- 显示分辨率: 240*RGB (H) *320(V)
- 显示颜色
- 全彩模式:262K, RGB=(666) max
- 真彩模式:8-color, RGB=(111)
- 可编程像色颜色格式
- 12-bit/pixel: RGB=(444)
- 16-bit/pixel: RGB=(565)
- 18-bit/pixel: RGB=(666)
- 接口支持
- 8/9/16/18Bits 80系列MPU接口
- 6/16/18 RGB 接口
- 串行接口(SPI接口)
- VSYNC接口
通信协议
从上的得知使用的是4线SPI通信,查阅数据手册可以得到如下的通信时序图,以传输RGB556为例:
CSX为从机片选, 仅当CS为低电平时,芯片才会被使能。
D/CX为芯片的数据/命令控制引脚,当DC = 0时写命令,当DC = 1时写数据
SDA为传输的数据,即RGB数据;
SCL为SPI通信时钟。
对于SPI通信而言,数据是有传输时序的,即时钟相位(CPHA)与时钟极性(CPOL)的组合:
CPHA的高低决定串行同步时钟是在第一时钟跳变沿还是第二个时钟跳变沿数据被采集,当CPHL = 0,在第一个跳变沿进行数据采集;
CPOL的高低决定串行同步时钟的空闲状态电平,CPOL = 0,为低电平。
从图中可以看出,当SCLK第一个下降沿时开始传输数据,一个时钟周期传输8bit数据,使用SPI0,按位传输,高位在前,低位在后。
XPT2046
2.8inch Resistive Touch LCD 的TP_IRQ引脚被MCU用来判断屏幕是否被按下, 屏幕被按下输出低电平, 反则被上拉输出高电平, 其中XPT2046主要功能如下T:
- XPT2046 是一款 4 线制电阻式触摸屏控制器,内含 12 位分辨率 125KHz 转换速率逐步逼近型 A/D 转换器。
- XPT2046 支持从 1.5V 到 5.25V 的低电压 I/O 接口。
- XPT2046 能通过执行两次 A/D 转换查出被按的屏幕位置,除此之外,还可以测量加在触摸屏上的压力。内部自带 2.5V 参考电压,可以作为辅助输入、温度测量和电池监测之用,电池监测的电压范围可以从 0V 到 5V。
- XPT2046 片内集成有一个温度传感器。在 2.7V 的典型工作状态下,关闭参考电压,功耗可小于 0.75mW。XPT2046 采用微小的封装形式:TSSOP-16,QFN-16 和 VFBGA-48。 工作温度范围为-40℃~+85℃。与 ADS7846、TSC2046、AK4182A 完全兼容。
例程演示
2.8inch Resistive Touch LCD支持接入微雪OpenX05R, PIC16F877A/PIC18F4520, OpenM128, Open103C等开发板.
注意:液晶驱动先后使用了HX8347D,ST7789两种型号,默认使用ST7789,若您发现不能显示时,请先更改驱动程序
更改驱动方法:打开LCD_Driver.h文件,将80行的#define ST7789_DEVICE注释,去掉81行的//#define HX8347_DEVICE注释,如下图所示
硬件连接
OpenX05R-C
2.8inch Resistive Touch LCD | Open405R-C |
5V | 5V |
GND | GND |
MISO | PA6 |
MOSI | PA7 |
SCLK | PB3 |
LCD_CS | PB7 |
LCD_DC | PB8 |
LCD_RST | PB2 |
LCD_BL | PB6 |
TP_CS | PA9 |
TP_IRQ | PB4 |
操作步骤
- 拔掉PB0,PB1,PB2,PB3,PB4共4个LED跳帽,2.8inch Resistive Touch LCD接入OpenX05R-C开发板
- 打开Open405R-C的TouchPanel项目文件,按F7编译后,按F8下载
- 2.8inch Resistive Touch LCD显示:
Please use the stylus click the cross on the screen.The cross will always move until the screen adjustment is completed. - 用触控笔依次点击屏幕进行校准
- 完成后即可在屏幕上进行涂鸦
- 更多演示请参考OpenX05R-C系列例程
OpenM128例程
硬件连接
2.8inch Resistive Touch LCD | OpenM128 |
5V | 5V |
GND | GND |
MISO | PB2/DIN |
MOSI | PB3/DOUT |
SCLK | PB1/CLK |
LCD_CS | PD6/CS |
LCD_DC | PB5/RS |
LCD_RST | PB6/RESET |
LCD_BL | PE5/PWM |
TP_CS | PB4 |
TP_IRQ | PE4/IRQ |
操作步骤
- 完成LCD连接,ISP烧录器连接,电源连接
- 使用Atmel Studio 7.0打开工程,AVR安装使用等系列教程请点击我参考
- 先按F7编译,后按Ctrl+Alt+F5烧录
Open103C
硬件连接
2.8inch Resistive Touch LCD | Open103C |
5V | 5V |
GND | GND |
MISO | PB14 |
MOSI | PB15 |
SCLK | PB13 |
LCD_CS | PB12 |
LCD_DC | PB8 |
LCD_RST | PB9 |
LCD_BL | PB0 |
TP_CS | PA15 |
TP_IRQ | PB1 |
操作步骤
- 按上表和图连接2.8inch Resistive Touch LCD和Open103C
- Open103C连接ST/Link,连接5VDC,打开例程烧录程序
Open16F877A/Open18F4520
硬件连接
2.8inch Resistive Touch LCD | OpenPIC16F877A/Open18F4520 |
5V | 5V |
GND | GND |
MISO | RC4 |
MOSI | RC5 |
SCLK | RC3 |
LCD_CS | RA1 |
LCD_DC | RA2 |
LCD_RST | RD0 |
LCD_BL | 3.3V |
TP_CS | RA4 |
TP_IRQ | RA0 |
- 使用跳帽连接VCC和3.3V,使用PICkit3连接Open18F4520。
- 将2.8inch Resistive Touch LCD接入Open18F4520的2.8inch LCD接口
- 打开power开关,使用MPLAB X IDE v4.15打开工程并下载程序,不熟悉操作的用户可点击参考教程
显示效果
资料
文档
3D图纸
2D图纸
程序
软件
数据手册