LCD1602指令集(11个)
1、清屏指令(clear display) RS=0 ,R/w=0, 01H
功能:清除液晶显⽰器,即将DDRAM中的内容全部填⼊20H(空⽩字符) 光标撤回显⽰屏左上⽅
将地址计数器(AC)设为0,
光标移动⽅向为从左向右,并且DDRAM的⾃增量为1(I/D=1).
2、光标归位指令(Return Home)RS=0 ,R/w=0, 0000_001X功能:将地址计数器(AC)设为00H,
DDRAM内容保持不变,光标移⾄左上脚
3、进⼊模式设置指令(Entry Mode Set)
功能: 设 定 每 次 定 ⼊ 1 位 数据 后 光 标 移 位 ⽅ 向 并且设 定 次 写 ⼊ ⼀ 个 字符是 否移动 。
I/D = 0 光标左移,DDRAM地址⾃增1 I/D = 1 光标右移,DDRAM地址⾃增1 (当从CGRAM中读取或写⼊数据时,CGRAM操作与DDRAM相同)
SH = 0 且 DDRAM是读操作(CGRAM读或写),整个屏幕不移动 SH = 1 且 DDRAM是写操作,整个屏幕移动,移动⽅向由I/D决定
4、显⽰开关控制(Display ON/OFF Control)
功能: D = 1 , 显⽰功能开 D = 0 , 显⽰功能关,但是DDRAM中的数据依然保留 C = 1 , 有光标 C = 0 , 没有光标 B = 1 , 光标闪烁 B = 0 , 光标不闪烁
5、设置显⽰屏或光标移动⽅向的指令功能:整屏的移动或光标移动
S/C =0 R/L =0 光标左移 ,地址计数器减1(即显⽰内容和光标⼀起左移)S/C =0 R/L =1 光标右移 ,地址计数器加1(即显⽰内容和光标⼀起右移)S/C =1 R/L =0 显⽰内容左移 ,光标不移动S/C =1 R/L =1 显⽰内容右移 ,光标不移动
6、功能设定指令
功能:设定数据总线位数、显⽰的⾏数及字形。 DL=1 ,数据总线是8位 DL=0 ,数据总线是4位 N =0 ,显⽰⼀⾏ N=1 ,显⽰两⾏
F =0 , 5*8 点阵/字符 F=1 ,5*11点阵/字符
7、设定 CGRAM地址指令
功能:设定下⼀个要存⼊数据的CGRAM地址
DB5DB4DB3为字符号,即将显⽰该字符⽤到的字符地址 DB2DB1DB0为⾏号
补充理解:在芯⽚中内置了192个常⽤字符的字模,存于CGROM(character generate ROM)中,还有8个允许⽤户⾃定义字符(也就是可以显⽰⼋个中⽂字)的RAM,也就是CGRAM。具体描述为下图:
当输⼊的地址是41H时,显⽰字符A.由上图可知:
我想将⾃定义的⼀个汉⼦或图形放在第六个CGRAM中,所以可以确定字符码就为101(字符码000-->111),所以 DB5DB4DB3 = 101
因此CGRAM的地址设置为01101X'X'X
这是要输⼊字符5的过程(原理如下图所⽰) 01101000 0x07 01101001 0x10 .................
01101111 0x00
8、设置DDRAM地址
DDRAM的地址与显⽰屏对照关系(N=LOW)
9、读取忙信号或AC地址指令
如果BF=1 忙碌,⽆法接收数据或指令 BF=0可以接收数据、指令 读取地址计数器的内容
10、向DDRAM或CGRAM写⼊数据
写指令 输 ⼊ : RS=L , RW=L , E= 下 降沿脉冲 , DB0 ~ DB7= 指令 码 写数据 输 ⼊ : RS=H , RW=L , E= 下 降沿脉冲 , DB0 ~ DB7= 数据
11、从DDRAM或者CGRAM读数据
读状态 输 ⼊ : RS=L , RW=H , E=H 输出: DB0 ~ DB7= 状态字读数据 输 ⼊ : RS=H , RW=H , E=H 输出: DB0 ~ DB7= 数据
因篇幅问题不能全部显示,请点此查看更多更全内容