首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 电子技术 > 光电应用
NOKIA移动电话液晶显示模块LPH7366原理及其应用
来源:本站整理  作者:佚名  2004-12-08 08:55:00



    摘要:LPH7366是一种低功耗、串行通信接口液晶显示模块,可广泛应用于移动电话或便携式设备的液晶显示系统中。文中介绍了LPH7366显示模块的功能原理及操作方式,给出了基于MCS51单片机的控制软件程序。

    关键词:液晶显示;移动电话;单片机;LPH7366

1 引言

LPH7366是NOKIA公司生产的可用于其6150、6100等系列移动电话的液晶显示模块,国内厂家也生产有类似的兼容产品。该产品除应用于移动电话外,也可广泛应用于各类便携式设备的显示系统。与其它类型的产品相比,该模块具有以下特点:

●采用串行接口与主处理器进行通信,接口信号线数量大幅度减少,包括电源和地在内的信号线仅有9条。

●采用多种串行通信协议进行数据通信(如MCS51单片机的串口模式0以及SPI等),传输速率高达4Mbps,可全速写入显示数据,无等待时间。

●可通过导电斑马条连接模块与印制版,而不用连接电缆,用模块上的金属钩可将模块固定到印制板上,因而非常便于安装和更换。

●LCD控制器/驱动器芯片已绑定到LCD晶片上,模块的体积很小。

●采用低电压供电,正常显示时的工作电流在200μA以下,且具有掉电模式。

LPH7366的这些特点非常适合于电池供电的便携式通信设备和测试设备中。

2 LPH7366的引脚功能

LPH7366液晶显示模块采用Philips公司生产的PCD8544芯片为其内部控制器,可在单片IC上同时实现LCD的控制和驱动功能以及LCD电源和偏置电压产生功能。该IC具有很高的集成度,它不需要其它元件就可实现与微处理器的连接与通信。

LPH7366的引脚功能如下:

SDIN:串行数据输入线;

SCLK:串行时钟输入,速率为0.0~4.0Mbps;

D/ C:模式选择,该端为高电平时输入控制命令,为低电平输入显示数据;

SCE:芯片使能,低有效;

OSC:外部时钟输入端,当使用内部时钟时,该引脚接地;

RES:复位输入端,低电平可复位控制器;

VLCD:LCD电源升压电容接入端,接10μF电容可用于产生LCD工作电压;

VDD1,VDD2:电源输入端,电压为2.7~3.3V;

VSS:电源地。

3 LPH7366的设计操作

3.1 DDRAM寻址模式

模块控制器PCD8544内有48×84bit显示数据存储器DDRAM(Display Data RAM),因而具有矩阵式图形显示功能。通过串行接口命令可直接访问该存储器,以更新显示数据。控制器内部处理总线采用8b宽度,因而可通过DDRAM组成6×84b的矩阵。整个显示数据区可划分为6行,每行84个字节。

每个显示数据字节由行地址和列地址共同寻址,行地址范围为Y0~Y5,列地址范围为X0~X83。通过修改行、列地址的指针可访问任意字节的显示数据。此外,PCD8544内部还设置了地址指针自动增加功能,这样,每次显示数据字节写入后,指针会自动寻址跳到下一字节,从而加快显示速度。地址指针自动增加功能有如下两种模式:

(1)垂直寻址方式(逐列显示模式)

这种寻址模式如图1所示,当寻址控制位V为1时,每次写入显示数据后,行地址指针Y增1,Y到5后自动清零,列地址X增1,并寻址到下一列。当寻址到最后一行(Y为5)的最后一列(X=83)时,行、列地址均自动清零,并返回到首行首列;

(2)水平寻址方式(逐行显示模式)

这种寻址模式的示意图如图2所示,与垂直寻址方式类似,当寻址控制位V为0时,每次写入显示数据后X增1,当X为83后自动清零,Y增1,寻址到下一行。当寻址到最后一行(Y为5)的最后一列(X=83)时,行、列地址均自动清零,并返回到首行首列。

3.2 控制指令和数据格式

对液晶控制器的访问分为控制指令和显示数据两种操作模式,两种模式可由D/ C引脚来控制。当D/ C为高电平时,表明当前写入的字节是显示数据,当D/ C为低电平时,表明当前写入的字节是控制指令。在发送每个字节最后一个比特时,可由微处理器读取D/ C引脚的状态,其工作时序如图3所示。在写入每个显示数据后,地址指针会自动增加,因此在设定了起始指针后,可连续写入显示数据。控制指令和显示数据均由8比特组成,MSB位首先发送,在每个SCLK的上升沿,SDIN被采样。

指令和数据可以按任意需要的先后顺序写入。当SCE为高时,控制器的串行接口被初始化,此时由于SCLK以及SDIN引脚的变化不会对控制器产生任何作用,因此,串行接口不会消耗电能。由于系统在SCE的下降沿使能串行口,因此,在该引脚保持低电平期间,可对串行口进行操作。

3.3 模块控制器指令集

LPH7366模块控制器的指令集分为基本指令集和扩展指令集,可通过修改功能设置控制寄存器中的H标志位来选择使用的指令集。当H为0时,选择基本指令集;当H为1时,选择扩展指令集。但功能设置控制寄存器及写入数据寄存器不受此标志影响。LPH7366的基本指令集包含下列指令:

(1)设置显示配置;

(2)设置显示存储器DDRAM的行地址;

(3)设置显示存储器DDRAM的列地址;

扩展指令集包含下列指令:

(1)设置温度系数;

(2)设置偏置系统;

(3)设置工作电压寄存器。

表1给出了模块控制器指令集标志位的含义,表2是对该指令集的详细描述。该液晶模块的工作电压可由软件设置,其数值依赖于所选择的液晶。模块温度系数、偏置电压的工作原理及设置方法可参见有关参考文献,用户可根据显示的效果进行调整,本文的设置仅作参考。

表1 PCD8544指令集标志位说明

0 1
PD 正常模式 低功耗模式
V 水平寻址 垂直寻址
H 基本指令集 扩展指令集
D和E    
00 白屏
01 正常显示
10 全显
11 反转
TC1和TC0    
00 温度系数1
01 温度系数2
10 温度系数3
11 温度系数4

表2 PCD8544指令集

指  令 D/C 控   制   字   说  明
D7 D6 D5 D4 D3 D2 D1 D0  
(H=0或1)
NOP 0 0 0 0 0 0 0 0 0 空操作
功能设置 0 0 0 0 0 0 PD V H 低功耗模式,写入模式,指令集选择
写数据 1 D7 D6 D5 D4 D3 D2 D1 D0 写数据到DDRAM
(H=0)
保  留 0 0 0 0 0 0 1 × × 不  用
0 0 0 0 1 × × × ×
显示控制 0 0 0 0 0 1 D 0 E 显示模式配置
设Y地址 0 0 1 1 0 0 Y2 Y1 Y0 设Y地址,0Y5
设X地址 0 1 X6 X5 X4 X3 X2 X1 X0 设X地址,0X83
(H=1)
保  留 0 0 0 0 0 0 0 0 1 不  用
0 0 0 0 0 0 0 1 ×
0 0 0 0 0 1 × × ×
0 0 1 × × × × × ×
温度控制 0 0 0 0 0 0 1 TC1 TC0 设温度系数
偏置 0 0 0 0 1 0 BS2 BS1 BS0 设偏置电压
设Vop 0 1 VOP6 VOP5 VOP4 VOP3 VOP2 VOP1 VOP0 设置液晶工作电压

4 与单片机的接口及显示编程

LPH7366显示模块可与多种串行接口进行通信,下面介绍其与MCS51单片机的通信接口方法。显示模块的电源输入VDD1、VDD2通常连到一起接到2.7~3.3V直流电源上,VLCD与电源地之间应接10μF电解电容。使用内部时钟时,应将OSC接地。图4所示是单片机与LPH7366显示模块的接口图。

如果单片机的工作电压为5V,则需在连接线中串入100Ω左右的电阻,而如果单片机的工作电压为3V,则可直接连接。工作时?将单片机串行口设置为模式0,并通过向SBUF寄存器写入数据来完成8位串行数据的发送,RXD用以输出串行数据,TXD则产生串行时钟,其余控制引脚可利用P1或P3口的I/O线产生控制信号。以下代码为显示编程范例,运行该程序后?屏幕上可显示大写的‘PH’字符。

define uchar unsigned char

define cflag 0x00

define dflag 0x01

define set_xadr 0x80

define set_yadr 0x40

sbit SCK=P3^0;

sbit SDIN=P3^1;

sbit SCE=P1^0;

sbit DC=P1^1;

sbit RES=P1^2;

char_table[8]=

{

0x1f,0x05,0x07,0x00, /*字符‘P'点阵*/

0x1f,0x04,0x1f,0x00, /*字符‘H'点阵*/

};?

main

{

uchar i;

uchar x,y; /*定义x,y地址指针*/

mode_initiation();

x=0;

y=0;

write_byte(cflag,set_xadr + x);

write_byte(cflag,set_yadr + y);

for(i=0;i<8;i++){

write_byte(dflag,char_table[i]);??

}

}

模式初始化函数

void mode_initiation(void)

{

ES=0;

RES=1; /*复位液晶控制器*/;

SCON=0x02; /*设置串行口为模式0*/;

write_byte(cflag,0x21);

/*PD=0,V=0,选择扩展指令集*/

write_byte(cflag 0x10);

/*设置LCD工作电压*/

write_byte(cflag 0x20);

/*PD=0,V=0,选择基本指令集*/

write_byte(cflag 0x0c);

/*设置显示正常的工作模式*/

}

写入数据字节

void write_byte(uchar f,uchar b)

{

if(f==0)DC=0;

else DC=1;

SCE=0

SBUF=b;

TI=0;);??

SCE=1

}

5 结束语

由于LPH7366现已可以大量生产,因此?该液晶显示模块的价格非常低廉,而且由于其具有结构紧凑、耗电少、操作简便等特点,因而非常适合于便携式设备的应用和开发。

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:214,925.80000 毫秒