摘要:
LCMl2832ZK是一种具有8位/4位并行、2线/3线串行多种接口方式,内带8000多种GB2312简体中文字库的
图形点阵
液晶显示模块
。它具有体积小、功耗低、价格便宜、使用方便等特点,因而广泛应用于许多领域。文中介绍了LCMl2832ZK的性能特点、引脚说明、操作指令以及接口方式,并以AT89C52单片机及2线串行接口方式为例,给出了相应的硬件电路及软件程序代码。
关键词:
串/并行接口;单片机;液晶显示;LCMl2832ZK
引言
液晶显示模块(LCDModule,简称LCM)是一种将液晶显示器件、连接件、集成电路、PCB线路板、背光源、结构件装配在一起的组件,由于其具有显示内容丰富、体积小、重量轻、寿命长、使用方便、安全省电、无辐射等优点,因此广泛应用于移动通讯、仪器仪表、电子设备、家用电器等各个领域。文中介绍了一种具有串/并多种接口方式,且内部含有GB2312一级、二级简体中文字库的图形
点阵液晶
模块LCMl2832ZK,该模块是由北京青云创新科技发展有限公司推出的。
1性能特点
LCMl2832ZK是具有串/并行接口、内部含有中文字库的
图形点阵
液晶显示模块,其内置的控制/驱动器采用台湾矽创电子公司生产的ST7920[2].因而具有较强的控制显示功能。LCMl2832ZK的液晶显不屏为128×32点阵,可显示2行,每行8个汉字。该模块具有2MB的中文字型ROM(CGROM),共提供8192个16×16点阵中文字型;同时,为了便于英文和其它常用字符的显示,具有16KB半宽字型ROM(HCGROM),提供128个16×8点阵的字母符号字型;另外,绘图显示画面还提供一个64×256点阵的绘图区域(GDRAM)及240点的ICONRAM,可以和文字画面混合显示.且内含CGRAM可提供4组软件可编程的16×16点阵造字功能。
LCMl2832ZK模块采用LED背光,工作电压/电流分别为3V/1.2mA或5V/2mA,具有2.7~5.5V的宽工作电压范围,还具有睡眠、正常及低功耗工作模式,可满足系统各种工作电压及便携式仪器低功耗的要求。为了适应多种微处理器和单片机接口的需要,模块提供了4位/8位并行、2线/3线串行多种接口方式。另外,模块还提供了画面清除、光标显示/隐藏、显示打开/关闭、显示字符闪烁、光标移位、显示移位、反白显示、睡眠模式等操作指令。该模块可实现汉字、ASCII码、点阵图形的同屏显示,广泛用于各种仪器仪表、家用电器及通信产品中。
2模块引脚定义和用户命令
为了更好地阐述L,CMl2832ZK的接口方式及控制方法,先介绍该模块的引脚定义及用户命令。
2.1模块引脚定义
LCMl2832ZK模块的引脚定义如表1所列。
表1LCM12832ZK的引脚定义
引脚
名称
方向
说 明
1
V0
-
LCD亮度调整,外接电阻端
2
VR
-
LCD亮度调整,外接电阻端
3
GND
-
地
4
VCC
-
3V/5V
5
NC
-
未用
6
RS(CS)
I
选择寄存器(并行);0:指令寄存器;1:数据寄存器片选(串行);0:禁止;1:允许
7
RW(SID)
I
读写控制器(并行)0:写入;1:读输入串行数据(串行)
8
E(SCLK)
I
读写数据起始脚(并行);输入串行脉冲(串行)
9~16
D0-D7
I/O
数据线0-7
17
PSB
I/O
控制界面;0:串行;1:并行8/4位
18
RST
I/O
复位信号,低有效
19
LK
I
背光源负*
20
LA
I
背光源正*
2.2用户命令说明
LCMl2832ZK的指令集包括基本指令集(RE=0)和扩充指令集(RE=1)两大类,用户可以通过这些命令使模块执行相应的显示或控制功能。下面简要介绍部分常用的操作命令:
(1)设定DDRAM(I)isplayDataRAM)地址:
设定DDRAM地址到地址计数器(AC)。**行
RS
RW
DB7
DB6
DB5
0
0
1
AC6
AC5
DB4
DB3
DB2
DBl
DB0
AC4
AC3
AC2
ACl
AC0
AC范围为:80H~8’7H;第二行AC范围为90H。9’7H。
(2)设定CGRAM((]haracterGeneratorRAM)地址:
设定CGRAM地址到地址计数器(AC)。
RS
RW
DB7
DB6
DB5
0
0
0
1
AC5
DB4
DB3
DB2
DBl
DB0
AC4
AC3
AC2
ACl
AC0
(3)进入点设定(EnterModeSet)
在数据的读取与写入时,指定光标的移动方向
RS
RW
DB7
DB6
DB5
0
0
0
0
0
DB4
DB3
DB2
DBl
DB0
0
0
1
I/D
S
及显示的位移。
I/D:位地上计数器递增递减选择。
当I/D=1,光标右移,DDRAM的位地址计数器+1;
当I/D=0,光标左移,DDRAM的位地址计数器-1;
S:显示画面整体位移
S
I/D
DESCRIPTION
H
H
画面整体左移
H
L
画面整体右移
(4)显示状态开/关
RS
RW
DB7
DB6
DB5
0
0
0
0
0
DB4
DB3
DB2
DBl
DB0
0
1
D
C
B
控制整体显示、光标、显示、光标位置反白的ON/0FF。
D=1,整体显示ON;D:0,整体显示OFF
C=1,光标显示ON;C=0,光标显示OFF
B=1,光标位置显示反白0N;B=0,光标位置显示反白OFF
(5)清除显示
RS
RW
DB7
DB6
DB5
0
0
0
0
0
DB4
DB3
DB2
DBl
DB0
0
0
0
0
1
将DDRAM添满“20H”(spacecode),并设定DDRAM的地址计数器(AC)到“00H”。
(6)功能设定
RS
RW
DB7
DB6
DB5
0
0
0
0
1
DB4
DB3
DB2
DBl
DB0
DL
X
RE
X
X
DL=l,为8_bitMPU控制界面;DL=O,为4一BITMPU控制界面;
RE=1,为扩充指令集;R:E=0,为基本指令集。
(7)光标或显示移位控制
RS
RW
DB7
DB6
DB5
0
0
0
0
0
DB4
DB3
DB2
DBl
DB0
1
S/C
R/L
X
X
设定光标的移动与显示的移位控制,该指令并不改变:DDRAM的内容。
S/C
R/L
Description
ACValue
L
L
光标向左移动
AC=AC-1
L
H
光标向右移动
AC=AC+1
H
L
显示向左移动,且光标跟着移动
AC=AC
H
H
显示向右移动,且光标跟着移动
AC=AC
(8)读取忙碌标志(BF)和位址计数器
RS
RW
DB7
DB6
DB5
0
1
BF
AC6
AC5
DB4
DB3
DB2
DBl
DB0
AC4
AC3
AC2
AC1
AC0
读取忙碌标志(BF)可以确认内部动作是否完成,同时可以读出位址计数器(AC)的值。
(9)写入资料到RAM
RS
RW
DB7
DB6
DB5
1
0
D7
D6
D5
DB4
DB3
DB2
DBl
DB0
D4
D3
D2
D1
D0
写入资料到内部RAM,写入后会使AC改变。
(10)读取RAM的值
RS
RW
DB7
DB6
DB5
1
1
D7
D6
D5
DB4
DB3
DB2
DBl
DB0
D4
D3
D2
D1
D0
从内部RAM:读取数据,读取后会使.AC改变。
3接口方式与时序
LCMl2832ZK具有串/并行多种接口方式,易与各种型号单片机、微处理器连接。
3.1并行接口数据传输
当L,CMl2832ZK的PSB脚接高电平时(或模块背面S/P的短路电阻在“P”侧),模块将进入并行传输模式。在并行传输模式下,可由指令位(DLFLAG)来选择8位或4位接口方式,主控制系统将配合“RS”、“Rw”、“E”、D0~D7来完成指令/数据的传送。
在4位传输模式中,每一个8位的指令或数据都将被分为两组:较高4位(D7~D4)的数据会被放在**组的D7~D4部分,而较低4位(D3。DO)的数据则会被放在第二组的D7~D4部分,在4位传输模式中,D3~。DO界面未使用。
3.2串行接口数据传输
当PSB脚接低电平时(或模块背面S/P的短路电阻在“S”侧),模块将进入串行接口模式。在串行模式下将使用2条线作串行数据的传输,主控系统将配合传输同步时钟线(SCLK)和接收串行数据线(SID)来完成串行传输的动作。
当片选CS为高电位时,同步时钟线(SCLK)输入的讯号才会被接收,否则数据传输将被终止,并且将待传输的串行数据计数重设为**位。LCM12832ZK还允许同时接人多个液晶显示模块以完成多路信息显示功能。此时,要利用片选端CS构成3线串行接口方式。通常情况下,当系统仅使用一个液晶显示模块时,模块片选脚CS可固定接高电平。LCMl2832ZK模块的串行工作时序如图l所示。
从图1可知,单片机与液晶模块之间传送1字节的数据共需24个时钟脉冲。**传输起始位元组,即模块在起始位元组需先接收到5个连续的“1”(同步位元字串),此时传输计数将被重置并且串行传输将被同步.紧接着的2个位元字串分别指定数据传输方向(读或写)位元“RW”以及数据寄存器或指令寄存器选择位元“RW”,*后的第8位固定为“0”。在接收到同步位元及“RW”和“RW”起始位元组后,每一个八位元指令将被分为2个位元组接收,其中较高4位(D7一D4)的指令会被放在第1个位元组的高4位,而较低4位(D3~D0)的指令则会被放在第2个位元组的高4位.至于相关其他4位则都为0,如此完成一个字节指令或数据的传送。
4字符显示及模块使用说明
4.1字符显示
LCMl2832ZK按照每个中文字符16x16点阵将显示屏分为2行8列.共16个区,每个区可显示1个中文字符或2个16x8点阵全高ASCII码字符。LCMl2832ZK内部提供128×2字节的字符显示RAM缓冲区(DDRAM)。字符显示是通过将字符显示编码写入该字符显示RAM实现的。根据写入内容的不同,可分别在液晶屏上显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字型)的内容。三种不同字符/字型的编码选择范围为:0000~0006H显示自定义字型.02H~7FH显示半宽ASCII码字符.A1AOH—F7FFH显示8192种GB2312中文字库字型。
4.2模块使用说明
使用LCMl2832ZK显示模块时,应注意以下几点。
①引脚RST和PSB可悬空,不接时,为并行接口方式:引脚VR和V0之间必须接可变电阻(2.2kΩ~10kΩ),该可变电阻一端接VR,调整端接V0,另一端悬空。
②模块在接收指令前,单片机必须先确认模块内部处于非忙状态,即读取BF标志时BF为“0”,方可接受新的指令。如果在送出一个指令前不检查BF标志,则在前一个指令和该指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。
③RE为基本指令集与扩充指令集的选择控制位。当变更RE后,以后的指令集将维持在*后的状态,除非再次变更RE位,否则使用相同指令集时,无需每次均重设RE位。
④串行传输时,如果有多个数据或指令要传送,必须要等到一个指令完成执行完毕后再传送下一个指令或数据,否则会造成指令或数据的丢失。这是因为液晶模块内部没有发送/接收缓冲区。
⑤若要在某一个位置显示中文字符,应先设定显示字符的位置,即先设定显示地址,再写入中文字符编码。
图2
5LCMl2832ZK应用实例
将引脚PSB接地,片选CS固定接高电平。使用LCMl2832ZK的2线串行接口方式可大大简化液晶显示模块与单片机之间的接口设计。同时,也使液晶显示模块显示汉字变得*为容易,从而改变过去单片机系统人机界面不够友好的弊端。AT89C52单片机与LCMl2832ZK模块的2线串行接口电路如图2所示,下面给出相应的软件程序代码。
;;口线定义
::CS一一一一将CS接固定高电平
SIDEQUP1.0
SCLKEQUP1.1
:液晶模块初始化子程序
_INIT_LCM:
;;延时>40ms
M
OV
R7,#00110000B;使用8位控制界面
LCALL_WRITE_COMMAND
;;延时>100μs
MOVR7,#00110000B;使用基本指令集
LCALL-WRIrI'E-COMMAND
;;延时>37μs
MOVR7,#00001100B;整体显示ON
LCALL_WRITE-COMMAND
;;延时>100μs
MOVR7,#00000001B;清屏
LCALL-WRITE-COMMAND
;;延时>10ms
MOVR7.加0000110B:进入点设定
LCALL.WRITECOMMAND
RET
;;字符显示子程序
MOVR7,#80H:设定DDRAM位址
MOVDPTR.#STRINGl
LCALL—PUT_STRING;在**行显示字符串1
MOVR7。#90H:设定DDRAM位址
MOVDPTR.}}STRING2
LCALL_PUT_STRING;在第二行显示字符串2
_PUT_STRING:MOVA,R7
ORLA,#80H
MOVR7,A
LCALL_WRITE_COMMAND
DISP_STR_LOOP:MOVA,加
MOVCA.@A+DPTR
CJNEA,#o,CONT_STR_DISP
RET
CONTSTRDISP:MOVR7,A
LCALL_WRITE_DATA
INCDPTR
SJMPDISP_STR_LOOP
STRINGl:DB’海军航空
工程学院’,0;;汉字代码
STRING2:DB’中文图形
液晶显示’.0
;;串行字节数据发送子程序
_WRITE_DATA:MOVA,
R7
::发送起始位元组”
11111010"
;;发送第1个位元组的高4
位即串行指令的高4位
D7~D4
CLRSCLK
MOVC,ACC,7
MOVSID,C
SETBSCLK
CLRSCLK,
MOVC,ACC,6
MOVSID,C
SETBSCLK
CLRSCLK
MOVC,ACC,5
MOVSID,C
SETBSCLK
CLRSCLK
MOVC,ACC,4
MOVSID,C
SETBSCLK
;;发送第1个位元组的低4位”0000”
;;发送第2个位元组的高4位即串行指令的低4位
D3~D0
CLRSCLK
MOVC,ACC,3
MOVSID,C
SETBSCLK
CLRSCLK
MOVC,ACC,2
MOVSID,C
SETBSCLK
CLRSCLK
MOVC,ACC,1
MOVSID,C
SETBSCLK
CIJRSCLK
MOVC,ACC,O
M
OV
SID,C
SETBSCLK
;;发送第2个位元组的低4位“0000”
;;当有连续多个指令被执行时,指令执行时间必须被考虑
RET
6结束语
分析了LCM12832ZK的性能特点、操作指令、接口方式以及使用注意事项等,并以AT89C52单片机及2线串行接口方式为例,给出了相应的硬件电路及软件程序。由该模块构成的液晶显示方案与同类型的
液晶显示模块
相比,不论是硬件电路结构的设计还是软件程序的编制都要简洁得多,并且价格也略低于相同点阵的其它同类模块。因此,该模块将会在众多领域得到更广泛的应用。
免责声明
以上信息仅作为转载信息展示,不代表作者任何观点.转载作品均注明出处,本网未注明出处和转载的,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如转载作品侵犯作者署名权,或有其他诸如版权、肖像权、知识产权等方面的伤害,并非本网故意为之,在接到相关权利人通知后将立即加以更正。