1.8寸TFT LCD128X160 ST7735S SPI串口屏驱动示例
- 🌼1.8寸TFT LCD128X160 ST7735S SPI串口屏
📚屏幕驱动资料1
- 以下是由中景园提供的,里面包含了:
链接:https://pan.baidu.com/s/10G6apA8plumMz1A8FLoGhg
提取码:1111
由于购买的是合宙的1.8寸TFT LCD128X160 ST7735S SPI串口屏随同ESP32C3一起购买的,价格是9.9RMB,比起中景园的相同规格的屏幕是16.5RMB,性价比还是很高的。
🛠汉字取模方式和软件
- 🔧
PCtoLCD2002
软件 - 🔨取模方式
- 🌿取模的汉字代码放到:
lcdfont.h
对应位置,可以参照已有的取模汉字。
✅以STM32F103为例
- 👉🏻关于横向和纵向原点刷不到的白边宽,是因为源代码在显示函数中添加了偏移,修正的方法就是将其偏移量去除掉。
/******************************************************************************
函数说明:设置起始和结束地址
入口数据:x1,x2 设置列的起始和结束地址
y1,y2 设置行的起始和结束地址
返回值: 无
******************************************************************************/
void LCD_Address_Set(u16 x1,u16 y1,u16 x2,u16 y2)
{
if(USE_HORIZONTAL==0)
{
LCD_WR_REG(0x2a);//列地址设置
LCD_WR_DATA(x1);
LCD_WR_DATA(x2);
LCD_WR_REG(0x2b);//行地址设置
LCD_WR_DATA(y1);
LCD_WR_DATA(y2);
LCD_WR_REG(0x2c);//储存器写
}
else if(USE_HORIZONTAL==1)
{
LCD_WR_REG(0x2a);//列地址设置
LCD_WR_DATA(x1);
LCD_WR_DATA(x2);
LCD_WR_REG(0x2b);//行地址设置
LCD_WR_DATA(y1);
LCD_WR_DATA(y2);
LCD_WR_REG(0x2c);//储存器写
}
else if(USE_HORIZONTAL==2)
{
LCD_WR_REG(0x2a);//列地址设置
LCD_WR_DATA(x1);
LCD_WR_DATA(x2);
LCD_WR_REG(0x2b);//行地址设置
LCD_WR_DATA(y1);
LCD_WR_DATA(y2);
LCD_WR_REG(0x2c);//储存器写
}
else
{
LCD_WR_REG(0x2a);//列地址设置
LCD_WR_DATA(x1);
LCD_WR_DATA(x2);
LCD_WR_REG(0x2b);//行地址设置
LCD_WR_DATA(y1);
LCD_WR_DATA(y2);
LCD_WR_REG(0x2c);//储存器写
}
}
- 📑引脚接线
// GND 电源地
// VCC 3.3v电源
// SCL PA0(SCLK)
// SDA PA1(MOSI)
// RES PA2
// DC PA3
// CS PA4
// BLK PA5
✨上面的资料代码中提供了汉字字号:
16、 24、 32、
三种。
- 02-1.8LCD显示屏STM32F103C8T6_SPI例程
#include "delay.h"
#include "sys.h"
#include "led.h"
#include "lcd_init.h"
#include "lcd.h"
#include "pic.h"
int main(void)
{
float t=0;
delay_init();
LED_Init();//LED初始化
LCD_Init();//LCD初始化
LCD_Fill(0,0,LCD_W,LCD_H,WHITE);
LED=0;
while(1)
{
LCD_ShowChinese(0,0,(u8 *)"单片机学习",RED,WHITE,24,0);
LCD_ShowString(24,30,(u8 *)"LCD_W:",RED,WHITE,16,0);
LCD_ShowIntNum(72,30,LCD_W,3,RED,WHITE,16);
LCD_ShowString(24,50,(u8 *)"LCD_H:",RED,WHITE,16,0);
LCD_ShowIntNum(72,50,LCD_H,3,RED,WHITE,16);
LCD_ShowFloatNum1(20,80,t,4,RED,WHITE,16);
t+=0.11;
LCD_ShowPicture(65,80,40,40,gImage_1);
}
}
🌼屏幕驱动资料2
- 1.8inch SPI ST7735S SKU: MSP1803
- 📌屏幕资料和参考资料:
http://www.lcdwiki.com/zh
- 也提供了软硬件驱动的示例代码,需要注意,其中的引脚定义和厂家的名称有点区别。
//=======================================液晶屏数据线接线==========================================//
//本模块默认数据总线类型为SPI总线
// LCD模块 STM32单片机
// SDA 接 PB15 //液晶屏SPI总线数据写信号
//=======================================液晶屏控制线接线==========================================//
// LCD模块 STM32单片机
// LED 接 PB9 //液晶屏背光控制信号,如果不需要控制,接5V或3.3V
// SCK 接 PB13 //液晶屏SPI总线时钟信号
// A0/DC 接 PB10 //液晶屏数据/命令控制信号
// RES/RESET 接 PB12 //液晶屏复位控制信号
// CS 接 PB11 //液晶屏片选控制信号