LCD简介

LCD的原理:我们在液晶面板后面加白光(即背光板),然后通过不同的电信号,令液晶分子选择性透光,这样液晶面板就显示出了不同的颜色。 

不难得出结论,LCD本身只会透光,不会发光。亮度控制是由背光板负责的。 
当前主流的LCD是TFT,特点是超薄、清晰。

1.LCD的信号

这里写图片描述

  • 对于嵌入式设备来说,最普遍的就是RGB信号

    • VD:数据信号,用来传输图像信息
    • HSYNC:帧同步信号,每发出一个脉冲,都意味着新的一屏图像数据开始发送
    • VSYNC:行同步信号,每发出一个脉冲,都意味着新的一行图像数据开始发送
    • VDEN:数据有效标志,时序信号,和HSYNC、VSYNC结合使用
    • LEND:行结束标志,时序信号,不是必须的,譬如210接口就没有
    • VCLK:时钟信号

    在帧同步以及行同步的头尾都必须留有回扫时间。这样的时序安排起源于 CRT 显示器电子枪偏转所需要的时间,但后来成为实际上的工业标准,因此 TFT 屏也包含了回扫时间

  • 此外,对于LCD来说,一般还有两个重要的输入信号,UPDN和SHLR,这两个信号的高低决定了LCD的扫描方向,通俗一点说就是决定了:LCD显示画面的上下、左右是否镜面反转。在LCD的datasheet中,不难发现: 
    这里写图片描述 
    这两个信号引脚一般直接硬件拉高拉低即可,软件不需要做任何的事情

2.LCD的接口

  • 而物理接口主要有两种,一种是ttl的接口,常用于7寸以下的LCD,以软排线相连,下图就是ttl接口的实际连线,可见与RGB信号有一一对应的关系 
    这里写图片描述
  • 另一种是lvds差分信号的接口,抗干扰性比较好,常用于7寸以上的LCD,以软排线相接。常见的lvds接口分为四通道(左图)、五通道(右图)、十通道。对于很多现代的soc,它们可以直接输出lvds差分信号,比如imx就是拥有五通道的lvds接口(右图) 
    这里写图片描述这里写图片描述

  • lvds上面跑的其实还是RGB信号,只是相对于ttl接口的线数变少,变成了串行输出罢了,而串行输出RGB信号又分为不同的模式,下图是imx支持的两种模式 
    这里写图片描述

  • 而所谓的VGA、HDMI等只是在长距离下的一种接口方式,并不直接对接LCD,需要进行转换,在嵌入式设备中不太常见

3.LCD的各种参数

  • RGB信号的六个时序参数:若要初始化soc中的LCD控制器,关键是设置如下七个时序参数

    • Clock frequency LCD的时钟频率,单位mhz
    • Horizontal pulse width 水平同步信号脉宽,单位dclk
    • Horizontal back porch 水平同步信号后肩,单位dclk
    • Horizontal front porch 水平同步信号前肩,单位dclk
    • Vertical pulse width 垂直同步信号脉宽,单位dclk
    • Vertical back porch 垂直同步信号后肩,单位dclk
    • Vertical front porch 垂直同步信号前肩,单位dclk 
      这些参数值都可以直接从LCD的datasheet获取
  • bpp(bits per pixel 像素深度):表示一个像素的颜色状态需要用几位来表示

    • 1位:单色显示,只有亮灭之分,常见的如小店招牌
    • 8位:灰度显示,此时能表示256种颜色,这时候显示不了色彩,但是有了黑白明暗的区别
    • 16位:一般是RGB565的颜色分布,即16位色
    • 24位:RGB888的颜色分布,称之为24位真彩
    • 32位:还是RGB888的颜色分布,剩下的8位代表透明度,故称之为ARGB,是目前主流
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在FreeRTOS中使用LCD显示,您需要添加一些文件和确保正确的初始化顺序。首先,您需要添加lcd.c、lcd.h、font.h以及驱动文件Driver目录下的stm32f10x_fsmc.c到您的项目中。这些文件将提供LCD显示所需的基础功能和驱动。 [1] 在初始化LCD之前,确保您的串口也被正确初始化。在一些情况下,如果没有正确初始化串口,LCD_Init()函数中可能会使用到printf()打印函数,这可能导致程序在初始化LCD时卡死。因此,确保LCD_Init()函数在USART1_Init(115200)之后被调用。这将确保在初始化LCD之前串口已经被正确初始化。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [FreeRTOS学习](https://blog.csdn.net/czy119__/article/details/129374092)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [【Free RTOS简介】](https://blog.csdn.net/weixin_43417388/article/details/124561072)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值