光标归位指令
┌──────┬─────────────────────────────┬───┐
ㄧ ㄧ 指令编码 ㄧ 执行 ㄧ
ㄧ 指令功能 ├──┬──┬──┬──┬──┬──┬──┬──┬──┬──┤ 时间 ㄧ
ㄧ ㄧ RS ㄧR/W ㄧDB7 ㄧDB6 ㄧDB5 ㄧDB4 ㄧDB3 ㄧDB2 ㄧDB1 ㄧDB0 ㄧ /ms ㄧ
├──────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┤
ㄧ 光标归位 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 1 ㄧ X ㄧ 1.64 ㄧ
└──────┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴───┘
功能:<1> 把光标撤回到显示器的左上方;
<2> 把地址计数器(AC)的值设置为0;
<3> 保持DDRAM的内容不变。
进入模式设置指令
┌──────┬─────────────────────────────┬───┐
ㄧ ㄧ 指令编码 ㄧ 执行 ㄧ
ㄧ 指令功能 ├──┬──┬──┬──┬──┬──┬──┬──┬──┬──┤ 时间 ㄧ
ㄧ ㄧ RS ㄧR/W ㄧDB7 ㄧDB6 ㄧDB5 ㄧDB4 ㄧDB3 ㄧDB2 ㄧDB1 ㄧDB0 ㄧ /us ㄧ
├──────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┤
ㄧ进入模式设置ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 1 ㄧI/D ㄧ S ㄧ 40 ㄧ
└──────┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴───┘
功能:设定每次定入1位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。参数设定的
情况如下所示:
位名 设置
I/D 0=写入新数据后光标左移 1=写入新数据后光标右移
S 0=写入新数据后显示屏不移动 1=写入新数据后显示屏整体右移1个字符
显示开关控制指令
┌──────┬─────────────────────────────┬───┐
ㄧ ㄧ 指令编码 ㄧ 执行 ㄧ
ㄧ 指令功能 ├──┬──┬──┬──┬──┬──┬──┬──┬──┬──┤ 时间 ㄧ
ㄧ ㄧ RS ㄧR/W ㄧDB7 ㄧDB6 ㄧDB5 ㄧDB4 ㄧDB3 ㄧDB2 ㄧDB1 ㄧDB0 ㄧ /us ㄧ
├──────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┤
ㄧ显示开关控制ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 1 ㄧ D ㄧ C ㄧ B ㄧ 40 ㄧ
└──────┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴───┘
功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。参数设定的情况如下:
位名 设置
D 0=显示功能关 1=显示功能开
C 0=无光标 1=有光标
B 0=光标闪烁 1=光标不闪烁
设定显示屏或光标移动方向指令
┌──────┬─────────────────────────────┬───┐
ㄧ ㄧ 指令编码 ㄧ 执行 ㄧ
ㄧ 指令功能 ├──┬──┬──┬──┬──┬──┬──┬──┬──┬──┤ 时间 ㄧ
ㄧ ㄧ RS ㄧR/W ㄧDB7 ㄧDB6 ㄧDB5 ㄧDB4 ㄧDB3 ㄧDB2 ㄧDB1 ㄧDB0 ㄧ /us ㄧ
├──────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┤
ㄧ设定显示屏或ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 1 ㄧS/C ㄧR/L ㄧ X ㄧ X ㄧ 40 ㄧ
ㄧ光标移动方向ㄧ ㄧ ㄧ ㄧ ㄧ ㄧ ㄧ ㄧ ㄧ ㄧ ㄧ ㄧ
└──────┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴───┘
功能:使光标移位或使整个显示屏幕移位。参数设定的情况如下:
S/C R/L 设定情况
0 0 光标左移1格,且AC值减1
0 1 光标右移1格,且AC值加1
1 0 显示器上字符全部左移一格,但光标不动
1 1 显示器上字符全部右移一格,但光标不动
功能设定指令
┌──────┬─────────────────────────────┬───┐
ㄧ ㄧ 指令编码 ㄧ 执行 ㄧ
ㄧ 指令功能 ├──┬──┬──┬──┬──┬──┬──┬──┬──┬──┤ 时间 ㄧ
ㄧ ㄧ RS ㄧR/W ㄧDB7 ㄧDB6 ㄧDB5 ㄧDB4 ㄧDB3 ㄧDB2 ㄧDB1 ㄧDB0 ㄧ /us ㄧ
├──────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼───┤
ㄧ 功能设定 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 1 ㄧ DL ㄧ N ㄧ F ㄧ X ㄧ X ㄧ 40 ㄧ
└──────┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴───┘
功能:设定数据总线位数、显示的行数及字型。参数设定的情况如下:
位名 设置
DL 0=数据总线为4位 1=数据总线为8位
N 0=显示1行 1=显示2行
F 0=5×7点阵/每字符 1=5×10点阵/每字符
设定CGRAM地址指令
┌──────┬─────────────────────────────┬───┐
ㄧ ㄧ 指令编码 ㄧ 执行 ㄧ
ㄧ 指令功能 ├──┬──┬──┬──┬──┬──┬──┬──┬──┬──┤ 时间 ㄧ
ㄧ ㄧ RS ㄧR/W ㄧDB7 ㄧDB6 ㄧDB5 ㄧDB4 ㄧDB3 ㄧDB2 ㄧDB1 ㄧDB0 ㄧ /us ㄧ
├──────┼──┼──┼──┼──┼──┴──┴──┴──┴──┴──┼───┤
ㄧ设定CGRAM ㄧ 0 ㄧ 0 ㄧ 0 ㄧ 1 ㄧ CGRAM的地址(6位) ㄧ 40 ㄧ
ㄧ 地址 ㄧ ㄧ ㄧ ㄧ ㄧ ㄧ ㄧ
└──────┴──┴──┴──┴──┴─────────────────┴───┘
功能:设定下一个要存入数据的CGRAM的地址。
设定DDRAM地址指令
┌──────┬─────────────────────────────┬───┐
ㄧ ㄧ 指令编码 ㄧ 执行 ㄧ
ㄧ 指令功能 ├──┬──┬──┬──┬──┬──┬──┬──┬──┬──┤ 时间 ㄧ
ㄧ ㄧ RS ㄧR/W ㄧDB7 ㄧDB6 ㄧDB5 ㄧDB4 ㄧDB3 ㄧDB2 ㄧDB1 ㄧDB0 ㄧ /us ㄧ
├──────┼──┼──┼──┼──┴──┴──┴──┴──┴──┴──┼───┤
ㄧ设定CGRAM ㄧ 0 ㄧ 0 ㄧ 1 ㄧ DDRAM的地址(7位) ㄧ 40 ㄧ
ㄧ 地址 ㄧ ㄧ ㄧ ㄧ ㄧ ㄧ
└──────┴──┴──┴──┴────────────────────┴───┘
功能:设定下一个要存入数据的DDRAM的地址。
读取忙信号或AC地址指令
┌──────┬─────────────────────────────┬───┐
ㄧ ㄧ 指令编码 ㄧ 执行 ㄧ
ㄧ 指令功能 ├──┬──┬──┬──┬──┬──┬──┬──┬──┬──┤ 时间 ㄧ
ㄧ ㄧ RS ㄧR/W ㄧDB7 ㄧDB6 ㄧDB5 ㄧDB4 ㄧDB3 ㄧDB2 ㄧDB1 ㄧDB0 ㄧ /us ㄧ
├──────┼──┼──┼──┼──┴──┴──┴──┴──┴──┴──┼───┤
ㄧ读取忙碌信号ㄧ 0 ㄧ 1 ㄧ FB ㄧ AC内容(7位) ㄧ 40 ㄧ
ㄧ 或AC地址 ㄧ ㄧ ㄧ ㄧ ㄧ ㄧ
└──────┴──┴──┴──┴────────────────────┴───┘
功能:<1> 读取忙碌信号BF的内容,BF=1表示液晶显示器忙,暂时无法接收单片机送来的数据或指令;
当BF=0时,液晶显示器可以接收单片机送来的数据或指令;
<2> 读取地址计数器(AC)的内容。
数据写入DDRAM或CGRAM指令一览
┌──────┬─────────────────────────────┬───┐
ㄧ ㄧ 指令编码 ㄧ 执行 ㄧ
ㄧ 指令功能 ├──┬──┬──┬──┬──┬──┬──┬──┬──┬──┤ 时间 ㄧ
ㄧ ㄧ RS ㄧR/W ㄧDB7 ㄧDB6 ㄧDB5 ㄧDB4 ㄧDB3 ㄧDB2 ㄧDB1 ㄧDB0 ㄧ /us ㄧ
├──────┼──┼──┼──┴──┴──┴──┴──┴──┴──┴──┼───┤
ㄧ 数据写入到 ㄧ ㄧ ㄧ ㄧ ㄧ
ㄧ DDRAM或 ㄧ 1 ㄧ 0 ㄧ 要写入的数据 D7~D0 ㄧ 40 ㄧ
ㄧ CGRAM ㄧ ㄧ ㄧ ㄧ ㄧ
└──────┴──┴──┴───────────────────────┴───┘
功能:<1> 将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符;
<2> 将使用者自己设计的图形存入CGRAM。
从CGRAM或DDRAM读出数据的指令一览
┌──────┬─────────────────────────────┬───┐
ㄧ ㄧ 指令编码 ㄧ 执行 ㄧ
ㄧ 指令功能 ├──┬──┬──┬──┬──┬──┬──┬──┬──┬──┤ 时间 ㄧ
ㄧ ㄧ RS ㄧR/W ㄧDB7 ㄧDB6 ㄧDB5 ㄧDB4 ㄧDB3 ㄧDB2 ㄧDB1 ㄧDB0 ㄧ /us ㄧ
├──────┼──┼──┼──┴──┴──┴──┴──┴──┴──┴──┼───┤
ㄧ 从CGRAM或 ㄧ ㄧ ㄧ ㄧ ㄧ
ㄧ DDRAM读出 ㄧ 1 ㄧ 1 ㄧ 要读出的数据 D7~D0 ㄧ 40 ㄧ
ㄧ 数据 ㄧ ㄧ ㄧ ㄧ ㄧ
└──────┴──┴──┴───────────────────────┴───┘
功能:读取DDRAM或CGRAM中的内容。