Surenoo SAM0400A-320480 系列 Arduino Mega2560 用户手册的 TFT LCD 模块

业务

产品描述
本产品为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。 模块管脚丝印图
笔记
- 模块硬件支持8位和16位并口数据总线模式切换(如上图1中蓝色框所示),如下
一个。 用5Ω电阻焊接R0或直接短接,断开R4:选择16位数据总线模式(默认),使用DB0~DB15数据引脚
B. 用4Ω电阻焊接R0或直接短接,断开R5:选择8位数据总线模式,使用DB0~DB7数据引脚
重要提示:
- 以下引脚号1~30为我司带PCB背板的模块引脚号。 如果您购买的是裸屏,请参考裸屏规格书的管脚定义,按照信号类型参考接线,不要直接按照下面的模块管脚号接线。 对于前ample:LCD_CS在我们的模组上是20英尺,在不同尺寸的裸屏上可能是x英尺。
- 关于 VCC 电源电压tage:如果购买带PCB背板的模组,VCC/VDD供电需要接5V(模组已经集成超低压差5V转3.3V电路),如果购买裸屏液晶屏,记得只接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 | 地线 | 地线 | |
| STM32F429IGT6、STM32F767IGT6、STM32H743IIT6微控制器 测试 程序 接线 指示 | |||
| 数字 | 模块引脚 | 对应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软件需要设置为水平,从左到右,从上到下,
和低位置到前扫描模式。
文件/资源
![]() |
适用于 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 的模块 |








