资源描述
LCD的驱动控制实验
一、 实验目的
1、了解LCD基本概念与原理
2、理解LCD的驱动控制
3、熟悉用总线方式驱动LCD模块
4、熟悉用ARM内置的LCD控制器驱动LCD
二、实验设备
ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上。
三、 实验设备
学习LCD 显示器的基本原理,理解其驱动控制方法。掌握两种LCD 驱动方式的基本原理和方法。并用编程实现:
1.用总线方式直接驱动带有驱动模块的LCD。
2.用ARM 内置的LCD 控制器来驱动LCD。
四、实验原理
1.电致发光
LCD 的发光原理是通过控制加电与否来使光线通过或挡住,从而显示图形。光源的提供方式有两种:透射式和反射式。笔记本电脑的LCD 显示屏即为透射式,屏后面有一个光源,因此外界环境可以不需要光源。而一般微控制器上使用的LCD 为反射式,需要外界提供光源,靠反射光来工作。电致发光(EL)是液晶屏提供光源的一种方式。电致发光的特点是低功耗,与二极管发光比较而言体积小。
2. LCD的驱动控制
市面上出售的LCD显示模块主要有两种:
带驱动电路的LCD显示模块,这种LCD 可以方便地与各种低档单片机进行接口,扭转的光线 偏振滤光器 没有扭转的光线如 8051 系列单片机,但是由于硬件驱动电路的存在,体积比较大。这种模式常常使用总线方式来驱动。
另一种是LCD 显示屏,没有驱动电路,需要与驱动电路配合使用。特点是体积小,但却需要另外的驱动芯片。也可以使用带有LCD 驱动能力的高档MCU 驱动,如ARM 系列的S3C2410X。
(1)总线驱动方式
一般带有驱动模块的LCD 显示屏使用这种驱动方式,由于LCD 已经带有驱动硬件电路,因此模块给出的是总线接口,便于与单片机的总线进行连接。驱动模块具有八位数据总线,外加一些电源接口和控制信号。而且自带显示缓存,只需要将要显示的内容送到显示缓存中就可以实现内容的显示。
一个典型的显示模块(HY-12864B)提供的总线接口。
(2) 控制器扫描方式
S3C2410X 中具有内置的LCD 控制器,它具有将显示缓存(在系统存储器中)中的LCD图象数据传输到外部LCD 驱动电路的逻辑功能。
S3C2410X 中内置的LCD 控制器可支持灰度LCD 和彩色LCD。在灰度LCD 上,使用基于时间的抖动算法(time-based dithering algorithm)和FRC (Frame Rate Control)方法,可以支持单色、4 级灰度和16 级灰度模式的灰度LCD。在彩色LCD 上,可以支持256 级彩色,使用STN LCD 可以支持4096 级彩色。对于不同尺寸的LCD,具有不同数量的垂直和水平象素、数据接口的数据宽度、接口时间及刷新率,而LCD 控制器可以进行编程控制相应的寄存器值,以适应不同的LCD 显示板。
S3C2410X 中具有内置的LCD 控制器,它具有将显示缓存(在系统存储器中)中的LCD图象数据传输到外部LCD 驱动电路的逻辑功能
内置的LCD 控制器提供了下列外部接口信号:
VFRAME/VSYNC/STV:帧同步信号(STN)/垂直同步信号(TFT)/SEC TFT信号
VLINE/HSYNC/CPV:行同步脉冲信号(STN)/水平同步信号(TFT)/SEC TFT信号
VCLK/LCD_HCLK:象素时钟信号(STN/TFT)/SEC TFT信号
VD[23:0]:LCD 像素数据输出端口(STN/TFT/SEC TFT)
VM/VDEN/TP:LCD驱动交流偏置信号(STN)/数据使能信号(TFT)/SEC TFT 信号
LEND/STH:行结束信号(TFT)/SEC TFT信号
LCD_PWREN:LCD面板电源使能控制信号
LCDVF0:SEC TFT OE信号
LCDVF1:SEC TFT REV信号
LCDVF2:SEC TFT REVB信号
五、实验步骤
1.新建工程,将“Exp6 LCD 驱动控制实验”中的文件添加到工程中。
2.定义有关常量与宏
3.编写LCD 初始化函数(lcd640.c),设置各功能寄存器。
4.编写LCD 刷新函数(lcd640.c)。
此函数主要是将二级缓存LCDBuffer 的数据由32 位彩色图形信息转换成16 位的图形信息,然后放到pLCDFB 指向的一级缓存。
转换公式:pixcolor=((pbuf[0]&0xf8)<<11)|((pbuf[1]&0xfc)<<6)|(pbuf[2]&0xf8)。
其中,pbuf[0]、pbuf[1]、pbuf[2]是一个象素的32 位彩色数据的前24 位,分别代表R、G、B。
3. 编写主函数(main.c)
在LCD 上显示16 位色图形的关键是填充二级显示缓冲,将显示象素的24 位颜色信息写入LCDBuffer。将RGB 三种基本颜色按一定比例混合即可构成更复杂的颜色,每个象素的三种基本颜色分别占一个字节,可以方便的在程序里改写各基本颜色的数值,从而改变该象素的混合颜色。
展开阅读全文