微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32 FSMC接口驱动TFT-LCD设计

STM32 FSMC接口驱动TFT-LCD设计

时间:09-20 来源:互联网 点击:

,向不同的地址单元写入数据,就能够由FSMC 模拟出8080 接口向ILI9341写入控制命令或GRAM的数据了。

4.3 部分代码设计

(1)初始化液晶屏

初始化液晶屏是对液晶控制器ILI9341 用到的I/O口、FSMC 接口进行初始化,并且向该控制器写入了命令参数,配置好LCD液晶屏的基本功能。除了复位、背光用的PD11和PD0设置为通用推挽输出外,其他的与FSMC 接口相关的控制信号、地址信号、数据信号的端口全部设置为复用推挽输出。代码如下:

(2)初始化FSMC模式

LCD_Init()函数调用LCD_FSMC_Config()设置FSMC的模式使它模拟出8080接口,函数主要作用是设置各个信号的产生时间,使FSMC接口的时序与8080接口匹配。LCD_FSMC_Config()设置FSMC模式的代码如下:

以上主要使用FSMC_NORSRAMInitTypeDef类型的结构体和FSMC_NORSRAMTimingInitTypeDef类型的结构体对FSMC 进行配置。第一种类型结构体主要配置存储器类型,数据宽度等用于NOR FLASH 的模式配置;另一种类型结构体用于配置FSMC 的NOR FLASH模式下读/写时序中的地址建立时间、地址保持时间等。

(3)FSMC模拟8080读/写参数、命令

初始化完成FSMC 接口后,就可以使用FSMC 向ILI9341发送数据了。在LCD_Ini(t )中调用Lcd_init_conf()函数向ILI9341写入一系列的控制参数:

限于篇幅,以上只是该函数其中的一部分,省略部分的代码只是写入的参数和命令有些不一样,这些命令和参数设置了像素点颜色格式、屏幕扫描方式、横屏/竖屏等初始化配置,可以从ILI9341的datasheet命令列表中查到这些命令的意义。函数LCD_ILI9341_CMD()的作用是写入命令,函数LCD_ILI9341_Parameter()的作用是写入命令参数。

5 结语

本文对基于STM32的TFT液晶显示模块的驱动方法进行了探讨,设计的硬件电路和软件能对显示控制芯片ILI9341进行有效的控制,所有程序均在STM32系列的软件编译环境下调试通过。经实际证明,本方案是可行的,能保证320×240 点阵的TFT 刷新率,且留有足够CPU时间给用户程序。其硬件电路结构简单、控制方式灵活、对于其他型号的接口芯片也有参考价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top