一、程序功能说明
单片机型号 |
测试条件 |
模块名称 |
代码功能 |
STC12C5A60S2 |
1.晶振11.0592M |
2.4寸TFT液晶屏 (ILI9341) |
|
STM32F103C8T6 |
|
2.4寸TFT液晶屏 (ILI9341) |
二、基本参数
1、模块参数
2、模块引脚说明
2.4寸TFT (ILI9341)引脚 |
引脚说明 |
VCC |
VCC电源引脚,可接3.3V或5V |
GND |
GND引脚接电源地,如果外接电源,一般必须共地 |
CS |
液晶屏片选信号,低电平使能 |
RESET |
液晶屏复位信号,低电平复位 |
DC/RS |
液晶屏寄存器/数据选择信号,高电平:寄存器,低电平:数据 |
SDA |
SPI总线写数据信号 |
SCK |
SPI总线时钟信号 |
LED |
背光控制,高电平点亮,如无需控制则接3.3V常亮 |
以下为触摸屏信号线接线 |
|
T_CLK |
触摸SPI总线时钟信号 |
T_CS |
触摸屏片选信号,低电平使能 |
T_DIN |
触摸SPI总线输入 |
T_DO |
触摸SPI总线输出 |
T_IRQ |
触摸屏中断信号,检测到触摸时为低电平 |
三、通信协议说明
SPI
SPI写数据 A0(D/C)选择写数据或者写命令 高电平:寄存器,低电平:数据,CS位片选,低电平有效,详细可参考手册
写时序:
代码:
void SPIv_WriteData(uint8_t Data)
{
unsigned char i=0;
for(i=8;i>0;i--)
{
if(Data&0x80)
TFT_SDA_H; //输出数据
else TFT_SDA_L;
TFT_SCL_L;
TFT_SCL_H;
Data<<=1;
}
}
四、部分代码说明
1、接线说明
需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改
1.1、STC12C5A60S2+2.4寸TFT(ILI9341)
// TFTLCD部分引脚定义
sbit TFT_LED =P1^0;//接模块BL引脚,背光可以采用IO控制或者PWM控制,也可以直接接到高电平常亮BLE
sbit TFT_SCL =P1^1;//接模块CLK引脚,SCL,SCK
sbit TFT_SDA =P1^2;//接模块DIN/MOSI引脚,_SDA
sbit TFT_A0 =P1^3;//接模块D/C引脚,AO RS
sbit TFT_RESET =P1^4;//接模块RST引脚,_RES RESET
sbit TFT_CS =P1^5;//接模块CE引脚,_CS
// TFT触摸部分引脚定义
sbit TP_PEN_R =P2^0;//接模块BL引脚,背光可以采用IO控制或者PWM控制,也可直接接到高电平常亮BLE
sbit TP_DOUT_R =P2^1;//接模块CLK引脚,SCL,SCK
sbit TP_TDIN =P2^2;//接模块DIN/MOSI引脚,SDA
sbit TP_TCS =P2^3;//接模块D/C引脚,AO RS
sbit TP_TCLK =P2^4;//接模块RST引脚,RES RESET
1.2、STM32F103C8T6+2.4寸TFT(ILI9341)
// TFTLCD部分引脚定义
#define OLED_LED_APBxClock_CMD RCC_APB2PeriphClockCmd
#define OLED_LED_CLK RCC_APB2Periph_GPIOA
#define OLED_LED_PORT GPIOA
#define OLED_LED_PIN GPIO_Pin_0
//SCL//DO
#define OLED_SCL_APBxClock_CMD RCC_APB2PeriphClockCmd
#define OLED_SCL_CLK RCC_APB2Periph_GPIOA
#define OLED_SCL_PORT GPIOA
#define OLED_SCL_PIN GPIO_Pin_1
//SDA//DI
#define OLED_SDA_APBxClock_CMD RCC_APB2PeriphClockCmd
#define OLED_SDA_CLK RCC_APB2Periph_GPIOA
#define OLED_SDA_PORT GPIOA
#define OLED_SDA_PIN GPIO_Pin_2
//DC引脚 /A0
#define OLED_A0_APBxClock_CMD RCC_APB2PeriphClockCmd
#define OLED_A0_CLK RCC_APB2Periph_GPIOA
#define OLED_A0_PORT GPIOA
#define OLED_A0_PIN GPIO_Pin_3
//RES引脚
#define OLED_RES_APBxClock_CMD RCC_APB2PeriphClockCmd
#define OLED_RES_CLK RCC_APB2Periph_GPIOA
#define OLED_RES_PORT GPIOA
#define OLED_RES_PIN GPIO_Pin_4
//CS(NSS)引脚
#define OLED_CS_APBxClock_CMD RCC_APB2PeriphClockCmd
#define OLED_CS_CLK RCC_APB2Periph_GPIOA
#define OLED_CS_PORT GPIOA
#define OLED_CS_PIN GPIO_Pin_5
// TFT触摸部分引脚定义
//PEN引脚
#define TP_PEN_APBxClock_CMD RCC_APB2PeriphClockCmd
#define TP_PEN_CLK RCC_APB2Periph_GPIOB
#define TP_PEN_PORT GPIOB
#define TP_PEN_PIN GPIO_Pin_5
//DOUT//DO
#define TP_DOUT_APBxClock_CMD RCC_APB2PeriphClockCmd
#define TP_DOUT_CLK RCC_APB2Periph_GPIOB
#define TP_DOUT_PORT GPIOB
#define TP_DOUT_PIN GPIO_Pin_6
//TDIN//DI
#define TP_TDIN_APBxClock_CMD RCC_APB2PeriphClockCmd
#define TP_TDIN_CLK RCC_APB2Periph_GPIOB
#define TP_TDIN_PORT GPIOB
#define TP_TDIN_PIN GPIO_Pin_7
//TCS
#define TP_TCS_APBxClock_CMD RCC_APB2PeriphClockCmd
#define TP_TCS_CLK RCC_APB2Periph_GPIOB
#define TP_TCS_PORT GPIOB
#define TP_TCS_PIN GPIO_Pin_8
// TCLK
#define TP_TCLK_APBxClock_CMD RCC_APB2PeriphClockCmd
#define TP_TCLK_CLK RCC_APB2Periph_GPIOB
#define TP_TCLK_PORT GPIOB
#define TP_TCLK_PIN GPIO_Pin_9
五、相关资料链接
- STC89C52RC程序下载 直戳跳转(同STC12C5A60S2)
- STM32F103C8T6程序下载
- 串口下载 直戳跳转
- ST-LINK下载 直戳跳转
- J-LINK下载 直戳跳转
- DAP-LINK下载 直戳跳转
3.字符软件提取
4.图片提取
六、字符图片提取格式
文字格式:共阴——逐行式——逆向——C51——行前后缀括号去掉
七、图片提取
//水平扫描-16位真彩色-不包含图像头数据-高位在前
八、视频效果展示与程序资料获取
视频连接 直戳跳转
资料获取 直戳跳转
九、项目所有材料清单
STC12C5A60S2驱动方案 |
图片 |
STM32F103C8T6驱动方案 |
图片 |
备注 K_A03_005 |
STC12C5A60S2系统板X1 |
![]() |
STM32F103C8T6系统板X1 |
![]() |
1、STM32系统板两根Micro USB线一根用于J-LINK下载器,另一根用于给系统板供电 2、杜邦线建议不用太长的 |
2.4寸TFT (ILI9341)X1 |
![]() |
2.4寸TFT (ILI9341)X1 |
![]() |
|
Micro USB线X1 |
![]() |
Micro USB线X2 |
![]() |
|
母母杜邦线X8根 |
![]() |
母母杜邦线X8根 |
![]() |
|
J-LINK下载器 |
![]() |
十、注意事项
- VCC GND请勿接反,接反易烧
- 显示异常时,排除接线接触不良
- 同程序换其他同类屏幕后需要按单片机复位才会正常显示
- 下载后显示多出一些杂点的时候可以重新上电复位下
- 背光可IO口控制也可直接接3.3V
十一、接线表格
单片机型号 |
模块 |
对应引脚(上:模块引脚 下:单片机引脚) |
|||||||
STM32F103 C8T6 |
2.4寸TFT (ILI9341) |
VCC |
GND |
LED |
SCL |
SDA |
A0 |
RESET |
CS |
3.3/5V |
GND |
PA0 |
PA1 |
PA2 |
PA3 |
PA4 |
PA5 |
||
TP_IRQ |
TP_DOUT |
TP_TDIN |
TP_TCS |
TP_TCLK |
|||||
PB5 |
PB6 |
PB7 |
PB8 |
PB9 |
|||||
STC12C5A60S2 | 2.4寸TFT (ILI9341) |
VCC |
GND |
LED |
SCL |
SDA |
A0 |
RESET |
CS |
3.3/5V |
GND |
P1.0 |
P1.1 |
P1.2 |
P1.3 |
P1.4 |
P1.5 |
||
TP_IRQ |
TP_DOUT |
TP_TDIN |
TP_TCS |
TP_TCLK |
|||||
P2.0 |
P2.1 |
P2.2 |
P2.3 |
P2.4 |