隔行显示的标准时序_LCD—液晶扫描方向及标准程序讲解

FSMC—液晶显示实验

本文章讲解如何使用FSMC 外设控制实验板配套的3.2 寸ILI9341 液晶屏,见图1,该液晶屏的分辨率为320x240,支持RGB565 格式。

学习本小节内容时,请打开配套的“固件库例程液晶显示程序液晶显示”目录下的工程配合阅读。

硬件设计

e5f07c603bc2f8b561f3b10b5153d532.png
图1 液晶屏实物图


图1 液晶屏背面的PCB 电路对应图2、图3、图4 中的原理图,分别是屏幕PCB 底板原理图、触摸部分原理图、液晶排针接口线序图。

b3d2ee17688fb6bef882736c113af96a.png
图2 屏幕PCB 底板原理图


屏幕的PCB 底板引出的信号线会通过PCB 底板上的FPC 接口与液晶面板连接,这些信包括液晶控制相关的CS、RS 等信号及DB0-DB15 数据线,其中RS 引脚以高电平表示传输数据,低电平表示传输命令;另外还有引出LCD_BK 引脚用于控制屏幕的背光供电,可以通过该引脚控制背光的强度,该引脚为低电平时打开背光。图中的X+/X-/Y+/Y-引脚是液晶面板上触摸屏引出的信号线,它们会被连接到PCB 底板的电阻触摸屏控制器,用于检测触摸信号,其原理图见图3。

7354b6d1017cf324f9729abaaf9113a8.png
图3 屏幕PCB 底板的触摸部分原理图


触摸检测的主体是型号为XPT2046 的芯片,它接收触摸屏的X+/X-/Y+/Y-信号进行处理,把触摸信息使用SPI 接口输出到STM32 等控制器,在触摸屏章节将会详细讲解其检测原理。

6281df68dc3a0c1a183e5d7b3f0af70d.png
图4 液晶屏接


图4 表示的是PCB 底板引出的排针线序,屏幕整体通过这些引出的排针与开发板或其它控制器连接。

573f179b8830500e6876614637809e88.png
图5 开发板与屏幕的连接的信号说明


图5 是指南者开发板上的液晶排母接口原理图,它说明了配套的3.2 寸屏幕接入到开发板上时的信号连接关系。其中请着重关注图中液晶屏LCD_CS 及LCD_RS(即DC 引脚)与FSMC 存储区选择引脚FSMC_NE 及地址信号FSMC_A 的编号,它们会决定STM32 要使用什么内存地址来控制与液晶屏的通讯。

软件设计

为了使工程更加有条理,我们把LCD 控制相关的代码独立分开存储,方便以后移植。在“USART—串口通讯”工程的基础上新建“bsp_ili9341_lcd.c”及“bsp_ili9341_lcd.h”文件,这些文件也可根据自己的喜好命名,它们不属于STM32 标准库的内容,是由我们自己根据应用需要编写的。

1. 编程要点

(1) 初始化通讯使用的目标引脚及端口时钟;

(2) 使能FSMC 外设的时钟;

(3) 配置FSMC 为异步NOR FLASH模式以仿真8080 时序;

(4) 建立机制使用FSMC 向液晶屏发送命令及数据;

(5) 发送控制命令初始化液晶屏;

(6) 编写液晶屏的绘制像素点函数;

(7) 利用描点函数制作各种不同的液晶显示应用。

2. 代码分析

液晶LCD 硬件相关宏定义

我们把FSMC 控制液晶屏硬件相关的配置都以宏的形式定义到 “bsp_ili9341_lcd.h”文件中,见代码清单1。

cc4e17a25ea3867252587c3b0e6c23fa.png

6dcc819954b25a35b6f0bc242cb157ee.png
代码清单1 FSMC硬件配置相关的宏(省略了部分数据线)


以上代码根据硬件的连接,把与FSMC 与液晶屏通讯使用的引脚号、引脚源以及复用功能映射都以宏封装起来。其中请着重关注代码中液晶屏LCD_CS 及LCD_RS(DC 引脚)与FSMC 存储区选择引脚FSMC_NE 及地址信号FSMC_A 的编号,它们会决定STM32 要使用什么内存地址来控制与液晶屏的通讯。

初始化FSMC 的 GPIO

利用上面的宏,编写FSMC 的GPIO引脚初始化函数,见代码清单2。

01cac95677fb1112d8a74a683c298727.png

7b5f8e83867fd72a28e8da7c63cc0c3a.png
代码清单2 FSMC的GPIO初始化函数(省略了部分数据线)


与控制SRAM 中的GPIO 初始化类似,对于FSMC 引脚,全部直接初始化为复用推挽输出模式即可,而背光BK 引脚及液晶复信RST 信号则被初始化成普通的推挽输出模式,这两个液晶控制信号直接输出普通的电平控制即可。

配置FSMC 的模式

接下来需要配置FSMC 的工作模式,见代码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值