0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32是如何驱动LCD的?

GReq_mcu168 来源:知晓编程 作者:知晓编程 2021-04-25 16:31 次阅读

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

5e890544-a4ba-11eb-aece-12bb97331649.png

▲驱动流程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里面;

5ef267b4-a4ba-11eb-aece-12bb97331649.png

▲8080并口写时序

5f303ddc-a4ba-11eb-aece-12bb97331649.png

▲8080并口读时序在NXP的UsingFlexIO to Drive 8080 Bus Interface LCDModule文档中同样也提到了8080接口(P6),我找到的介绍8080接口的官方文档,就只有NXP这个文档。

5f658eb0-a4ba-11eb-aece-12bb97331649.png

▲写时序

5fc25dde-a4ba-11eb-aece-12bb97331649.png

▲读时序

03

使用FSMC驱动8080接口

5fe7850a-a4ba-11eb-aece-12bb97331649.png

▲读时序

6023c1a0-a4ba-11eb-aece-12bb97331649.png

▲写时序04

颜色模式

4.1RGB565

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

6050d6b8-a4ba-11eb-aece-12bb97331649.png

4.1RGB888

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

60778786-a4ba-11eb-aece-12bb97331649.png

原文标题:STM32驱动LCD原理

文章出处:【微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • lcd
    lcd
    +关注

    关注

    34

    文章

    4411

    浏览量

    167103
  • LED显示屏
    +关注

    关注

    35

    文章

    1820

    浏览量

    98643
  • STM32
    +关注

    关注

    2266

    文章

    10873

    浏览量

    354844
收藏 人收藏

    评论

    相关推荐

    基于FPGA的LCD1602液晶显示模块驱动设计

    本文通过以LCD1602液晶显示模块为基础,介绍FPGA驱动LCD1602原理,详细介绍硬件原理图设计及FPGA驱动LCD1602软件设计,
    的头像 发表于 10-24 14:42 665次阅读
    基于FPGA的<b class='flag-5'>LCD</b>1602液晶显示模块<b class='flag-5'>驱动</b>设计

    利用MSP430的LCD外设驱动大型LCD

    电子发烧友网站提供《利用MSP430的LCD外设驱动大型LCD.pdf》资料免费下载
    发表于 10-22 09:22 0次下载
    利用MSP430的<b class='flag-5'>LCD</b>外设<b class='flag-5'>驱动</b>大型<b class='flag-5'>LCD</b>

    物联网系统中TFT_LCD屏主流驱动方案详解

    物联网系统中为什么要使用 TFT-LCD驱动 芯片 在物联网系统中使用TFT-LCD(薄膜晶体管液晶显示器)驱动芯片的原因主要可以归纳为以下几点: 专业性与高效性 1、专业图形处理:T
    的头像 发表于 09-23 18:06 448次阅读
    物联网系统中TFT_<b class='flag-5'>LCD</b>屏主流<b class='flag-5'>驱动</b>方案详解

    在rtthread系统中STM32103VET6使用硬件FSMC驱动LCD刷屏速度慢怎么解决?

    STM32103VET6板子,使用rtthread系统,用硬件FSMC驱动LCD(SSD1963)时,初始化时刷屏超级快,但进入线程中速度就变慢了,请教有无大佬遇到过这样的情况,有解决思路么?
    发表于 07-16 07:00

    使用STM32MP135驱动2.4寸 LCD屏幕,刷新率巨低为什么?

    使用STM32MP135 驱动2.4寸 LCD屏幕,刷新率巨低; 测试条件:(HAL库) 1、硬件SPI;2、IO操作使用寄存器配置;3、SPI时钟达到16M; SPI配置如下: IO操作配置如下: 之前使用MCU操作,刷新
    发表于 05-20 06:51

    AiP31063L—80通道点阵LCD驱动电路

    AiP31063L—80通道点阵LCD驱动电路
    的头像 发表于 05-16 09:32 331次阅读
    AiP31063L—80通道点阵<b class='flag-5'>LCD</b>列<b class='flag-5'>驱动</b>电路

    STM32F429的LCD驱动驱动7寸屏,使用存在刷屏慢的现象怎么解决?

    最近有一个项目,对于人机交互采用7寸液晶屏,想选一款带LCD驱动器的CPU,不知道大家是否用STM32F429的LCD驱动
    发表于 05-07 07:21

    80通道点阵LCD驱动电路AiP31063L芯片介绍

    AiP31063L是一款采用低功耗高压CMOS技术的LCD驱动集成电路。该集成电路由40×2位双向移位寄存器,40×2位数据锁存和40×2位LCD驱动部分组成,该电路用作列
    的头像 发表于 04-26 16:36 601次阅读
    80通道点阵<b class='flag-5'>LCD</b>列<b class='flag-5'>驱动</b>电路AiP31063L芯片介绍

    32×4 LCD显示驱动芯片VKL128数据手册

    电子发烧友网站提供《32×4 LCD显示驱动芯片VKL128数据手册.pdf》资料免费下载
    发表于 04-22 14:09 1次下载

    stm32G474VETx的芯片驱动LCD 8bit,读不到LCD的ID,驱动不正常的原因?

    F103的板卡,用FSMC驱动LCD 8bit 没有问题 现在用stm32G474VETx的芯片驱动同样的屏,读不到LCD的ID,
    发表于 04-10 08:02

    PC1621K LCD 驱动电路数据手册

    电子发烧友网站提供《PC1621K LCD 驱动电路数据手册》资料免费下载
    发表于 03-12 11:01 0次下载

    使用低速模式驱动LCD时,LCD不能正常显示是为什么?

    如题,我在使用低速模式驱动LCD时遇到困难,LCD不能正常显示,不应该显示的部分也显示出来了,调整对比度和刷新频率也没能消除该异常现象。而我在高速模式下显示是正常的,请问我该如何定位该问题,有什么解决措施吗?例外,低速模式
    发表于 02-22 06:29

    STM32H5开发(6)----SPI驱动TFT-LCD

    在嵌入式领域,TFT-LCD屏是最常用的显示解决方案之一,因为它们提供了丰富的颜色和高分辨率的图像显示能力。STM32H5作为ST的高性能微控制器系列,具备了强大的处理能力和多种通信接口,非常适合于驱动TFT-
    的头像 发表于 12-01 16:45 2607次阅读
    <b class='flag-5'>STM32</b>H5开发(6)----SPI<b class='flag-5'>驱动</b>TFT-<b class='flag-5'>LCD</b>屏

    基于STM32CUBEMX驱动低压步进器电机驱动器STSPIN220(2)----驱动STSPIN220

    本文档的目标是提供关于使用STM32CubeMX驱动低压步进电机驱动器STSPIN220的详尽信息和操作指南。通过本文档,将深入了解如何利用STM32CubeMX来配置电机
    的头像 发表于 12-01 15:25 939次阅读
    基于<b class='flag-5'>STM32</b>CUBEMX<b class='flag-5'>驱动</b>低压步进器电机<b class='flag-5'>驱动</b>器STSPIN220(2)----<b class='flag-5'>驱动</b>STSPIN220

    STM32 PWM驱动舵机实验

    STM32 simulink驱动舵机效果如图5.1所示,本次实验用到的Simulink简易模型如图5.2所示,电路图接法如图5.3所示,YF-STM32-ALPHA开发板舵机接口位置如图5.4所示
    的头像 发表于 11-29 16:30 2637次阅读
    <b class='flag-5'>STM32</b> PWM<b class='flag-5'>驱动</b>舵机实验