TFTLCD即薄膜晶体管液晶显示器。它与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个像素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。

▲驱动流程

01、使用FSMC驱动LCD

关于FSMC,把数据写入相应的地址,FSMC就会把地址从FSMC_A出去,写入的数据会会从FSMC_D发出去。至于片选等信号线都是自动的。读的话,直接读相应的地址,就会拿到改地址上的数据。

FSMC驱动外部SRAM时,外部SRAM的控制一般有:

  • 地址线(如A0~A25)

  • 数据线(如D0~D15)

  • 写信号(WE,即WR)

  • 读信号(OE,即RD)

  • 片选信号(CS)

如果SRAM支持字节控制,那么还有UB/LB信号。

而TFTLCD的信号包括:RS(命令数据标志位)、D0~D15、WR、RD、CS、RST和BL等,其中真正在操作LCD的时候需要用到的就只有:

  • CS

  • WR

  • RS

  • D0~D15

  • RD

其操作时序和SRAM的控制完全类似,唯一不同就是TFTLCD有RS信号,但是没有地址信号。

TFTLCD通过RS信号来决定传送的数据是数据还是命令,本质上可以理解为一个地址信号,比如我们把RS接在A0上面,那么当FSMC控制器写地址0的时候,会使得A0变为0,对TFTLCD来说,就是写命令。而FSMC写地址1的时候,A0将会变为1,对TFTLCD来说,就是写数据了。这样,就把数据和命令区分开了,他们其实就是对应SRAM操作的两个连续地址。当然RS也可以接在其他地址线上。

因此,可以把TFTLCD当成一个SRAM来用,只不过这个SRAM有2个地址,这就是FSMC可以驱动LCD的原理。

02、标准8080接口

8080总线又叫Intel总线,大致来说,Intel总线的控制线有四根,RD写使能,WR读使能,ALE地址锁存,CS片选。

8080中:有RD(read),WR(Write)脚,RD,WR可以同时为高,不能同时为低!!RD为低时表示要从LCD中读出数据在D0-D7脚上,WR为低时表示:将当前D0-D7上的数据写入LCD

模块的8080并口读/写的过程为:

先根据要写入/读取的数据的类型,设置RS为高(数据)/低(命令),然后拉低片选,选中液晶IC,接着我们根据是读数据,还是要写数据置RD/WR为低,然后:

1.读数据:在RD的上升沿,读取数据线上的数据(D[15:0]);

2.写数据:在WR的上升沿,使数据写入到液晶IC里面;

▲8080并口写时序

▲8080并口读时序

在NXP的UsingFlexIO to Drive 8080 Bus Interface LCDModule文档中同样也提到了8080接口(P6),我找到的介绍8080接口的官方文档,就只有NXP这个文档。文档下载链接见问末尾。

▲写时序

▲读时序

03、使用FSMC驱动8080接口

▲读时序

▲写时序

04、颜色模式

4.1RGB565

每个像素用16比特位表示,占2个字节,RGB分量分别使用5位、6位、5位

4.1RGB888

每个像素用8比特位表示,占1个字节,注意:在内存中RGB各分量的排列顺序为:BGRBGR BGR ......

点击查看本文所在的专辑,STM32F207教程

文档下载链接:

链接:https://pan.baidu.com/s/1oYThPiVnc-_WSAyVy_vG2Q   提取码:i4vu

STM32驱动LCD原理的更多相关文章

  1. STM32驱动LCD实战

    前段时间写了<STM32驱动LCD原理>和<STM32的FSMC外设简介>两篇文章,本文将对STM32驱动LCD进行实战应用.LCD是深圳市拓普微科技开发有限公司的LMT028 ...

  2. STM32驱动OV7725摄像头颜色识别

    实验目的: 使用stm32驱动OV7725摄像头进行图像实时采集,在tft屏幕上实时显示并识别图像中的特定颜色,在颜色的周围画上框. 实验现象: 我的工程代码链接: http://download.c ...

  3. STM32驱动ILI9341控制器控制TFTLCD显示

    STM32驱动ILI9341控制器控制TFTLCD显示 一.用STM32控制TFTLCD显示的编程方法,在编程驱动TFTLCD液晶显示器之前,我们先熟悉以下概念: 1.色彩深度,这是一个与TFTLCD ...

  4. STM32通用定时器原理

    /************************************************************************************************ 转载 ...

  5. 痞子衡嵌入式:记录i.MXRT1060驱动LCD屏显示横向渐变色有亮点问题解决全过程(提问篇)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1060上LCD横向渐变色显示出亮点问题的分析解决经验. 痞子衡前段时间在支持一个i.MXRT1060客户项目时遇到了LCD ...

  6. STM32—驱动HC-SR04超声波测距模块

    文章目录 超声波测距原理 HC-SR04工作原理 STM32实现驱动 1.引脚的配置 2.时序控制 3.时间差测量 4.如何将距离测出来 超声波测距原理 利用HC-SR04超声波测距模块可以实现比较精 ...

  7. esp8266的STM32驱动

    esp8266的STM32驱动,数据发送接收由DMA完成,释放CPU. 目前只能发送返回消息为成功或失败的AT命令,并判断是否成功,详见esp8266_cmd():其它返回消息不可预知的命令(如查看A ...

  8. 用普通IO驱动LCD的控制方法-松瀚汇编源程序

    /*************************************** 本例程为IO直接驱动LCD的方法 以下是松瀚MCU汇编源程序 **************************** ...

  9. STM32驱动DS18B20

    DS18B20 是由 DALLAS 半导体公司推出的一种的“一线总线”接口的温度传感器.与传 统的热敏电阻等测温元件相比,它是一种新型的体积小.适用电压宽.与微处理器接口简单的 数字化温度传感器.一线 ...

随机推荐

  1. Linux相关-回顾-文件和目录(98.1.1)

    @ 目录 1.linux下的文件系统 2.用户目录 3.Linux 主要目录速查表 关于作者 1.linux下的文件系统 在 Linux 下,我们是看不到这些驱动器盘符,我们看到的是文件夹(目录): ...

  2. 网络编程-python实现-TCP(1.1.3)

    @ 目录 1.TCP是什么 2.代码实现 1.TCP是什么 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由I ...

  3. 【剑指offer】02 替换空格

    题目地址:替换空格 题目描述                                    请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We ...

  4. MATLAB绘图,绘双坐标轴,绘一图二轴等

    clc; clear all; close all; % %% 画极坐标系 % x = 0:.01 * pi:0.5 * pi; % y = cos(x) + sqrt(-1) * sin(x); % ...

  5. 解决[BScroll warn]: Can not resolve the wrapper DOM. Vue better-scroll

    在开发项目过程中,使用better-scroll插件中遇到了滚动一次重复提示相同错误 [BScroll warn]: Can not resolve the wrapper DOM. Vue bett ...

  6. 如何把 Next.js 项目部署到服务器?

    Next.js 是什么? Next.js 是一个用于 生产环境的 React 框架.Next.js 为您提供生产环境所需的所有功能以及最佳的开发体验:包括静态及服务器端融合渲染. 支持 TypeScr ...

  7. Git 常用命令 【13个命令包含git 90%的操作】

  8. java零基础之--JDK安装篇

    ---恢复内容开始--- 很多零基础学习者在开始学习java中很难理解JDK的安装和配置,以下是基于Windows 7 的安装配置流程(Windows 10类似) 1. 在安装之前我们先了解几个名词: ...

  9. TurtleBot3使用课程-第二节b(北京智能佳)

    目录 1.导航 2 1.1 运行导航节点 3 1.1.1 [远程PC]运行roscore 3 1.1.2 [turtlebot3 SBC]运行提出turtlebot3 3 1.1.3[远程PC]运行导 ...

  10. String被final修饰

    源码: