STM32F103C8 + 1.8寸彩屏ST7735中文驱动程序


工程中搭建环境

  1. 软件:     Keil 5.27
  2. 开发板: 魔女开发板 STM32F103C8
  3. 屏幕:     1.8寸TFT, 驱动ST7735

有图有真相,先看运行效果图,   代码下载在文章结尾处.

STM32F103C8 + 1.8寸彩屏ST7735中文驱动程序


1.8寸屏参数简述

  • 像素: 128 x 160,  如果显示时右边和下面有花屏, 在程序中加大一点这个数值基本能解决 
  • 驱动: ST7735,  小面积的彩屏很多都是这个驱动芯片, 0.96/1.44/1.8, 很通用
  • 最大的参数:便宜实用, 才15元, 很适合实验时数据查看

和板子stm32f103c8的连接

  •   GND                          电源地
  •  VCC                           3.3V, 尽量不要接5V, 小心烧屏
  •  SCL/SCK     PB4       SPI的时钟引脚, 代码是模拟SPI,所以不一定要接SPI的引脚  
  •  SDA/DIN      PB3       SPI的MOSI引脚 ,代码是模拟SPI,所以不一定要接SPI的引脚  
  •  RES/RST     PB0        复位引脚,最好和单片机的复位引脚相接
  •  DC /RS        PB1        命令、数据选择引脚
  •  CS /CE        PA4        SPI的CS片选引脚
  •  BL /LED       PB10      控制背光LED,  高电平亮屏

STM32F103C8 + 1.8寸彩屏ST7735中文驱动程序

 


ST7735驱动编程要点、技巧

  1. 三个要点:寄存器8位,命令+数据、字节发送处理
  2. 寄存器是8位的:命令8位的,而数据发送时一个跟一个;颜色值16位,要分两字节发送
  3. 命令+数据:不管写字符点还是刷屏,步骤都只是:先发命令,后发数据
  4. 发命令的操作:拉低 DC引脚,发送1个8位的命令值
  5. 发数据的操作:拉高 DC引脚,挨字节发出要发送数据
  6. 屏显方向:在发命令0x36后,紧跟的一字节数据为屏显方向,可选参数:C0/00/A0/60/C8/08/A8/68
  7. 花屏:如果右边或下边有花屏,表示像素没填充够,加大一点刷屏值,如130*163
  8. 英文、中文、图片: 其实都是画点和缓存的处理,参考代码
  9. SPI:目前网上能搜到的代码基本都是模拟SPI

代码编写

代码在文章尾部下载,欢迎下载参考.工程中已有详细注释,如果还有不明白的可以留言.

STM32F103C8 + 1.8寸彩屏ST7735中文驱动程序


中文字库

因为我使用的开发板已带字库,包含12\16\24\32四种文字大小,如果你没有魔女开发板,当然可以使用自己的字库,也可以移植原子哥或野火的字库。有个小故事:19年时移植过字库, 头发都不用剪的!!

如果手里没有合适字库,就只能输出英文的ASCII喽。


文件移植

需要的3个文件都在TFT18文件夹里,整个文件夹复制吧: TFT18.c、TFT18.h、font.h

使用中文的话,还需要w25qxx.c文件的支持,如w25qxx_ReadBuffer();

  1. 在TFT18.h中修改6个引脚
  2. 我的字库在w25q128中,所以字库起址值在w25qxx.h中: GBK_STORAGE_ADDR,全文搜索这个宏定义吧
  3. 如果没有字库的兄弟,英文输出吧,只要#include "font.h" 就可以正常输出英文字符

程序完整代码下载

STM32F103C8+1.8寸ST7735彩屏中文程序.zip

没积分的兄弟Q群文件下载:262901124