摘要: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%26;#215;84bit显示数据存储器DDRAM(Display Data RAM),因而具有矩阵式图形显示功能。通过串行接口命令可直接访问该存储器,以更新显示数据。控制器内部处理总线采用8b宽度,因而可通过DDRAM组成6%26;#215;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
%26;#215;
%26;#215;
不 用
0
0
0
0
1
%26;#215;
%26;#215;
%26;#215;
%26;#215;
显示控制
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
%26;#215;
0
0
0
0
0
1
%26;#215;
%26;#215;
%26;#215;
0
0
1
%26;#215;
%26;#215;
%26;#215;
%26;#215;
%26;#215;
%26;#215;
温度控制
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现已可以大量生产,因此该液晶显示模块的价格非常低廉,而且由于其具有结构紧凑、耗电少、操作简便等特点,因而非常适合于便携式设备的应用和开发。
引用地址:NOKIA移动电话液晶显示模块LPH7366原理及其应用
上一篇:基于P89LPC932的LCD组态设计
下一篇:汉字的动态编码与显示方案
- 热门资源推荐
- 热门放大器推荐
小广播
热门活动
换一批
更多
最新应用文章
更多精选电路图
更多热门文章
更多每日新闻
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
更多往期活动
11月17日历史上的今天
厂商技术中心