用单片机来控制LCM模块,方式十分简单,LCM模块其内部可以看成两组寄存器, 一个为指令寄存器IR,一个为数据寄存器DR,由RS引脚来控制。所有对指令寄存器或 数据寄存器的存取均需检查LCM内部的忙碌标志BF,此标志用来告知LCM内部正在 工作,并不允许接收任何的控制命令。而此位的检查可以令RS=0,用读取D7来加以判 断,当D7为0时,才可以写入指令或数据寄存器。LCM控制指令共有11组,以下分别介 绍。
1. 清屏
清屏指令格式如下:
控制信号
|
控 制 代 码
|
RS
|
R/W
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
指令代码为01H,将DDRAM数据全部填入“空白”的ASCII代码20H,执行此指令 将清除显示器的内容,同时光标移到左上角。
2. 光标归位
光标归位指令格式如下:
控制信号
|
控 制 代 码
|
RS
|
R/W
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
×
|
指令代码为02H,地址计数器AC被清0,DDRAM数据不变,光标移到左上角。× 表示可以为0或1。
3. 输入方式设置
输入方式设置指令格式如下:
控制信号
|
控 制 代 码
|
RS
|
R/W
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
I/D
|
S
|
该指令用来设置光标、字符移动的方式。具体情况如下表所示。
状 态 位
|
指令代码
|
功能
|
I/D
|
S
|
0
|
0
|
04H
|
光标左移1格,AC值减1,字符全部不动
|
0
|
1
|
05H
|
光标不动,AC值减1,字符全部右移1格
|
1
|
0
|
06H
|
光标右移1格,AC值加1,字符全部不动
|
1
|
1
|
07H
|
光标不动,AC值加1,字符全部左移1格
|
4. 显示开关控制
显示开关控制指令格式如下:
控制信号
|
控 制 代 码
|
RS
|
R/W
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
D
|
C
|
B
|
指令代码为08H~0FH。该指令控制字符、光标及闪烁的开与关,有3个状态位 D、 C、B,这3个状态位分别控制着字符、光标和闪烁的显示状态。
D是字符显示状态位。D=1时,为开显示;D=0时,为关显示。注意关显示仅是字 符不出现,而DDRAM内容不变。这与清屏指令不同。
C是光标显示状态位。C=1时,为光标显示;C=0时,为光标消失。光标为底线形 式(5×1点阵),光标的位置由地址指针计数器AC确定,并随其变动而移动。当AC值超 出了字符的显示范围,光标将随之消失。
B是光标闪烁显示状态位。B=1时,光标闪烁;B=0时,光标不闪烁。
5. 光标、字符位移
光标、字符位移指令的格式如下:
控制信号
|
控 制 代 码
|
RS
|
R/W
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
0
|
0
|
0
|
0
|
0
|
0
|
S/C
|
R/L
|
×
|
×
|
执行该指令将产生字符或光标向左或向右滚动一个字符位。如果定时间隔地执行该 指令,将产生字符或光标的平滑滚动。 具体情况如下表所示。
状 态 位
|
指令代码
|
功能
|
S/C
|
R/L
|
0
|
0
|
10H
|
光标左滚动
|
0
|
1
|
14H
|
光标右滚动
|
1
|
0
|
18H
|
字符左滚动
|
1
|
1
|
1CH
|
字符右滚动
|
6. 功能设置
功能设置指令格式如下:
控制信号
|
控 制 代 码
|
RS
|
R/W
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
0
|
0
|
0
|
0
|
0
|
DL
|
N
|
F
|
0
|
0
|
该指令用于设置控制器的工作方式,有3个参数DL、N和F,它们的作用是:
DL用于设置控制器与计算机的接口形式。接口形式体现在数据总线长度上。DL= 1设置数据总线为8位长度,即D7~D0有效;DL=0设置数据总线为4位长度,即 D7~ D4有效。在该方式下8位指令代码和数据将按先高4位后低4位的顺序分两次传输。
N用于设置显示的字符行数。N=0为一行字符行;N=1为两行字符行。
F用于设置显示字符的字体。F=0为5×7点阵字符体;F=1为5×10点阵字符体。
7. CGRAM地址设置
CGRAM地址设置指令格式如下:
控制信号
|
控 制 代 码
|
RS
|
R/W
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
0
|
0
|
0
|
1
|
A5
|
A4
|
A3
|
A2
|
A1
|
A0
|
该指令将6位的CGRAM地址写入地址指针计数器AC内,随后,单片机对数据的操 作是对CGRAM的读/写操作。
8. DDRAM地址设置
DDRAM地址设置指令格式如下:
控制信号
|
控 制 代 码
|
RS
|
R/W
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
0
|
0
|
1
|
A6
|
A5
|
A4
|
A3
|
A2
|
A1
|
A0
|
该指令将7位的DDRAM地址写入地址指针计数器AC内,随后,单片机对数据的操 作是对DDRAM的读/写操作。
9. 读BF及AC值
读BF及AC指令的格式如下:
控制信号
|
控 制 代 码
|
RS
|
R/W
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
0
|
1
|
BF
|
AC6
|
AC5
|
AC4
|
AC3
|
AC2
|
AC1
|
AC0
|
LCD的忙碌标志BF用以指示 LCD目前的工作情况。当 BF=1时,表示正在进行内 部数据的处理,不接受单片机送来的指令或数据;当 BF=0时,则表示已准备接收命令或 数据。当程序读取此数据的内容时,D7为忙碌标志,而另外 D6~D0的值表示 CGRAM 或 DDRAM中的地址,至于是指向哪一地址则根据最后写入的地址设定指令而定。
10. 写数据到CGRAM或DDRAM
写数据到CGRAM或DDRAM的指令格式如下:
控制信号
|
控 制 代 码
|
RS
|
R/W
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
1
|
0
|
|
|
|
|
|
|
|
|
先设定CGRAM或DDRAM地址,再将数据写入 D7~D0中,以使 LCD显示出字形。也可将使用者自创的图形存入CGRAM。
11. 从CGRAM或DDRAM读取数据
从CGRAM或DDRAM读取数据的指令格式如下:
控制信号
|
控 制 代 码
|
RS
|
R/W
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
1
|
1
|
|
|
|
|
|
|
|
|
先设定CGRAM或DDRAM地址,再读取其中的数据。
本文是关于液晶模块指令的介绍:http://www.rxwlcd.com/knowshow_938.html
本文由深圳LCD、LCM、液晶模块、液晶显示屏、液晶模组、点阵模块、笔段模块、液晶面板厂家瑞祥微电子搜集整理,转载请注明出处,如有侵权请联系删除,Q:381867214! |