Presentation is loading. Please wait.

Presentation is loading. Please wait.

液晶显示 技术 wateryear.

Similar presentations


Presentation on theme: "液晶显示 技术 wateryear."— Presentation transcript:

1 液晶显示 技术 wateryear

2 提纲 一.硬件基础部分 二. 应用编程基础 三.程序示例: 1.液晶显示屏(LCD) 1.1 主要用途: 1.2 分类: 1.3 灰度:
2.1 驱动与显示 2.2 数据格式 2.3 部分重要接口: 三.程序示例:

3 一.硬件基础部分

4 1.液晶显示屏(LCD) 1.1 主要用途: 液晶屏(LCD:Liquid Crystal Display)主要用于显示文本及图形信息。液晶显示屏具有轻薄、体积小、低耗电量、无辐射危险、平面直角显示以及影像稳定不闪烁等特点,因此在许多电子应用系统中,常使用液晶屏作为人机界面。

5 1.2 分类: 1.2.1 液晶显示屏按显示原理分为STN 和TFT 两种: STN(Super Twisted Nematic,超扭曲向列)液晶屏 STN 液晶显示器中,使用X、Y 轴交叉的单纯电极驱动方式,即X、Y 轴由垂直与水平方向的驱动电极构成,水平方向驱动电压控制显示部分为亮或暗,垂直方向的电极则负责驱动液晶分子的显示。STN 液晶显示屏加上彩色滤光片,并将单色显示矩阵中的每一像素分成三个子像素,分别通过彩色滤光片显示红、绿、蓝三原色,也可以显示出色彩。单色液晶屏及灰度液晶屏都是STN 液晶屏。

6 不加电 加电 不加电 加电 组织结构 不加电 加电

7 TFT(Thin Film Transistor,薄膜晶体管)彩色液晶屏
随着液晶显示技术的不断发展和进步, TFT 液晶显示屏被广泛用于制作成电脑中的液晶显示设备。 TFT 液晶显示屏既可在笔记本电脑上应用(现在大多数笔记本电脑都使用TFT 显示屏),也常用于主流台式显示器

8

9 液晶显示屏按显示色彩分为单色和彩色 单色

10 彩色

11 1.3 灰度: 大家知道,液晶的显示效果,是由加在液晶上的有效电压决定的。 灰度(彩色)的实现有两种方式,即PWM(脉宽调制)和FRC(帧率控制)。 PWM是在一次扫描时间内分成若干个时间片,如16级灰度,就分成16个时间片,如果显示5/16灰度,那么只有5/16的时间内是有驱动电压的(对同一个点而言),最后的等效电压就只有全黑的5/16了; FRC跟PWM类似,只是每个时间片变成了一帧,如显示16级灰度,那么就要用16帧,显示5/16的灰度,在16帧里只有5帧有驱动电压(对同一个点而言),最后的等效电压就只有全黑的5/16了。 至于彩色,跟灰度是一样的,只是三基色的调配而已,如3-3-2方式的256色,只是RGB三个颜色的灰度分别是8,8,4而已

12

13

14 大家知道,现代显示器件的显示方式,基本上都是采用动态扫描的方法实现整幅画面的显示。
比如电视机的显像管(CRT,阴极射线管),通过帧同步信号和行同步信号的控制,电子枪的电子束逐行逐点的扫描,将电子打在荧光点上,使之发光,通过视觉暂留的作用,我们看到的就是一副完整的画面。

15 LCD与CRT类似,也是动态的扫描。但CRT是模拟方式的,通过电路控制,电子束可以任意移动,而LCD是数字方式的,只有位置固定的电流通路,所以只能通过电路矩阵逐行扫描,而不能到逐点,即一行上所有的点同时工作。

16 二. 应用编程基础

17 2.1 驱动与显示 液晶屏的显示要求设计专门的驱动与显示控制电路。驱动电路包括提供液晶屏的驱动电源和液晶分子偏置电压,以及液晶显示屏的驱动逻辑;显示控制部分可由专门的硬件电路组成,也可以采用集成电路(IC)模块,比如EPSON 的视频驱动器等;还可以使用处理器外围LCD 控制模块。实验板的驱动与显示系统包括S3C2410X 片内外设LCD 控制器、液晶显示屏的驱动逻辑以及外围驱动电路。

18

19 驱动模块内部结构

20 Buffer组成结构

21 2.2 数据格式 需要与硬件工程师配合的是他采用了哪种接线方法,24位(RGB888)16(RGB565)位 8(单色)或其它。

22 2.3 部分重要接口: LDD[0~7]:7位数据线。 L_PCLK:点时钟(Pixel clock),用于把每一点的数据送入移位寄存器; L_LCLK:行时钟(Line clock),用于指示一行数据由移位寄存器到显示驱动芯片传输完毕,并使得行指针加1。在16位TFT方式下,就是水平同步信号; L_FCLK:帧时钟(Frame clock),用于指示一帧图像的开始,同时把行指针置于显示屏的第一行。在16位TFT方式下,就是垂直同步信号;

23 三.程序示例

24 本程序是一个简单的实现驱动320*240LCD的应用程序,希望能起到抛砖引玉的效果。

25 SED1335驱动320*240LCD /*========================================= SED1335驱动320x240图形液晶驱动演示程序 接口情况表述: No: LCM 1...VSS..... GND 地线 2...VDD V(VCC) 电源 3...VO Vadj Input 对比度负压调整输入 4...A P2.0 寄存器选择信号,命令数据方式选择 5.../WR..... WR 写有效 6.../RD..... RD 读有效

26 7...D P 数据总线 D0 8...D P 数据总线 D1 9...D P 数据总线 D2 10..D P 数据总线 D3 11..D P 数据总线 D4 12..D P 数据总线 D5 13..D P 数据总线 D6 14..D P 数据总线 D7 15../CS .... GND 片选通信号,低电平有效.实际使用应编入地址 16../RES.... /RESET 复位信号,低电平有效,阻容式复位电路 17..VEE Vout 逆变-22.5V 负电压输出 18..VSS..... GND 地线 0V ============================================= 320x240液晶模块配用sed1335驱动接口板,sed1335驱动接口板上配用32K ram ============================================*/

27 #include <ABSACC. H> #include <AT89X55. H> //. SED1335参数设置
#include <ABSACC.H> #include <AT89X55.H> //*************SED1335参数设置*****************// #define system_set  0x40 //SED1335指令 #define sleep_in  0x53 #define disp_on  0x59 #define disp_off  0x58 #define scroll  0x44 #define scrform  0x5d #define cgram_adr  0x5c #define csrdir_right 0x4c #define csrdir_left 0x4d #define csrdir_up  0x4e #define csrdir_down 0x4f #define hdot_scr  0x5a #define ovlay  0x5b #define csrw  0x46 #define csrr  0x47 #define mwrite  0x42 #define mread  0x43

28 //#define DWR XBYTE [0x0400] //#define CWR XBYTE [0x0A00] /
//#define DWR XBYTE [0x0400] //#define CWR XBYTE [0x0A00] /*--  文字:  常  --* /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/ unsigned int code chang[] = {0x04,0x18,0x10,0x90,0x77,0x55,0x15,0xF5, 0x15,0x15,0x37,0xD0,0x54,0x18,0x10,0x00, 0x00,0x00,0x7C,0x40,0x40,0x40,0x40,0xFF, 0x40,0x40,0x48,0x44,0x78,0x00,0x00,0x00}; unsigned char code system_set_code[8]  //   ={0x30,0x87,0x07,39,60,239,40,0};     ={0x30,0x87,0x07,39,66,240,48,0}; unsigned char code scroll_set_code[10]     ={0x0,0x0,240,0x80,0x25,240,0x00,0x4B,0x80,0x70}; code scrform_ini[2]={0x07,0x86}; code hdot_scr_ini[1]={0x00}; code ovlay_ini[1]={0x00}; code disp_on_ini[1]={0x16}; code disp_off_ini[1]={0x00}; code cur_set_ini1[2]={0x00,0x00}; code null[1]={0x00}; code kill[]={0x63}; sbit SED1335_A0=P2^0; sbit SED1335_WR=P2^1; sbit SED1335_RD=P2^2; sbit CS=P2^4; sbit SEL1=P2^3;

29 void main(void)   {   init_sed1335();   display_sed1335();     }

30 //****************初始化SED1335******************// init_sed1335() {  SEL1=0;CS=0;  sed1335_write(disp_off,disp_off_ini,1);  sed1335_write(system_set,system_set_code,8);  sed1335_write(scroll,scroll_set_code,10);  sed1335_write(scrform,scrform_ini,2);  sed1335_write(hdot_scr,hdot_scr_ini,1);  sed1335_write(ovlay,ovlay_ini,1);  sed1335_write(csrw,cur_set_ini1,2);  sed1335_write(csrdir_right,null,1);  clr_scr();  sed1335_write(disp_on,disp_on_ini,1); }

31 void sed1335_write(unsigned int commandcode,unsigned int
void sed1335_write(unsigned int commandcode,unsigned int *parameter,unsigned int n) {  unsigned i=0;  SED1335_A0=1;SED1335_WR=0;SED1335_RD=1;  P0=commandcode;  SED1335_A0=0;SED1335_WR=0;SED1335_RD=1;  for(i=0;i<n;i++)  {   P0=parameter[i];  } }

32 void clr_scr() {  int i=0; sed1335_write(csrdir_right,null,1); sed1335_write(csrw,cur_set_ini1,2);  SED1335_A0=1;SED1335_WR=0;SED1335_RD=1; P0=mwrite;  SED1335_A0=0;SED1335_WR=0;SED1335_RD=1;  for(i=0;i<32000;i++)  { P0=0x00;  } sed1335_write(csrw,cur_set_ini1,2); }

33 display_sed1335() {  int i=0;   SED1335_A0=0;
SED1335_WR=0; SED1335_RD=1; SEL1=0; CS=0;   for(i=0;i<32;i++)    {    P0=chang[i]; } }

34 THANKS

35


Download ppt "液晶显示 技术 wateryear."

Similar presentations


Ads by Google