Deprecated: Creation of dynamic property db::$querynum is deprecated in /www/wwwroot/yuheagri.com/inc/func.php on line 1413

Deprecated: Creation of dynamic property db::$database is deprecated in /www/wwwroot/yuheagri.com/inc/func.php on line 1414

Deprecated: Creation of dynamic property db::$Stmt is deprecated in /www/wwwroot/yuheagri.com/inc/func.php on line 1453

Deprecated: Creation of dynamic property db::$Sql is deprecated in /www/wwwroot/yuheagri.com/inc/func.php on line 1454
STM32之TFT-LCD液晶_杏彩体育平台登录入口官网_杏彩-杏彩体育平台登录入口-杏彩体育平台登录入口官网
当前位置: 首页 > 新闻中心 > 杏彩体育平台登录入口官网
返回
列表

STM32之TFT-LCD液晶

发表时间: 2024-10-23 作者: 杏彩体育平台登录入口官网

  -LCD即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT-LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大幅度的提升了图像质量。TFT-LCD也被叫做真彩液晶显示器。

  *上下偏光片,TFT Glass Substrate,液晶:形成偏振光,控制光线的通过与否

  *Photo Spacer:提供一个固定高度给彩色滤光片和TFT Glass Substrate,作为灌入液晶的空间,以及做为上下两层Glass的支撑

  TFT-LCD使用的液晶为TN(Twist Nematic)型液晶,分子成椭圆状。TN型液晶一般是顺着长轴方向串接,长轴间彼此平行方式排列;当接触到槽状表面时,液晶分子就会顺着槽的方向排列与槽中

  当液晶被包含在两个槽状表面中间,且槽的方向相互垂直,则液晶分子的排列为:

  当在上下表面之间加电压时,液晶分子会顺着电场方向排列,此时入射光线不再会旋转,因而光线直线射出下表面

  当液晶分子呈如图方向排列时,光线偏振方向将不再发生旋转,最终无法通过偏光片

  TFT上下各有一片偏振方向垂直的偏光片,背光板发出的光经背光模组散射后,先通过下层偏光片形成偏振光

  在经过彩色滤光片产生红、绿、蓝三色光,最后通过上偏光片,并由偏振光偏振方向与偏光片偏振方向夹角决定最终输出的光强,以形成不同的色彩。

  发光强弱由MOS管控制液晶偏转角度,从而控制光线出口强弱达到控制色彩目的.

  假设240*320分辨率液晶则由于 基本色彩是3原色 所以总共有240*320*3个 MOS管

  “像素”(Pixel) 是由 Picture(图像) 和 Element(元素)这两个单词的字母所组成的,是用来计算数码影像的一种单位,如同摄影的相片一样,数码影像也具有连续性的浓淡阶调,我们若把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小方点所组成,这些小方点就是构成影像的最小单位“像素”(Pixel)。这种最小的图形的单元能在屏幕上显示通常是单个的染色点。越高位的像素,其拥有的色板也就越丰富,越能表达颜色的真实感。

  由于TFT 液晶我使用的是2.8寸的240*320分辨率(像素),16位真彩显示(接近自然色)

  由于是16为数据,所以最低5位代表蓝色,中间6位为绿色,最高5位为红色。数值越大,表示该颜色越深。

  采用16位数据线(低了速度太慢,用彩色就没什么效果了)。该模块的80并口有如下一些信号线:

  R0,这个命令,有两个功能,如果对它写,则最低位为OSC,用于开启或关闭振荡器。而如果对它读操作,则返回的是控制器的型号。这个命令最大的功能是通过读它能够获得控制器的型号,而我们代码在知道了控制器的型号之后,可以针对不一样型号的控制器,进行不同的初始化。因为93xx系列的初始化,其实都比较类似,我们可完全用一个代码兼容好几个控制器。

  R3,入口模式命令。我们着重关注的是I/D0、I/D1、AM这3个位,因为这3个位控制了屏幕的显示方向。

  AM:控制GRAM更新方向。当AM=0的时候,地址以行方向更新。当AM=1的时候,地址以列方向更新。

  I/D[1:0]:当更新了一个数据之后,根据这两个位的设置来控制地址计数器自动增加/减少1,

  /--------------------------------------------------------------------------------------------------------------------------------------------

  R7:显示控制命令。该命令CL位用来控制是8位彩色,还是26万色。为0时26万色,为1时八位色。D1、D0、BASEE这三个位用来控制显示开关与否的。当全部设置为1的时候开启显示,全0是关闭。我们一般是通过该命令的设置来开启或关闭显示器,以降低功耗。

  R32,R33:设置GRAM的行地址和列地址。R32用于设置列地址(X坐标,0~239),R33用于设置行地址(Y坐标,0~319)。当我们要在某个指定点写入一个颜色的时候,先通过这两个命令设置到改点,然后写入颜色值就可以了.

  R34:写数据到GRAM命令,当写入了这个命令之后,地址计数器才会自动的增加和减少。该命令是我们要介绍的这一组命令里面唯一的单个操作的命令,只需要写入该值就可以了,其他的都是要先写入命令编号,然后写入操作数.

  R80~R83:行列GRAM地址位置设置。这几个命令用于设定你显示区域的大小,我们整个屏的大小为240*320,但是有时候我们只需要在其中的一部分区域写入数据,如果用先写坐标,后写数据这样的方式来实现,则速度大打折扣。此时我们就能够最终靠这几个命令,在其中开辟一个区域,然后不停的丢数据,地址计数器就会根据R3的设置自动增加/减少,这样就不需要频繁的写地址了,大幅度的提升了刷新的速度。

  我们接下来看看要怎么样才可以驱动ALIENTEK TFTLCD模块,TFTLCD显示需要的相关设置步骤如下:

  这一步,先将我们与TFTLCD模块相连的IO口设置为输出,具体使用哪些IO口,这里应该要依据连接电路以及TFTLCD模块的设置来确定。

  其实这里就是上和上面OLED模块的初始化过程差不多。通过向TFTLCD写入一系列的设置,来启动TFTLCD的显示。为后续显示字符和数字做准备。

  //------写数据函数---------这里我们采用了宏定义的方式,以提高速度(由于显示图像写入读出频繁):

  上面函数中的是C语言中的一个转义字符,用来连接上下文,因为宏定义只能是一个串,而当你的串过长(超过一行的时候),就需要换行了,此时就一定要通过反斜杠来连接上下文。这里的正是起这个作用