|  | 
 
 发表于 2023-3-23 09:27:23
|
显示全部楼层 
| 读状态:RS = L,R/W = H,EN = H 
 读数据:RS = H,R/W = H,EN = H
 
 写指令:RS = L,R/W = L,D0~D7 = 指令码,EN = 高脉冲
 
 写数据:RS = H,R/W = L,D0~D7 = 数据,EN = 高脉冲
 
 LCD1602指令(RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0)
 
 (X表示1or0都行,一般是0)
 
 1.工作方式设置指令:
 
 RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
 
 0 0 0 0 1 DL N F X X
 
 DL:设置数据接口位数。
 
 DL=1:8位数据接口(D7—D0);DL=0:4位数据接口(D7—D4)。
 
 N=0:一行显示;N=1:两行显示。
 
 F=0:5×8点阵字符;F=1:5×10点阵字符。
 
 例如:8位数据接口,两行显示,5×8点阵,即0b00111000也就是0x38。
 
 2.显示开关控制指令:0 0 0 0 0 0 1 D C B
 
 (RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0)
 
 D=1:显示开,D=0:显示关。
 
 C=1:光标显示,C=0:光标不显示。
 
 B=1:光标闪烁,B=0:光标不闪烁。
 
 3.进入模式设置指令:0 0 0 0 0 0 0 1 I/D S
 
 (RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0)
 
 I/D=1:写入新数据后光标右移;I/D=0:写入新数据后光标左移。
 
 S=1:显示移动;S=0:显示不移动。
 
 4.光标或显示移动指令:0 0 0 0 0 1 S/C R/L X X
 
 (RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0)
 
 在需要进行整屏移动时,这个指令非常有用,可以实现屏幕的滚动显示效果。初始化时不使用这个指令。
 
 5.清屏指令:0 0 0 0 0 0 0 0 0 1
 
 (RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0)
 
 清除屏幕显示内容。光标返回屏幕左上角。执行这个指令时需要一定时间。
 
 6.光标归位指令:0 0 0 0 0 0 0 0 1 X
 
 (RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0)
 
 光标返回屏幕左上角,它不改变屏幕显示内容。
 
 7.设置CGRAM地址指令:0 0 0 1 a a a a a a
 
 (RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0)
 
 8.设置DDRAM地址指令:0 0 1 a a a a a a a
 
 (RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0)
 
 这个指令用于设置DDRAM地址。在对DDRAM进行读写之前,首先要设置DDRAM地址,然后才能进行读写。前面我们说过,DDRAM就是LCD1602的显示存储器。我们要在它上面进行显示,就要把要显示的字符写入DDRAM。同样,我们想知道DDRAM某个地址上有什么字符,也要先设置DDRAM地址,然后将它读出到单片机。
 
 9.读忙信号和地址计数器AC:0 1 BF a a a a a a a
 
 (RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0)
 
 对于单片机来说,LCD1602属于慢速设备。当单片机向其发送一个指令后,它将去执行这个指令。这时如果单片机再次发送下一条指令,由于LCD1602速度较慢,前一条指令还未执行完毕,它将不接受这新的指令,导致新的指令丢失。当BF=1,表示LCD1602正忙,不能接受单片机的指令;当BF=0,表示LCD1602空闲,可以接收单片机的指令。RS=0,表示是指令;RW=1,表示是读取。LCD1602维护了一个地址计数器AC,用来记录下一次读写CGRAM或DDRAM的位置。
 
 10.写数据到CGRAM或DDRAM指令:1 0 d d d d d d d d
 
 (RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0)
 
 RS=1,数据;RW=0,写。指令执行时,要在DB7—DB0上先设置好要写入的数据,然后执行写命令。
 
 11.从CGRAM或DDRAM读数据指令:1 1 d d d d d d d d
 
 (RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0)
 
 RS=1,数据;RW=1,读。先设置好CGRAM或DDRAM的地址,然后执行读取命令。数据就被读入后DB7—DB0。
 | 
 |