液晶屏幕的驱动方式是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了液晶屏幕的驱动方式是啥?相关的知识,希望对你有一定的参考价值。
液晶显示器(LCD)包括配备有公共电极和滤色器的上板、配备有薄膜晶体管(TFT)和像素电极的下板、以及介于板的平面层之间的液晶层。LCD通过控制光线透射率来显示图像,而对光线透射率的控制是通过给像素电极和公共电极施加电压以产生改变液晶分子的排列的电压实现的。一点倒置和两点倒置被用于驱动LCD。一点倒置和两点倒置都在帧中施加与前一帧中的数据信号的极性相反的数据信号。一点倒置对连接到前一条栅极线的像素施一个数据信号,并且对连接到当前栅极线的像素实施一个数据信号,使得这两个数据信号的极性相反。相对于施加在与前面两条栅极线连接的两个像素上的数据信号,两点倒置将施加在与两条栅极线连接的两个像素上的数据信号的极性倒置。
如果施加在与当前栅极线连接的像素上的数据信号的极性与施加在与前一条栅极线连接的像素上的数据信号的极性相同,则施加在与下一条栅极线连接的像素上的数据信号的极性与施加在与当前栅极线连接的像素上的数据信号的极性相反。随着LCD的应用领域扩展到传统上由阴极射线管(CRT)所占据的计算机监视器、电视机等,出现了对支持不同分辨率和屏幕扫描速率的需要。但是,由于传统的LCD具有与CRT不同的固定的垂直频率,因此,需要利用比例引擎和帧存储器进行分辨率和扫描速率的转换,以支持不同的分辨率如VGA(640×480)、SVGA(800×600)、XGA(1024×768)、SXGA(1280×1024)、UXGA(1600×1200)等和不同的扫描速率如60Hz、70Hz、72Hz、75Hz、85Hz等。
参考技术A液晶显示屏简称液晶屏,是液晶显示器的关键部件,常见的主要有扭转向列TN型超扭转向列STN型及薄膜晶体管TFT型三种。从技术层次和价格水平上看,按TN、STN、TFT的排列顺序依次递增。TN型主要用于3in以下的黑白小屏幕,如电子表、计算器、掌上游戏机等;STN型配*色滤光片可显示多种色彩,多用于文字、数字及绘图功能的显示,如低档的笔记本电脑、掌上电脑、手机和个人数字助理(PDA)等便携式产品;T田型具有反应速度快等优点,特别适用于动画及显像显示,因此在数码相机、液晶投影仪、笔记本电脑、桌上型液晶显示器中得到了广泛的应用。
参考技术B采用被动矩阵LCD技术的最大问题是难以快速地控制单独的液晶单元,并以足够大的电流保证来获得好的对比度、足够的灰阶和较快的响应时间,从而影响了动态影像的显示效果。主动矩阵LCD通过单独地控制每个单元,有效地解决了上面的问题。与被动矩阵LCD相似,主动矩阵LCD的上、下表层也纵横有序地排列着用铟锡氧化物做成的透明电极。所不同的是在每个单元中都加入了很小的晶体管,由晶体管来控制每个单元回路的开和关。晶体管电极是利用薄膜技术做成的,薄膜晶体管LCD也因此得名。
LCD屏幕的驱动
文章目录
一、LCD屏幕简介
1、成像特点
TFTLCD即薄膜晶体管液晶显示器。它与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。
240*320分辨率 16位真彩显示(65536色)
自带电阻触摸屏
自带背光电路
注意:模块是3.3V供电的,不支持5V 电压的MCU,如果是5V MCU,必须 在信号线串接120R电阻使用。
2、模块原理图
3、接口说明图
4、并口驱动
模块的8080并口读/写的过程为: 先根据要写入/读取的数据的类型,设置RS为高(数据)/低(命令),然后拉低片选,选中ILI9341,接着我们根据是读数据,还是要写数据置RD/WR为低,然后: 1.读数据:在RD的上升沿, 读取数据线上的数据(D[15:0]); 2.写数据:在WR的上升沿,使数据写入到ILI9341里面
5、驱动流程:
6、指令介绍:
模块对外接口采用16位并口,颜色深度为16位,格式为RGB565,即是:R5,G6,B5
关系如下图:
ILI9341所有的指令都是8位的(高8位无效),且参数除了读写GRAM的时候是16位,其他操作参数,都是8位的。 ILI9341的指令很多,这里不一一介绍,仅介绍几个重要的指令,他们是:0XD3,0X36,0X2A,0X2B,0X2C,0X2E等6条指令。
0XD3指令:该指令为读ID4指令,用于读取LCD控制器的ID 。因此,同一个代码,可以根据ID的不同,执行不同的LCD驱动初始化,以兼容不同的LCD屏幕。
0X36指令:该指令为存储访问控制指令,可以控制ILI9341存储器的读写方向,简单的说,就是在连续写GRAM的时候,可以控制GRAM指针的增长方向,从而控制显示方式(读GRAM也是一样)。
0X2A指令:该指令是列地址设置指令,在从左到右,从上到下的扫描方式(默认)下面,该指令用于设置横坐标(x坐标)
在默认扫描方式时,该指令用于设置x坐标,该指令带有4个参数,实际上是2个坐标值:SC和EC,即列地址的起始值和结束值,SC必须小于等于EC,且0≤SC/EC≤239。一般在设置x坐标的时候,我们只需要带2个参数即可,也就是设置SC即可,因为如果EC没有变化,我们只需要设置一次即可(在初始化ILI9341的时候设置),从而提高速度。
0X2B指令:该指令是页地址设置指令,在从左到右,从上到下的扫描方式(默认)下面,该指令用于设置纵坐标(y坐标)
在默认扫描方式时,该指令用于设置y坐标,该指令带有4个参数,实际上是2个坐标值:SP和EP,即页地址的起始值和结束值,SP必须小于等于EP,且0≤SP/EP≤319。一般在设置y坐标的时候,我们只需要带2个参数即可,也就是设置SP即可,因为如果EP没有变化,我们只需要设置一次即可(在初始化ILI9341的时候设置),从而提高速度。
0X2C指令:该指令是写GRAM指令,在发送该指令之后,我们便可以往LCD的GRAM里面写入颜色数据了,该指令支持连续写 (地址自动递增)该指令是写GRAM指令,在发送该指令之后,我们便可以往LCD的GRAM里面写入颜色数据了,该指令支持连续写 (地址自动递增)
在收到指令0X2C之后,数据有效位宽变为16位,我们可以连续写入LCD GRAM值,而GRAM的地址将根据MY/MX/MV设置的扫描方向进行自增。例如:假设设置的是从左到右,从上到下的扫描方式,那么设置好起始坐标(通过SC,SP设置)后,每写入一个颜色值,GRAM地址将会自动自增1(SC++),如果碰到EC,则回到SC,同时SP++,一直到坐标:EC,EP结束,其间无需再次设置的坐标,从而大大提高写入速度。
0X2E指令:该指令是读GRAM指令,用于读取ILI9341的显存(GRAM),同0X2C指令,该指令支持连续读 (地址自动递增)
ILI9341在收到该指令后,第一次输出的是dummy数据(无效),第二次开始,读取到的才是有效的GRAM数据(从坐标:SC,SP开始),输出规律为:每个颜色分量占8个位,一次输出2个颜色分量。比如:第一次输出是R1G1,随后的规律为:B1R2G2B2R3G3B3R4G4B4R5G5... 以此类推
二、使用步骤
1.引入库
代码如下(示例):
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarnings('ignore') import ssl ssl._create_default_https_context = ssl._create_unverified_context
2.读入数据
代码如下(示例):
data = pd.read_csv( 'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv') print(data.head())
该处使用的url网络请求的数据。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
以上是关于液晶屏幕的驱动方式是啥?的主要内容,如果未能解决你的问题,请参考以下文章