简单介绍
主要参数
显示容量:16X2个字符
芯片工作电压:4.5~5.5V, 最佳工作电压5.0V(2.0mA)
引脚说明
RS:为0时是指令输入,也就是表示显示在哪个“格子”的(1602有16X2共32个"格子");
为1时表示数据输入,即每个”格子“显示的内容
R/W:为1时是读,0是写;
E:读写数据时要置1
D0~D7:数据输入输出
基本操作
读写操作
-
读状态,输入:RS=0, RW=1, E=0;
此时输出数据D0~D7为状态字,每一位都有各自的状态;
其中D0-D6表示当前数据地址指针的数值,D7的状态表示读写操作使能,如果是1表示禁止读写,0表示允许读写;
-
写指令(即告诉1602要显示的位置):RS=0, RW=0, E=高脉冲,D0-D7为指令码
-
读数据:RS=1, RW=1, E=1, 此时D0-D7输出数据
-
写数据:RS=1, RW=0, D0-D7表示要写入的数据,E=高脉冲
1 | void Read_Busy() //读状态判断是芯片否处于”忙“状态 |
RAM地址映射
控制器内部自带了80X8位(即80Bytes)的RAM缓冲区,对应关系如下图:
注意:第10——27和50——67的地址上的字符是无法显示的,只能显示前面16X2个地址上所存放的字符
指令说明
初始化设置:
-
显示模式设置:指令码0x38(二进制是00111000),表示设置16X2显示,5X7点阵,8位数据接口
-
开/关光标设置:(配置时要转为16进制)
指令码(二进制形式)
00001DCB
-
D=1开显示,D=0关显示
-
C=1显示光标,C=0不显示光标
-
B=1光标闪烁,B=0不闪烁
指令码(二进制形式)
000001NS
-
N=1当读或写一个字符后地址和光标自动+1,N=0则为自动-1;
-
S=1当写入一个字符整屏显示左移(N=1)或右移(N=0)达到光标不动屏幕移动的效果;
S=0当写入一个字符,屏幕显示不移动
-
-
数据控制
控制器内部有地址指针,通过发送指令
80H+地址码
(地址码范围是0——27H,40H——67H) 即可访问地址上的数据,进而进行设置 -
其他指令:
时序图
读操作时序图
写操作时序图
时序参数
例子
控制LCD1602显示字符12345
1 |
|