使用环境(蓝色粗体字为特别注意内容)
1、软件环境:Keil MDK 5.15
2、硬件环境:STM32F103C8T6最小系统,ST7735 1.44寸TFT LCD
某宝看到一块1.44寸的LCD,性价比蛮高,图片如下
主要参数如下:
点阵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);
}
}
具体效果如下:
为了方便大家使用,工程已经打包上传供大家下载,使用非常方便,在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:数据
工程下载