前言
TFT-LCD 即薄膜晶体管液晶显示器。其英文全称为: Thin Film Transistor-Liquid Crystal Display。 TFT-LCD 与无源 TN-LCD、 STN-LCD 的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。 TFT-LCD 也被叫做真彩液晶显示器。
本节我们将通过 STM32F4的 FSMC接口来控制 TFTLCD的显示,关于控制屏的具体命令,及相关特性,请参看屏幕控制芯片说明书。好了费话不多说,下面开始我们的FSMC接口控制LCD屏的这验。
示例详解
基于硬件平台: 正点源子的stm32f4 探索者开发板,MCU 的型号是 STM32F4ZET6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。本示例所用的开发板及部分原理图:
-
- 关于CUBEMX工具及KEIL工具的操作将不再细讲,如果还有不熟悉的可以查看之前的教程文档。下面直接介绍工程配置:
-
-
- 系统时钟树
-
-
-
- 串口配置(用于程序调试)
-
-
-
- RCC配置
-
-
-
- SYS配置
-
-
-
- FSMC接口配置(对应可用于SRAM的模块有4个,这里我们用第一个)
-
详细参数配置如下(需根据自已的实际电路来定)
-
-
- 引脚配置,按原理图来
-
PB15用于LED背光驱动:
-
-
- 堆栈配置(也可保持默认):
-
-
- 工程代码
- 在工程中加入事先准备好的lcd.c , lcd.h, font.h 三个文件(这三个文件是在正点原子的探场索者开发板官方LCD例程文件中经过少量修改得而来),.h文件放在Inc文件夹中即可:
- 工程代码
-
-
- 在main.c 中main函数中 USER CODE BEGIN Includes ,USER CODE 0 、 USER CODE 2、USER CODE 4 区域加入如下图所示代码:
-
-
- 编译工程,烧录程序,成功点亮LCD并控制显示:
通过以上的结果可知本次的FSMC LCD读写操作实验成功!
对于本实验,LCD的操作,FSMC接口时序设置为:
经过实验发现,对于本实验的实验硬件平台,用下面的参数也是可以的:
OK,本期实验完成!下期见!同时如果大家有什么疑问或是有想了解的其它内容,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,会有不定期技术干货推出!!
文中源码资料下载,在公众号里给十三发消息:
下载|STM32基础系列教程44
关注十三公众号