Surenoo SAM0400A-320480 系列 Arduino Mega2560 用户手册的 TFT LCD 模块
适用于 Arduino Mega0400 的 Surenoo SAM320480A-2560 系列 TFT LCD 模块

业务
二维码

WhatsApp
二维码
二维码
二维码

微信
二维码

产品描述

本产品为3.95英寸TFT液晶显示模块,分辨率480×320,16BIT RGB 65K色显示,内置驱动 集成电路 ST7796S,ST7796S,  8位和16位并口通信和8位并口通信。 该模块包括LCD显示屏、电阻式触摸屏、SD卡槽和PCB背板。 支持SD卡扩展,可直接插入Arduino MEGA2560开发板。 也可以在C51和STM32平台上使用

产品特性

  • 3.95寸彩屏,支持16BIT RGB 65K色显示,显示色彩丰富
  • 480×320分辨率清晰显示
  • ILI9488:支持8位并行总线传输,传输速度快 ST7796S:支持8位和16位并行总线传输,传输速度快
  • 板载5V/3.3V电平转换IC,兼容5V/3.3V工作电压tage
  • 支持Arduino Mage2560直接插件使用
  • 支持触控功能
  • 支持SD卡功能扩展
  • 提供Arduino库和丰富的samp程序
  • 可用于具有丰富 s 的 C51 和 STM32 平台amp程序
  • 军工级工艺标准,长期稳定工作
  • 提供底层驱动技术支持

产品参数

姓名 描述
显示颜色 RGB 65K 色
库存单位 MAR3953
屏幕尺寸 3.95(英寸)
类型 薄膜晶体管

 

驱动器IC ILI9488 / ST7796S
解决 480*320(像素)
模块接口 ILI9488:8Bit并行接口 ST7796S:8Bit或16Bit并行接口
活动区域 83.52×55.68(毫米)
模块 PCB 尺寸 61.54×105.69(毫米)
背光 6 芯片 HighLight 白光 LED
工作温度 -10℃~60℃
存储温度 -20℃~70℃
操作量tage 3.3 伏 / 5 伏
功耗 待定
产品重量 待定
驱动器IC ILI9488 / ST7796S
解决 480*320(像素)
模块接口 ILI9488:8Bit并行接口 ST7796S:8Bit或16Bit并行接口
活动区域 83.52×55.68(毫米)
模块 PCB 尺寸 61.54×105.69(毫米)
背光 6 芯片 HighLight 白光 LED
工作温度 -10℃~60℃
存储温度 -20℃~70℃
操作量tage 3.3 伏 / 5 伏
功耗 待定
产品重量 待定
驱动器IC ILI9488 / ST7796S
解决 480*320(像素)
模块接口 ILI9488:8Bit并行接口 ST7796S:8Bit或16Bit并行接口
活动区域 83.52×55.68(毫米)
模块 PCB 尺寸 61.54×105.69(毫米)
背光 6 芯片 HighLight 白光 LED
工作温度 -10℃~60℃
存储温度 -20℃~70℃
操作量tage 3.3 伏 / 5 伏
功耗 待定
产品重量 待定

接口说明

接口说明

图片1。 模块管脚丝印图 

笔记

  1. 模块硬件支持8位和16位并口数据总线模式切换(如上图1中蓝色框所示),如下

一个。 用5Ω电阻焊接R0或直接短接,断开R4:选择16位数据总线模式(默认),使用DB0~DB15数据引脚
B. 用4Ω电阻焊接R0或直接短接,断开R5:选择8位数据总线模式,使用DB0~DB7数据引脚

重要提示: 

  1. 以下引脚号1~30为我司带PCB背板的模块引脚号。 如果您购买的是裸屏,请参考裸屏规格书的管脚定义,按照信号类型参考接线,不要直接按照下面的模块管脚号接线。 对于前ample:LCD_CS在我们的模组上是20英尺,在不同尺寸的裸屏上可能是x英尺。
  2. 关于 VCC 电源电压tage:如果购买带PCB背板的模组,VCC/VDD供电需要接5V(模组已经集成超低压差5V转3.3V电路),如果购买裸屏液晶屏,记得只接3.3五、
  3. 关于背光音量tage:带PCB背板的模块接3.3V,无需手动接入。 如果你买的是裸屏,LEDA接3.0V-3.3V,LEDKx接地即可。
数字 模块引脚 引脚描述
1 5V 电源引脚
2 DB0      数据总线低8位引脚
3 DB1
4 DB2
5 DB3
6 DB4
7 DB5
8 DB6
9 DB7
10 DB8 数据总线高 8 位引脚 如果是 8 位模式,无连接
11 DB9
12 DB10
13 DB11
14 DB12
15 DB13
16 DB14
17 DB15
18 液晶显示_RS LCD寄存器/数据选择引脚
19 LCD_WR LCD写控制引脚
20 液晶屏_CS LCD片选控制引脚
21 LCD_RST LCD复位控制引脚
22 液晶屏_读 LCD读取控制引脚
23 NC 未定义,保留
24 TP_IRQ 触摸屏中断控制引脚
25 SD_CS 扩展参考:SD卡选择引脚
26 味噌 SPI总线输入引脚
27 摩西 SPI总线输出引脚
28 时钟脉冲 SPI 总线时钟引脚
29 TP_CS 触摸屏片选引脚
30 地线 电源地脚

硬件配置

液晶显示模块硬件电路包括五部分:液晶显示控制电路、电平移位电路、SD卡控制电路、触摸屏控制电路、8位和16位数据总线模式切换电路。

LCD显示控制电路,用于控制LCD的引脚,包括控制引脚和数据传输引脚。

5V/3.3V转换的电平转换电路,使模块兼容

3.3V/5V电源。 

SD卡控制电路用于SD卡功能扩展,控制SD卡的识别、读写。

触摸屏控制电路用于控制触摸屏中断采集、数据发送ampling、AD转换、数据传输等。

8位和16位数据总线模式切换电路用于切换数据总线类型(8位模式和16位模式)。 详见上图1红框或参考模块电路原理图。

工作原理

ST7796S ILI9488控制器介绍

ST7796S ILI9488 是一款用于 262K 彩色 TFT-LCD 的单片机控制器。 支持最大分辨率320*480,GRAM 345600字节。 它还支持 8 位、9 位、16 位和 18 位并行端口数据总线。 它还支持 3 线和 4 线 SPI 串行端口。 由于支持的分辨率比较大,传输的数据量大,所以采用并口传输,传输速度快。 还支持 65K, 262K、16M RGB 彩色显示,显示色彩非常丰富,同时支持旋转显示和滚动显示以及视频播放,显示方式多种多样。

ST7796S ILI9488控制器采用16bit(RGB565)控制一个像素显示,因此每个像素最多可以显示65K色。 像素地址设置按行列顺序进行,增减方向由扫描方式决定。 这 ST7796S ILI9488 显示方法是通过设置地址和设置颜色值来执行的。

并口通信简介

并口通讯写模式时序如图
介绍

图 1:OBI B 类写周期

笔记: WAX 是一种非同步信号,可以在不使用时进行调整

当 D:CX 信号被驱动为 10 低电平时。 交错上的输入数据被解释为命令信息。 当Me dela为RAM数据或命令参数时,DC%信号也可以拉高电平
介绍

CSX为使能和禁止并口通信的片选信号,低电平有效RESX为外部复位信号,低电平有效D/CX为数据或命令选择信号,1-写入数据或命令参数,0-写入命令WRX为写数据控制信号D[X:0]为并口数据位,有8位、9位、16位、18位四种。

进行写操作时,在复位的基础上,先置位数据或命令选择信号,然后将片选信号拉低,然后从主机输入要写入的内容,再将写数据控制信号拉低. 当拉高时,数据在写入控制信号的上升沿写入 LCD 控制 IC。 最后将片选信号拉高,完成一次数据写入操作。

使用说明

Arduino 说明

接线说明:
引脚分配见接口说明。 此模块可直接插入Arduino UNO和Mega2560,无需手动接线,如下图:
接线说明

mega2560直插图片 

直接的 插入 指示 为了 Arduino MEGA2560 微控制器 测试 程序 别针
 数字   模块引脚 对应MEGA2560开发板子直接插针
8 位模式 16 位模式
1 5V 5V
2 DB0 37
3 DB1 36
4 DB2 35
5 DB3 34
6 DB4 33
7 DB5 32
8 DB6 31
9 DB7 30
10 DB8       未使用 22
11 DB9 23
12 DB10 24
13 DB11 25
14 DB12 26
15 DB13 27
16 DB14 28
17 DB15 29
18 液晶显示_RS 38
19 LCD_WR 39
20 液晶屏_CS 40
21 LCD_RST 41
22 液晶屏_读 43
23 NC 未使用
24 TP_IRQ 44
25 SD_CS 48
26 味噌 50
27 摩西 51
28 TP_CS 53
29 时钟脉冲 52
30 地线 地线

操作步骤: 

A. 按照以上接线说明将LCD模块直接插入Arduino单片机,并上电;
B. 将测试包Install libraries目录下的依赖库复制到Arduino工程目录的libraries文件夹中(如果不需要依赖库,则不需要复制);
C. 打开Arduino测试程序所在目录,选择examp你要测试的文件,如下图:(测试程序说明请参考测试包中的测试程序说明文档)
操作步骤

D. 打开选中的sample项目,编译下载。 Arduino测试程序依赖库拷贝、编译、下载的具体操作方法如下:

http://www.lcdwiki.com/res/PublicFile/Arduino_IDE_Use_Illustration_EN.pdf

E. 如果LCD模块显示字符和图形正常,则程序运行成功;

C51指令

接线说明:
管脚分配见接口说明

STC89C52RC 微控制器 测试 程序 接线 指示
数字 模块引脚 对应STC89 开发板接线针
8 位模式 16 位模式
1 5V 5V
2 DB0 P30
3 DB1 P31
4 DB2 P32
5 DB3 P33
6 DB4 P34
7 DB5 P35
8 DB6 P36
9 DB7 P37
10 DB8

无需连接

P20
11 DB9 P21
12 DB10 P22
13 DB11 P23
14 DB12 P24
15 DB13 P25
16 DB14 P26
17 DB15 P27
18 液晶显示_RS P12
19 LCD_WR P11
20 液晶屏_CS P13
21 LCD_RST P14
22 液晶屏_读 P10
23 NC 无需连接
24 TP_IRQ 无需连接(无法测试触摸)
25 SD_CS 无需连接
26 味噌 无需连接(无法测试触摸)
27 摩西 无需连接(无法测试触摸)
28 TP_CS 无需连接(无法测试触摸)
29 时钟脉冲 无需连接(无法测试触摸)
30 地线 地线

 

STC12C5A60S2 微控制器 测试 程序 接线 指示
数字 模块引脚 对应STC12开发 电路板接线针
8 位模式 16 位模式
1 5V 5V
2 DB0 P00
3 DB1 P01
4 DB2 P02
5 DB3 P03
6 DB4 P04
7 DB5 P05
8 DB6 P06
9 DB7 P07
10 DB8

无需连接

P20
11 DB9 P21
12 DB10 P22
13 DB11 P23
14 DB12 P24
15 DB13 P25
16 DB14 P26
17 DB15 P27
18 液晶显示_RS P12
19 LCD_WR P11
20 液晶屏_CS P13
21 LCD_RST P33
22 液晶屏_读 P10
23 NC 无需连接
24 TP_IRQ P40
25 SD_CS 无需连接
26 味噌 P35
27 摩西 P34
28 TP_CS P37
29 时钟脉冲 P36
30 地线 地线

操作步骤:

A. 按照以上接线连接液晶显示模块和C51单片机
指令,并开机;
B. 打开C51测试程序所在目录,选择examp待测试的le,如下图:

(测试程序说明请参考测试程序说明文档)
操作步骤

C. 打开选中的测试程序工程,编译下载; C51测试程序编译和下载的详细说明可以参考以下文档:

http://www.lcdwiki.com/res/PublicFile/C51_Keil%26stcisp_Use_Illustration_EN.pdf

D. 如果液晶模块显示字符和图形正常,则程序运行成功

STM32指令

有关引脚分配,请参阅接口描述。

STM32F103RCT6单片机测试程序 接线 指示
数字 模块引脚 对应MiniSTM32开发板 接线针
8 位模式 16 位模式
1 5V 5V
2 DB0 PB0
3 DB1 PB1
4 DB2 PB2
5 DB3 PB3
6 DB4 PB4
7 DB5 PB5
8 DB6 PB6
9 DB7 PB7
10 DB8

无需连接

PB8
11 DB9 PB9
12 DB10 PB10
13 DB11 PB11
14 DB12 PB12
15 DB13 PB13
16 DB14 PB14
17 DB15 PB15
18 液晶显示_RS PC8
19 LCD_WR PC7
20 液晶屏_CS PC9
21 LCD_RST PC10
22 液晶屏_读 PC6
23 NC 无需连接
24 TP_IRQ PC1
25 SD_CS 无需连接
26 味噌 PC2
27 摩西 PC3
28 TP_CS PC13
29 时钟脉冲 PC0
30 地线 地线

 

STM32F429IGT6STM32F767IGT6STM32H743IIT6微控制器 测试 程序 接线 指示
数字 模块引脚 对应Apollo STM32F4/F7开发电路板接线针
8 位模式 16 位模式
1 5V 5V
2 数据库0/NC PE0
3 数据库1/NC PE1
4 数据库2/NC PE2
5 数据库3/NC PE3
6 数据库4/NC PE4
7 数据库5/NC PE5
8 数据库6/NC PE6
9 数据库7/NC PE7
10 DB8

无需连接

PE8
11 DB9 PE9
12 DB10 PE10
13 DB11 PE11
14 DB12 PE12
15 DB13 PE13
16 DB14 PE14
17 DB15 PE15
18 液晶显示_RS PC8
19 LCD_WR PC7
20 液晶屏_CS PC9
21 LCD_RST PC10
22 液晶屏_读 PC6
23 NC 无需连接
24 TP_IRQ PH10
25 SD_CS 无需连接
26 味噌 PH11
27 摩西 PH12
28 TP_CS PH13
29 时钟脉冲 PH9
30 地线 地线

操作步骤

A. 按照以上接线连接液晶显示模块和STM32单片机
指令,并开机;
B. 打开STM32测试程序所在目录,选择examp待测试文件,如下图:(测试程序说明请参考测试程序说明文档)
操作步骤

C. 打开选中的测试程序工程,编译下载; STM32测试程序编译和下载的详细说明可以参考以下文档:

http://www.lcdwiki.com/res/PublicFile/STM32_Keil_Use_Illustration_EN.pdf

D. 如果液晶模块显示字符和图形正常,则程序运行成功;

软体说明

代码架构 

A. Arduino代码架构说明

代码架构如下图
软体说明

Arduino的测试程序代码由两部分组成:LCDWIKI库和应用程序代码。 LCDWIKI库包含三部分:LCDWIKI_KBV库、LCDWIKI_GUI库和LCDWIKI_TOUCH库。 该应用程序包含几个测试前amples,每个都有不同的测试内容;

LCDWIKI_KBV为底层库,与硬件相关联。 主要负责操作寄存器,包括硬件模块初始化、数据和命令传输、像素坐标和颜色设置、显示模式配置等;

LCDWIKI_GUI是中间层库,负责使用底层库提供的API绘制图形和显示字符;

LCDWIKI_TOUCH是触摸屏的底层库,主要负责触摸中断检测,触摸数据的获取ampling和AD转换,触摸数据传输。

应用是利用LCDWIKI库提供的API编写一些测试examp文件和实现测试功能的某些方面;

C51和STM32代码架构说明

代码架构如下图:
软体说明

测试代码中包含了主程序运行时的Demo API代码;

LCD初始化和相关的bin并口写数据操作都包含在

液晶代码;

GUI代码中包含绘制点、线、图形及中英文字符显示相关操作;

main函数实现应用运行;

平台代码因平台而异;

触摸屏相关操作包含在触摸代码中;

按键处理相关代码包含在按键代码中(C51平台没有按键处理代码);

led配置操作相关的代码包含在led代码中;

GPIO定义说明 

A. Arduino测试程序GPIO定义说明
模块是插在Arduino Mage2560上的,所以不允许修改GPIO口定义。

B. C51测试程序GPIO定义说明
C51测试程序GPIO定义放在lcd.h中 file 如下图(以STC12C5A60S2单片机测试程序为例amp乐):
软体说明

并行引脚定义需要选择整套GPIO端口组,如P0、P2等,这样在传输数据时,操作方便。 其他引脚可以定义为任何空闲的 GPIO。

触摸屏GPIO口定义放在touch.h中,如下图(只有12C5A60S2可以测试touch)
软体说明

触摸屏的GPIO定义是可以修改的,可以定义成任何其他空闲的GPIO。

如果微控制器没有 P4 GPIO 组,您可以将 penirq 定义为另一个 GPIO。

STM32测试程序GPIO定义说明 

STM32 IO模拟测试程序lcd屏GPIO定义放在lcd. file,如下图(以STM32F103RCT6测试程序为例ample
软体说明

数据并口引脚定义需要选择一套完整的GPIO端口组,比如PB,在传输数据时,方便操作。

其他引脚可以定义为任何空闲的 GPIO。

触摸屏GPIO口在touch.h中定义 file 如下图(取

(STM32F103RCT6测试程序作为example)
软体说明

如果使用IO模拟测试程序,可以修改括号内的值。 所有管脚定义都可以修改,可以定义为任何其他空闲的 GPIO。

并口通信代码实现

A. Arduino测试程序并口通信代码实现

如果mcu_8bit_magic.h中使用了8位模式相关代码 file LCDWIKI_KBV库,如下图:
软体说明

如果mcu_16bit_magic.h中使用了16位模式相关代码 file 的

LCDWIKI_KBV库,如下图:
软体说明

B. C51测试程序并口通信代码实现

相关代码在LCD.c中实现 file 如下所示:
软体说明

实现了8位和16位命令和8位和16位数据读写

C. STM32测试程序并口通信代码实现

STM32测试程序并口通信代码实现在

液晶显示屏。 file.IO模拟测试程序实现如下图:
软体说明

实现了 8 位和 16 位命令以及 8 位和 16 位数据传输。

4.触摸屏校准说明

A. Arduino测试程序触摸屏校准说明
Arduino触摸屏校准需要先运行touch_screen_校准程序,然后根据提示进行校准。 标定通过后,需要将屏幕显示的标定参数写入cali_para.h file LCDWIKI_TOUCH库,如下图:
校准说明

B. C51测试程序触摸屏校准说明
C51触摸屏校准需要执行Touch_Adjust测试项(STC12C5A60S2测试程序才有),如下图:
校准说明

触摸校准通过后,需要保存校准参数
在touch.c中显示在屏幕上 file,如下图所示:
校准说明

C.STM32测试程序触摸屏校准说明
STM32触摸屏校准程序自动识别是否需要校准或通过按键手动进入校准。

包含在触摸屏测试项目中。 校准标记和校准参数保存在 AT24C02 flash 中。 如有必要,从闪存读取。 校准过程如下图所示:
校准说明

常用软件

这组测试amples需要中英文、符号和图片的显示,所以使用取模软件。 有两种类型的取模软件:

Image2Lcd 和 PCtoLCD2002。 这里只是测试程序取模软件的设置

PC到LCD2002 取模软件设置如下:

点阵格式选择 暗码
模数模式选择 进步模式
拿模型来选择 方向(高位优先)
输出数系统选择 十六进制数
自定义格式选择C51格式

具体设置方法如下:
http://www.lcdwiki.com/Chinese_and_English_display_modulo_settings
Image2Lcd模数软件设置如下所示:
常用软件

Image2Lcd软件需要设置为水平,从左到右,从上到下,
和低位置到前扫描模式。

www.surenoo.com

文件/资源

适用于 Arduino Mega0400 的 Surenoo SAM320480A-2560 系列 TFT LCD 模块 [pdf] 用户手册
SAM0400A-320480, SAM0400A-320480 系列 Arduino Mega2560 的 TFT LCD 模块, Arduino Mega2560 的 TFT LCD 模块, Arduino Mega2560 的 LCD 模块, Arduino Mega2560 的模块

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *