• 首页
  • IC产品
  • LCM12832ZK型串/并行图形点阵液晶显示模块及其应用

LCM12832ZK型串/并行图形点阵液晶显示模块及其应用

2023-05-14 38浏览

   

摘要:

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线串行接口方式为例,给出了相应的硬件电路及软件程序。由该模块构成的液晶显示方案与同类型的

液晶显示模块

相比,不论是硬件电路结构的设计还是软件程序的编制都要简洁得多,并且价格也略低于相同点阵的其它同类模块。因此,该模块将会在众多领域得到更广泛的应用。

免责声明

以上信息仅作为转载信息展示,不代表作者任何观点.转载作品均注明出处,本网未注明出处和转载的,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如转载作品侵犯作者署名权,或有其他诸如版权、肖像权、知识产权等方面的伤害,并非本网故意为之,在接到相关权利人通知后将立即加以更正。