STM32F103C8T6+ST7735TFT LCD彩屏驱动程序

使用环境(蓝色粗体字为特别注意内容)
1、软件环境:Keil MDK 5.15
2、硬件环境:STM32F103C8T6最小系统,ST7735 1.44寸TFT LCD


某宝看到一块1.44寸的LCD,性价比蛮高,图片如下

STM32F103C8T6+ST7735TFT LCD彩屏驱动程序_第1张图片

主要参数如下:
点阵128*128
驱动芯片:ST7735
驱动方式:SPI

和STM32F103C8T6最小系统连接方式如下:

在彩屏引脚上都有引脚标识,所以很容易知道各个管脚的用途,TFT彩屏工作电压为3.3V,虽然可能接5V也可以使用,但对液晶不好,所以1引脚最好还是接3.3V。

 2引脚为GND,直接接地就好了。

 3引脚CS为屏模块的SPI片选信号输入引脚,与STM32芯片IO口相接即可,本程序接的是A13;

 4引脚REST(RST)为屏模块复位输入引脚,与STM32芯片IO口相接即可,本程序接的是A14;

 5A0(RS)引脚为屏模块命令 /数据 信号输入选择引脚,与STM32芯片IO口相接即可,本程序接的是A15;

 6引脚SDA(SDI)为屏模块的SPI数据输入引脚,与STM32芯片IO口相接即可,本程序接的是A11;

 7引脚SCL(SCK)为屏模块的SPI时钟信号输入引脚,与STM32芯片IO口相接即可,本程序接的是A12;
 8引脚LED为屏模块的LED背光,注意,LCD没有背光就一片黑,啥也看不到!,本程序接的是VCC3.3;

调试过程有个小插曲,就是关于STM32的PA13引脚无法正常输出高低电平的问题,详见我上一篇文章。主函数如下:

int main(void)
{
	DisableJTAG();
	LCD_GPIO_Conf();
	LED_Init();
	LCD_Init();

	while(1)
	{

		GPIO_ResetBits(GPIO_TFT, RS);
		Font_Test();
		//delay_ms(3500);
		//Display_Desc();
		delay_ms(2000);
		showimage1(gImage_tp1);
		delay_ms(3000);
		LED_Flash();
		//Display_ASCII8X16(10,50,"I love you");
		//delay_ms(1000);
	}
}


具体效果如下:

 

STM32F103C8T6+ST7735TFT LCD彩屏驱动程序_第2张图片

STM32F103C8T6+ST7735TFT LCD彩屏驱动程序_第3张图片

为了方便大家使用,工程已经打包上传供大家下载,使用非常方便,在LCD.h文件中改一下IO口即可使用,保证正常使用。

//彩屏管脚定义
#define GPIO_TFT  GPIOA
#define TFT_RCC_APB RCC_APB2Periph_GPIOA
#define SDA 			GPIO_Pin_11
#define SCL 			GPIO_Pin_12
#define CS 		        GPIO_Pin_13    // 片选端,低电平有效
#define RESET 		        GPIO_Pin_14    // 复位端,低电平复位
#define RS 			GPIO_Pin_15    // 0:命令  1:数据

工程下载

你可能感兴趣的:(MCU-STM32)