关于液晶显示器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于液晶显示器相关的知识,希望对你有一定的参考价值。

想买个电脑显示器,现在什么牌子的好听说冠捷不错,显示器的清晰否是不是看对比度越高越清晰,有十万比一得,还有五千万比一(动态)得是什么意思?
24寸显示器主要看哪些实际的参数???

目前的LCD显示器正逐渐的取代传统的CRT显示器日益成为消费者选购的主流,不少的消费者既想购买LCD显示器,而面对市场上种类繁多的品牌和宣传单上令人费解的技术参数说明又不了解,惟恐受骗上当,而在这篇文章中,笔者将对LCD的特点、分类、接口类型等作了介绍,并对目前LCD比较关键的一些指标进行了说明。为用户提供更多更详细的参考,让用户对LCD各指标的含义有所了解。“白皮书”中还结合目前的LCD产品现状,对LCD的各个指标的基本标准、度量单位以及测量方法等作出了定义。

一、LCD的与CRT显示器的不同
CRT:(cathode ray tubes)全称是阴极射线管,它是通过电子束击打在涂有发光物质的真空管上发出各种颜色的光线来产生图象的,这种显示技术是采用最广泛的显示技术电视机,电脑显示器基本上都采用了这种技术。
由于这技术历经了数十年的发展。相当的成熟可靠,在显示图像上的优点有:反应速度快,对比度高,可视角度大,几乎可以显示无数种色彩。
不过这种技术也有不少缺点(这也是它要被液晶显示器取代的原因),比如:由于要让电子束产生偏转,显示管的体积较大,同时在制造流程中不可避免的要采用到有毒的材料,不利于环保和回收再利用。 它还有一个最大的缺点就是在工作时会放射出对人体有害的X射线。

而近年来发展最迅猛的就是LCD显示技术,LCD的英文全称是Liquid Crystal Display,其中用来发光产生图象的物质是液晶(Liquid Crystal),液晶是一种介于固态和液态之间的物质,是具有规则性分子排列的有机化合物。如果把它加热会呈现透明的液体状态,把它冷却则会出现结晶颗粒的混浊固体状态。

而LCD的显示原理就是利用电流来改变液晶分子的排列来产生明暗的变化和色彩从而显示图象。

LCD技术从发明到的发展成熟也经历了几个阶段,根据液晶驱动方式分类,可将目前LCD产品分为扭曲向列(TN/Twisted Nematic)型、超扭曲向列(STN/Super Twisted Nematic)型及薄膜晶体管(TFT/Thin Film Transistor)三大类。

目前主流的技术是TFT。以下主要介绍的也是基于这种技术的显示器。

TFT型的LCD具有:文本显示效果好,没有画面的几何失真;亮度大;无辐射,健康环保;省电;占用空间小;使用寿命长;轻便易于携带的优点。

而相对于CRT显示器,LCD技术的缺点包括:反应速度相对较慢、可视角度小、显示色彩有限,不过随着技术的进步,LCD技术的缺点正在逐步的得到克服,厂商也不断的推出一些新技术,比如针对反应速度慢的特点进行技术改进,推出了反应速度在15毫秒以下的产品如Maya的“极速王”NFS-7”。还有旨在提高亮度和对比度的“四灯管”和“U型灯管”技术等等,这些技术都极大的提高了液晶显示器的显示效果。因此TFT型已经成为了目前液晶显示器产品方面的主流类型。

下面围绕着液晶显示器的技术参数给大家做一些解释和介绍:
一、LCD的重要技术指标
无论是在商家的促销传单中,还是在LCD显示器的说明书里,你经常会看到以下的术语:

1、LCD的尺寸标示
液晶显示器的尺寸标示与CRT显示器不同,液晶显示器的尺寸是以实际可视范围的对角线长度来标示的。尺寸标示使用厘米(cm)为单位,或按照惯例使用英寸作为单位。

而CRT显示器的尺寸标称则包括边框包裹住不可见的部分,因此才会有17寸CRT显示器的大小相当于15寸液晶显示器这中说法。

2、点距、分辨率
CRT显示器的分辨率在规定的范围内是可以随意调节的,而液晶显示器则不同,因为LCD显示器是由数量众多的晶体管构成的,因此这就决定了其最佳分辨率就是其固定分辨率,同级别的液晶显示器的点距也是一定的。液晶显示器在全屏幕任何一处点距是完全相同的。不过由于在LCD晶体管的每一个晶体管都是紧密排列的,因此在CRT显示器中很重要的点距、分辨率在LCD显示器中反而变的不是很重要。

3、画面失真
画面失真在CRT显示器中是一个普遍的现象,即使是顶级的CRT显示器也会或多或少的存在着失真画面现象,而与此不同的是,液晶显示器基本不存在线性失真和非线性失真。

在非固定分辨率下,液晶显示器可采用修补点算法实现图像的满屏显示,但其显示效果会有一些影响,图像的清晰度和逼真度都会有所降低。

4、刷新率
LCD显示器的刷新率与CRT相比有着原理上的区别。
首先,LCD是对整幅的画面进行刷新,而在CRT上则是将画面分成若干“扫描线”来进行刷新的,这导致后者会出现画面闪烁的问题,而LCD即使在较低的刷新率(如60Hz)下,也不会出现闪烁的现象。因此,这就决定了刷新率对于LCD来说并不是一个重要的指标。
而更大的刷新频率指标只能说明LCD可以接受并处理具有更高频率的视频信号,而对画面效果而言,并不会有所提高。所以,在选购时大可不必在刷新频率上下大功夫。

5、亮度
高亮度是传统CRT显示器的弱项,而在去年,几乎所有的CRT显示器生产厂商都打出了“高亮”牌,大家都把提高CRT显示器的亮度作为一个卖点,市面上才有了“显亮”“高亮王”这些技术和产品。

而随着多媒体应用的越来越广泛,对于LCD显示器而言,这同样显的非常重要,因为这是液晶显示器的强项。亮度的单位一般是“cd/m2”,数值越大说明显示器的亮度越高。一般来说显示效果越好。目前主流的液晶显示器的亮度都可以达到200-250cd/m2左右。

6、对比度
对比度是LCD显示器中另一个非常重要的参数:数值越高越好,对比度高的LCD色彩层次更丰富,颜色更加逼真。目前中端LCD产品的对比度都在250:1以上,而一些高端产品的对比度已经达到了500:1。

7、可视角度
这个在CRT时代几乎被人忽视的参数,在LCD时代又被人重新的提及。

液晶显示器的可视角度包括水平可视角度和垂直可视角度两个指标,水平可视角度表示以显示器的垂直法线(即显示器正中间的垂直假想线)为准,在垂直于法线左方或右方一定角度的位置上仍然能够正常的看见显示图像,这个角度范围就是液晶显示器的水平可视角度;同样如果以水平法线为准,上下的可视角度就称为垂直可视角度。

一般而言,可视角度是以对比度变化为参照标准的。当观察角度加大时,该位置看到的显示图像的对比度会下降,而当角度加大到一定程度,对比度下降到10∶1时,这个角度就是该液晶显示器的最大可视角。一般主流LCD的可视角度为120~160度。目前主流的LCD的可是角度基本上都在120度以上,基本上可以满足消费者的需求,不必在这个参数上过多的计较。

8、响应时间
CRT的显示器普遍的响应时间都在5毫秒以内,因此在CRT显示器上基本没有标明这个参数,而液晶显示器由于其显示原理的限制,在响应时间上一直是它的劣势,响应时间过长带来的后果就是会在显示变化较快的场景时产生“拖影”现象,特别是在显示动态图象时如FPS游戏时特别的明显。

因此一些大的产商都把缩短液晶显示器的响应时间看成是一项重要的技术课题,它指液晶体从暗到亮(上升时间)再从亮到暗(下降时间)的整个变化周期的时间总和。响应时间使用毫秒(ms)单位。

一些无名商在标注LCD响应时间时大作手脚,将上升时间等同与整个的响应时间,企图误导消费者,因此广大消费者在购买时一定要询问清楚。

目前主流的LCD显示器的响应时间应该在25ms左右,一些高端产品的响应时间已经可以达到15-17毫秒左右。

9、色彩数量
CRT可以通过调整击打在显像管上的电流大小来显示出几乎无限的颜色数量。而由于发光原理的不同,液晶显示器的色彩数量比CRT显示器少,目前多数的液晶显示器的色彩数量为18位色(即262144色),但可以通过技术手段来模拟色彩显示,达到增加色彩显示数量的目的。

而且人眼分辨颜色的种类也是有限的,因此没有特殊需要的消费者对于这点也不必过于的苛求。

10、坏点
坏点实际上是液晶显示器的点缺陷的总称,它分为:亮点和暗点。

亮点:在黑屏的情况下呈现的R、G、B点叫做亮点。

亮点的出现分为两种情况:
(1)在黑屏的情况下单纯地呈现R或者G或者B色彩的点。
(2)在切换至红、绿、蓝三色显示模式下,只有在R或者G或者B中的一种显示模式下有白色点,同时在另外两种模式下均有其他色点的情况,这种情况是在同一像素中存在两个亮点。

暗点:在白屏的情况下出现非单纯R、G、B的色点叫做暗点。

暗点的出现分为两种情况:
(1)在切换至红、绿、蓝三色显示模式下,在同一位置只有在R或者G或者B一种显示模式下有黑点的情况,这种情况表明此像素内只有一个暗点。
(2)在切换至红、绿、蓝三色显示模式下,在同一位置上在R或者G或者B中的两种显示模式下都有黑点的情况,这种情况表明此像素内有两个暗点。

坏点:在白屏情况下为纯黑色的点或者在黑屏下为纯白色的点。

在切换至红、绿、蓝三色显示模式下此点始终在同一位置上并且始终为纯黑色或纯白色的点。这种情况说明该像素的R、G、B三个子像素点均已损坏,此类点称为坏点。

目前LCD产商和商家都宣称其产品“无坏点”。

其实据一位IBM部门负责人介绍,由于技术的限制,市面上根本就没有所谓的“无坏点”产品,不过厂家可以利用特殊的技术将原来的“亮点”处理成“暗点”。而“无亮点”这中说法还是比较科学的。比如:最近华硕笔记本就推出了“全屏无亮点”的促销活动。
二、LCD的接口类型
在CRT时代几乎所有的CRT显示器几乎清一色都采用了15针的D型接口。而随着液晶显示器的出现一种称之为DVI的显示接口也慢慢的被大家所熟悉。

DVI:接口的英文全称是Digital Visual Interface,其标准是1999年由Silicon Image、Intel、Compaq、IBM、HP、NEC、Fujitsu等公司共同组成数字显示工作组DDWG(Digital Display Working Group)推出的数字显示接口。

采用数字接口(如目前的DVI接口是主流)可以有效地减少信号的损耗和干扰,是最适合液晶显示器的。

不过目前提供DVI接口的显卡和视频输出设备并不多见,所以大多数液晶显示器仍然使用模拟信号接口。

但随着DVI接口的显卡和视频输出设备越来越多,液晶显示器采用数字接口也将成为必然。在选购时,如果条件允许最好选择带DVI接口的显卡和LCD。

还有记得,问清楚售后,这一点非常重要,保换时间是多少,保修时间是多少~~~~
参考技术A 选液晶显示器主要是以下几个方面:

1。显示屏的寿命。
也就是灯管的寿命。一般商家承诺的都是50000小时,保守来说一般是30000小时多些。LG,三星等韩国牌子的显示屏台湾产的比韩国的差一些。(个人感觉三星的显示器比LG的好些,LG的大概用5年左右会出毛病,三星的长些)

2。动态对比度。
动态对比度指的是液晶显示器在某些特定情况下测得的对比度数值,例如逐一测试屏幕的每一个区域,将对比度最大的区域的对比度值,作为该产品的对比度参数。不同厂商对于动态对比度的测量方法可能也不尽相同,但其本质也万变不离其宗。动态对比度与真正的对比度是两个不同的概念,一般同一台液晶显示器的动态对比度是实际对比度的3-5倍。 所以,动态对比度也不过就是厂商所玩的数字游戏,并没有实际意义。

3。节能。
现在全社会都提倡低碳环保生活,一样的性能,更节电一些显然是好的,很多大品牌显示器厂商都为其显示器产品提供了交流变压器,实际功耗比以往产品低很多。例如三星P2370,P2450H等产品,都配备了变压器,功耗只有43W,LG的2486L只有28W。

4,接口。
现在的液晶显示器一般都配备D-Sub,DVI-D,HDMI,VGA四大接口,还有的具有电视接口 PAL RF,模拟RGB,色差端子YPbPr, 复合信号CVBS, S端子, 耳机接口等,可根据实际需要进行选择。

综上几点,相信你可以选择一台称心如意的液晶显示器。
参考技术B AOC冠捷属于二线的一类产品吧,高端货可以,要品质的话建议就选三星,液晶屏的第一品牌,质量没问题,动态显示比是画面动态调节对比度,作用不明显,目前市场LED技术不是很好,LZ可以在等等看。

STM32实战应用——1602蓝牙时钟1液晶的显示测试

前言

从51到STM32F4学习这么久了,总算找到点头绪了,目前学习了GPIO,中断,定时器,看门狗的基本使用,所以想试着看看能不能做个什么东西,就是想复习一下最近学习的知识。正好上学期单片机课程设计做过一个可以蓝牙、按键校准、带温度显示的时钟,所以我想看能不能将程序移植到STM32上呢?说做就做,经过三天的时间,几次的程序修改和调试,终于成功了!

关于51单片机实现的时钟可以参考我以前发表的博文,里面还有演示的视频链接

由于STM32内部定时器的精度还是很高的(一小时慢1s),所以就没有使用DS1302时钟芯片(关键是手里没有),显示上和课程设计做的有些不一样,没有增加日期和星期显示,就时间、闹钟和温度的显示。 

今天先学习一下1602液晶的显示,那么如何用STM32控制LCD1602显示字符,字符串或数字呢?

1602液晶介绍

工业字符型液晶,能够同时显示16x02即32个字符。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

由于1602液晶是5V供电,引脚高电平为5v。不像51单片机IO输出高电平5v,STM32高电平只有3.3v,低电平0v,找到了1602的数据手册,里面居然没有说明高电平电压范围,到底能不能驱动呢?我又查找了1602驱动芯片HD44780的数据手册,其中有一个电压特性,如下图

可见用STM32的3.3v电平驱动显示完全没问题,看到这我就放心了,代码经过多次的修改后,终于成功显示了,所以还是要多看看数据手册。

硬件电路连接

 

 

程序设计

1.控制线宏定义,通过位带操作,以后就可以像51那样RS=1来操作了,是不是很熟悉呢?这里还将数据线的8个端口定义为了一个LCD_DB

#define LCD_RS PAout(1)
#define LCD_RW PAout(4)
#define LCD_EN PAout(6)
#define LCD_DB GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 |GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15

2.LCD相连的GPIO配置,将数据线端口配置为OD(开漏)输出模式,可以做双向IO使用,在检测LCD是否忙时,需要读取D7位的状态

void LCD_GPIO_Config(void)
{
    GPIO_InitTypeDef  IO_Init;
    
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOE,ENABLE);
    
    /*控制线初始化 : */
    IO_Init.GPIO_Mode=GPIO_Mode_OUT;        //输出
    IO_Init.GPIO_OType=GPIO_OType_PP;        //推挽模式
    IO_Init.GPIO_Pin=GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_6; 
    IO_Init.GPIO_PuPd=GPIO_PuPd_UP;            //
    IO_Init.GPIO_Speed=GPIO_Speed_2MHz;        //GPIO_Speed_2MHz
    GPIO_Init(GPIOA,&IO_Init);
    
    /*数据线初始化*/
    IO_Init.GPIO_Mode=GPIO_Mode_OUT;
    IO_Init.GPIO_OType=GPIO_OType_OD;        //开漏输出可双向
    IO_Init.GPIO_Pin=LCD_DB;
    IO_Init.GPIO_PuPd=GPIO_PuPd_UP;            //上拉
    IO_Init.GPIO_Speed=GPIO_Speed_2MHz;        
    GPIO_Init(GPIOE,&IO_Init);                        
    /*测试 : 高电平3.3v
    LCD_RS=1;
    LCD_RW=1;
    LCD_EN=1;
    GPIO_SetBits(GPIOE,LCD_DB); */
}

 

3.实现P1=0xff功能的函数,带参数

void GPIO_OutData(u8 Dat)
{
    u16 tmp;
    tmp = 0;
    tmp =Dat;
    tmp <<= 8;            //数据左移到高8位
    GPIO_Write(GPIOE,tmp);        //数据写入到GPIOE高8位
}

4.检测LCD是否忙

void LCD_CheckBusy(void)
{
    u8 sta;
    GPIO_OutData(0xff);
    LCD_RS=0;
    LCD_RW=1;
    do{
        LCD_EN=1;
        delay_ms(5);
        sta = GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_15);
        LCD_EN =0;
    }while(sta & 0x80);
}

 

5.向LCD写一字节数据

/* LCD_RS = 1, LCD_RW = 0 */
void LCD_WriteData(u8 Dat)
{

    LCD_CheckBusy(); //忙则等待
    LCD_RS=1;
    LCD_RW=0;
    GPIO_OutData(Dat);
    LCD_EN=1;
    delay_ms(1);
    LCD_EN = 0;
    
}

 6.向LCD写一字节命令

/*LCD_RS = 0, LCD_RW = 0*/
void LCD_WriteCmd(u8 Cmd)
{
    LCD_CheckBusy(); //忙则等待
    LCD_RS = 0;
    LCD_RW = 0;
    GPIO_OutData(Cmd);    
    LCD_EN = 1;
    delay_ms(1);
    LCD_EN = 0;     
}

 

7.LCD初始化

void LCD_Init(void)
{
    LCD_WriteCmd(0x38);
    LCD_WriteCmd(0x0C);
    LCD_WriteCmd(0x06);    /*显示光标移动设置*/    delay_ms(1);
    LCD_WriteCmd(0x01);    /*显示清屏*/
}

8.LCD清屏

void LCD_ClearScrren(void)
{
    LCD_WriteCmd(0x01);
}

 

9.根据xy坐标,写入对应的数据位置

void LCD_SetCursor(u8 x, u8 y)
{
    u8 addr;
    if (y == 0)
        addr = 0x00 + x;
    else
        addr = 0x40 + x;
    LCD_WriteCmd(addr | 0x80);
}

 10.根据xy坐标显示一个字符

 
void LCD_DisChar(u8 x,u8 y,u8 ch)
{
    LCD_SetCursor(x,y);        //字符显示位置设定
    LCD_WriteData(ch);
}

11.显示两位的数字

void LCD_DisNumber(u8 x,u8 y,u8 Num)
{
    LCD_SetCursor(x,y);
    LCD_WriteData(0x30+Num/10);
    LCD_SetCursor(x+1,y);
    LCD_WriteData(0x30+Num%10);
}

 

12.显示字符串

void LCD_DisString(u8 x,u8 y,u8 *str)
{
    LCD_SetCursor(x, y);
    while(*str != \'\\0\')
    {
        LCD_WriteData(*str++);
    }
}

 主函数

int main(void)
{
    delay_init(168);
    LED_Init();
    
    LCD_GPIO_Config();
    LCD_Init();
    LCD_ClearScrren();
    while(1)
    {
        delay_ms(500);
        LED1_ON;
        LCD_DisString(0,0,"abcdefghijklmnop");
        delay_ms(500);
        LED1_OFF;
        LCD_DisNumber(0,1,56);
        LCD_DisChar(2,1,\'a\');
        LCD_DisString(3,1," Hello World!");
    }    
}

 

实际显示效果:

显示非常完美,和51驱动没有什么区别

总结:

实际运行时,不使用检测忙函数也行,1602显示正常了,接下来就是增加定时器显示时钟了。在设置IO口模式时,可以将模式设置为开漏模式,就可以实现双向IO的目的,即可输出,又可以读取外部输入。通过位带操作和宏定义就可以像51那样直接操作IO口输出高低电平了。 

参考资料:

 
 程序源码下载链接: https://pan.baidu.com/s/1hsvEBcg 密码: fk3b

欢迎查看我以前的单片机学习笔记:

 
 
 
以上是我学习过程的一些个人理解,有不对或不准确的地方,欢迎各位大神指正。
 
2017年4月23日14:24:45
 欢迎大家关注我的个人博客

微信扫码关注我的公众号

不定期更新个人学习笔记和技术总结,欢迎大家互相学习交流!

 

以上是关于关于液晶显示器的主要内容,如果未能解决你的问题,请参考以下文章

关于屏幕标准定义问题

关于TFT液晶驱动芯片

万能液晶电视驱动程序-液晶显示器驱动板内的驱动程序在哪找?

液晶屏-- 有一种专门显示数字的液晶是叫啥液晶屏呀

第28章 LTDC—液晶显示中英文

Arduino:我的液晶lcd1602不会显示文字了