LCD驱动控制实验.docx

上传人:b****6 文档编号:5948815 上传时间:2023-01-02 格式:DOCX 页数:88 大小:124.10KB
下载 相关 举报
LCD驱动控制实验.docx_第1页
第1页 / 共88页
LCD驱动控制实验.docx_第2页
第2页 / 共88页
LCD驱动控制实验.docx_第3页
第3页 / 共88页
LCD驱动控制实验.docx_第4页
第4页 / 共88页
LCD驱动控制实验.docx_第5页
第5页 / 共88页
点击查看更多>>
下载资源
资源描述

LCD驱动控制实验.docx

《LCD驱动控制实验.docx》由会员分享,可在线阅读,更多相关《LCD驱动控制实验.docx(88页珍藏版)》请在冰豆网上搜索。

LCD驱动控制实验.docx

LCD驱动控制实验

 

 

 首页|学院介绍|院系专业|校园动态|教学资源|招生信息|就业推介|文化园地|SOVO|人才招聘

精品课程建设

课程简介

 

申报表

 

教学大纲

 

电子教案

 

 

教学实验

 

 

视频录像

 

 

负责老师

 

 

实践照片

 

 

课程习题

 

 

课程试卷

 

 

 

 

 

 

当前位置:

形象主页>首页>精品课程建设>课程介绍>《嵌入式ARM基础》

实验五

LCD的驱动控制实验

1.1实验目的

1.了解LCD基本概念与原理。

2.理解LCD的驱动控制。

3.熟悉用总线方式驱动LCD模块。

4.熟悉用ARM内置的LCD控制器驱动LCD。

1.2实验内容

学习LCD显示器的基本原理,理解其驱动控制方法。

掌握两种LCD驱动方式的基本原理和方法。

并用编程实现:

1.用总线方式直接驱动带有驱动模块的LCD。

2.用ARM内置的LCD控制器来驱动LCD。

1.3预备知识

1.用ARMADS1.2集成开发环境,编写和调试程序的基本过程。

2.ARM应用程序的框架结构。

1.4实验设备及工具

硬件:

ARM嵌入式开发平台、PC机Pentium100以上。

软件:

PC机操作系统win98、Win2000或WinXP、ARMADS1.2集成开发环境、超级终端通讯程序

1.5实验原理及说明

1.5.1.LCD(LiquidCrystalDisplay)原理

液晶得名于其物理特性:

它的分子晶体,以液态存在而非固态。

这些晶体分子的液体特性使得它具有两种非常有用的特点:

1、如果让电流通过液晶层,这些分子将会以电流的流向方向进行排列,如果没有电流,它们将会彼此平行排列。

2、如果提供了带有细小沟槽的外层,将液晶倒入后,液晶分子会顺着槽排列,并且内层与外层以同样的方式进行排列。

液晶的第三个特性是很神奇的:

液晶层能使光线发生扭转。

液晶层表现的有些类似偏光器,这就意味着它能够过滤除了那些从特殊方向射入之外的所有光线。

此外,如果液晶层发生了扭转,光线将会随之扭转,以不同的方向从另外一个面中射出。

液晶的这些特点使得它可以被用来当作一种开关——即可以阻碍光线,也可以允许光线通过。

液晶单元的底层是由细小的脊构成的,这些脊的作用是让分子呈平行排列。

上表面也是如此,在这两侧之间的分子平行排列,不过当上下两个表面之间呈一定的角度时,液晶随着两个不同方向的表面进行排列,就会发生扭曲。

结果便是这个扭曲的螺旋层使通过的光线也发生扭曲。

如果电流通过液晶,所有的分子将会按照电流的方向进行排列,这样就会消除光线的扭转。

如果将一个偏振滤光器放置在液晶层的上表面,扭转的光线通过(如图A),而没有发生扭转的光线(如图B)将被阻碍。

因此可以通过电流的通断改变LCD中的液晶排列,使光线在加电时射出,而不加电时被阻断。

也有某些设计为了省电的需要,有电流时,光线不能通过,没有电流时,光线通过。

 

图A 加电时                        图B 不加电时

图3-15光线穿过与阴断示意图

LCD显示器的基本原理就是通过给不同的液晶单元供电,控制其光线的通过与否,从而达到显示的目的。

因此,LCD的驱动控制归于对每个液晶单元的通断电的控制,每个液晶单元都对应着一个电极,对其通电,便可使光线通过(也有刚好相反的,即不通电时光线通过,通电时光线不通过)。

1.5.2.电致发光

LCD的发光原理是通过控制加电与否来使光线通过或挡住,从而显示图形。

光源的提供方式有两种:

透射式和反射式。

笔记本电脑的LCD显示屏即为透射式,屏后面有一个光源,因此外界环境可以不需要光源。

而一般微控制器上使用的LCD为反射式,需要外界提供光源,靠反射光来工作。

电致发光(EL)是液晶屏提供光源的一种方式。

电致发光的特点是低功耗,与二极管发光比较而言体积小。

电致发光(EL)是将电能直接转换为光能的一种发光现象。

电致发光片是利用此原理经过加工制作而成的一种发光薄片,如图3-16所示。

其特点是:

超薄、高亮度、高效率、低功耗、低热量、可弯曲、抗冲击、长寿命、多种颜色选择等。

因此,电致发光片被广泛应用于各种领域。

 

 

 

图3-16 电致发光片的基本结构

1.5.3.LCD的驱动控制

市面上出售的LCD有两种类型:

一种是带有驱动电路的LCD显示模块,这种LCD可以方便地与各种低档单片机进行接口,如8051系列单片机,但是由于硬件驱动电路的存在,体积比较大。

这种模式常常使用总线方式来驱动。

另一种是LCD显示屏,没有驱动电路,需要与驱动电路配合使用,如图3-17所示。

特点是体积小,但却需要另外的驱动芯片。

也可以使用带有LCD驱动能力的高档MCU驱动,如ARM系列的S3C44BOX。

 

图3-17 不带驱动电路的LCD结构

(1) 总线驱动方式

一般带有驱动模块的LCD显示屏使用这种驱动方式,由于LCD已经带有驱动硬件电路,因此模块给出的是总线接口,便于与单片机的总线进行接口。

驱动模块具有八位数据总线,外加一些电源接口和控制信号。

而且自带显示缓存,只需要将要显示的内容送到显示缓存中就可以实现内容的显示。

由于只有八条数据线,因此常常通过引脚信号来实现地址与数据线复用,以达到把相应数据送到相应显示缓存的目的。

下图3-18为一个典型的显示模块(HY-12864B)提供的总线接口。

图3-18 典型带驱动液晶模块的总线接口

(2) 控制器扫描方式

S3C2410X中具有内置的LCD控制器,它具有将显示缓存(在系统存储器中)中的LCD图象数据传输到外部LCD驱动电路的逻辑功能。

S3C2410X中内置的LCD控制器可支持灰度LCD和彩色LCD。

在灰度LCD上,使用基于时间的抖动算法(time-basedditheringalgorithm)和FRC(FrameRateControl)方法,可以支持单色、4级灰度和16级灰度模式的灰度LCD。

在彩色LCD上,可以支持256级彩色,使用STNLCD可以支持4096级彩色。

对于不同尺寸的LCD,具有不同数量的垂直和水平象素、数据接口的数据宽度、接口时间及刷新率,而LCD控制器可以进行编程控制相应的寄存器值,以适应不同的LCD显示板。

内置的LCD控制器提供了下列外部接口信号:

VFRAME/VSYNC/STV:

帧同步信号(STN)/垂直同步信号(TFT)/SECTFT信号

VLINE/HSYNC/CPV:

行同步脉冲信号(STN)/水平同步信号(TFT)/SECTFT信号

VCLK/LCD_HCLK:

象素时钟信号(STN/TFT)/SECTFT信号

VD[23:

0]:

LCD像素数据输出端口(STN/TFT/SECTFT)

VM/VDEN/TP:

LCD驱动交流偏置信号(STN)/数据使能信号(TFT)/SECTFT信号

LEND/STH:

行结束信号(TFT)/SECTFT信号

LCD_PWREN:

LCD面板电源使能控制信号

LCDVF0:

SECTFTOE信号

LCDVF1:

SECTFTREV信号

LCDVF2:

SECTFTREVB信号

 

图3-19 LCD控制器逻辑框图

 

图3-19为S3C2410X中内置的LCD控制器的逻辑框图,它用于传输显示数据并产生必要的控制信号,如VFRAME,VLINE,VCLK,和VM等信号。

除了控制信号,还有显示数据的数据端口VD[23:

0]如图3-19。

LCD控制器包含REGBANK,LCDCDMA,VIDPRCS,TIMEGEN和LPC3600。

REGBANK具有17个可编程寄存器和256×16颜料存储器,用于配置LCD控制器。

LCDCDMA为专用DMA,它可以自动地将显示数据从帧内存中传送到LCD驱动器中。

通过使用这一专用的DMA,可以实现在不需要CPU介入的情况下显示数据。

VIDPRCS从LCDCDMA接收数据,变换为合适的数据格式(比如4/8位单一扫描和4位双扫描显示模式)后通过VD[23:

0]发送到LCD驱动器。

TIMEGEN包含可编程的逻辑,以支持常见LCD驱动器所需要的不同接口时序、速率要求。

TIMEGEN部分产生VFRAME,VLINE,VCLK,VM等信号。

   (3)与ARM自带LCD驱动器有关的寄存器

与ARM自带LCD驱动器有关的寄存器如下表3-30所示:

表3-30端口D寄存器

Register

Address

R/W

Description

ResetValue

GPDCON

0x56000030

R/W

ConfigurethepinsofportD

0x0

GPDDAT

0x56000034

R/W

ThedataregisterforportD

Undefined

GPDUP

0x56000038

R/W

Pull-updisableregisterforportD

0xF000

Reserved

0x5600003C

Reserved

Undefined

 

对其中的几个寄存器描述如表3-31,3-32,3-33所示:

 表3-31GPDCON寄存器描述

GPDCON

Bit

Description

GPD15

[31:

30]

00=Input10=VD23

01=Output11=nSS0

GPD14

[29:

28]

00=Input10=VD22

01=Output11=nSS1

GPD13

[27:

26]

00=Input10=VD21

01=Output11=Reserved

GPD12

[25:

24]

00=Input10=VD20

01=Output11=Reserved

GPD11

[23:

22]

00=Input10=VD19

01=Output11=Reserved

GPD10

[21:

20]

00=Input10=VD18

01=Output11=Reserved

GPD9

[19:

18]

00=Input10=VD17

01=Output11=Reserved

GPD8

[17:

16]

00=Input10=VD16

01=Output11=Reserved

GPD7

[15:

14]

00=Input10=VD15

01=Output11=Reserved

GPD6

[13:

12]

00=Input10=VD14

01=Output11=Reserved

GPD5

[11:

10]

00=Input10=VD13

01=Output11=Reserved

GPD4

[9:

8]

00=Input10=VD12

01=Output11=Reserved

GPD3

[7:

6]

00=Input10=VD11

01=Output11=Reserved

GPD2

[5:

4]

00=Input10=VD10

01=Output11=Reserved

GPD1

[3:

2]

00=Input10=VD9

01=Output11=Reserved

GPD0

[1:

0]

00=Input10=VD8

01=Output11=Reserved

 

表3-32GPDDAT寄存器描述

GPDDAT

BIT

Description

GPD[15:

0]

[15:

0]

Whentheportisconfiguredasinputport,datafromexternalsourcescanbe

 

 

readtothecorrespondingpin.Whentheportisconfiguredasoutputport,

 

 

datawritteninthisregistercanbesenttothecorrespondingpin.Whenthe

 

 

portisconfiguredasfunctionalpin,undefinedvaluewillberead.

 表3-33GPDUP寄存器描述

GPDUP

Bit

Description

GPD[15:

0]

[15:

0]

0:

Thepull-upfunctionattachedtotothecorrespondingportpinisenabled.

 

 

1:

Thepull-upfunctionisdisabled.

 

 

(GPD[15:

12]are‘pull-updisabled’stateattheinitialcondition.)

 

LCD驱动控制端口与ARM的端口四是共用的,因此,要设置相应的寄存器,将其定义为功能端口,即LCD驱动控制端口,它的设置与描述如表3-34至3-49所示。

 表3-34LCDCON1设置

Register

Address

R/W

Description

ResetValue

LCDCON1

0X4D000000

R/W

LCDcontrol1register

0x00000000

 表3-35LCDCON1描述

LCDCON1

Bit

Description

InitialState

LINECNT(readonly)

[27:

18]

Providethestatusofthelinecounter.DowncountfromLINEVALto0

0000000000

CLKVAL

[17:

8]

DeterminetheratesofVCLKandCLKVAL[9:

0].STN:

VCLK=HCLK/(CLKVAL2)(CLKVAL2)TFT:

VCLK=HCLK/[(CLKVAL+1)2](CLKVAL0)

0000000000

MMODE

[7]

DeterminethetogglerateoftheVM.0=EachFrame,1=TheratedefinedbytheMVAL

0

PNRMODE

[6:

5]

Selectthedisplaymode.00=4-bitdualscandisplaymode(STN)01=4-bitsinglescandisplaymode(STN)10=8-bitsinglescandisplaymode(STN)11=TFTLCDpanel

00

BPPMODE

[4:

1]

SelecttheBPP(BitsPerPixel)mode.0000=1bppforSTN,Monochromemode0001=2bppforSTN,4-levelgraymode0010=4bppforSTN,16-levelgraymode0011=8bppforSTN,colormode0100=12bppforSTN,colormode1000=1bppforTFT1001=2bppforTFT1010=4bppforTFT1011=8bppforTFT1100=16bppforTFT1101=24bppforTFT

0000

ENVID

[0]

LCDvideooutputandthelogicenable/disable.0=DisablethevideooutputandtheLCDcontrolsignal.1=EnablethevideooutputandtheLCDcontrolsignal.

0

 表3-36LCDCON2设置

Register

Address

R/W

Description

ResetValue

LCDCON2

0X4D000004

R/W

LCDcontrol2register

0x00000000

表3-37LCDCON2描述

LCDCON2

Bit

Description

InitialState

VBPD

[31:

24]

TFT:

Verticalbackporchisthenumberofinactivelinesatthestart

0x00

 

 

ofaframe,afterverticalsynchronizationperiod.

 

 

 

STN:

ThesebitsshouldbesettozeroonSTNLCD.

 

LINEVAL

[23:

14]

TFT/STN:

ThesebitsdeterminetheverticalsizeofLCDpanel.

0000000000

VFPD

[13:

6]

TFT:

Verticalfrontporchisthenumberofinactivelinesattheendofaframe,beforevertical

00000000

 

 

synchronizationperiod.

STN:

ThesebitsshouldbesettozeroonSTNLCD.

 

 

VSPW

[5:

0]

TFT:

VerticalsyncpulsewidthdeterminestheVSYNCpulse'shigh

000000

 

 

levelwidthbycountingthenumberofinactivelines.

 

 

 

STN:

ThesebitsshouldbesettozeroonSTNLCD.

 

表3-38LCDCON3设置

Register

Address

R/W

Description

ResetValue

LCDCON3

0X4D000008

R/W

LCDcontrol3register

0x00000000

表3-39LCDCON3的描述

LCDCON3

Bit

Description

Initialstate

HBPD(TFT)

[25:

19]

TFT:

HorizontalbackporchisthenumberofVCLKperiodsbetweenthefallingedgeofHSYNCandthestartofactivedata.

0000000

WDLY(STN)

 

STN:

WDLY[1:

0]bitsdeterminethedelaybetweenVLINEandVCLKbycountingthenumberoftheHCLK.WDLY[7:

2]arereserved.00=16HCLK,01=32HCLK,10=48HCLK,11=64HCLK

 

HOZVAL

[18:

8]

TFT/STN:

ThesebitsdeterminethehorizontalsizeofLCDpanel.HOZVALhastobedeterminedtomeettheconditionthattotalbytesof1lineare4nbytes.IfthexsizeofLCDis120dotinmonomode,x=120cannotbesupportedbecause1lineconsistsof15bytes.Instead,x=128inmonomodecanbesupportedbecause1lineiscomposedof16bytes(2n).LCDpaneldriverwilldiscardtheadditional8dot.

00000000000

HFPD(TFT)

[7:

0]

TFT:

HorizontalfrontporchisthenumberofVCLKperiodsbetweentheendofactivedataandtherisingedgeofHSYNC.

0X00

LINEBLANK(STN)

 

STN:

Thesebitsindicatetheblanktimeinonehorizontallinedurationtime.ThesebitsadjusttherateoftheVLINEfinely.TheunitofLINEBLANKisHCLKX8.Ex)IfthevalueofLINEBLANKis10,theblanktimeisinsertedtoVCLKduring80HCLK.

 

 

表3-40LCDCON4设置

Register

Address

R/W

Description

ResetValue

LCDCON4

0X4D00000C

R/W

LCDcontrol4register

0x00000000

 

表3-41LCDCON4描述

LCDCON4

Bit

Description

Initialstate

MVAL

[15:

8]

STN:

ThesebitdefinetherateatwhichtheVMsignalwilltoggleif

0X0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1