(完整版)LCD1602学习总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LCD1602液晶屏知识点总结
LCD1602的引脚包括数据指令寄存器RS,读写控制寄存器R/W,使能端E,三态数据总线DBO〜DB7,电源引脚VDD, VSS,背光正负极A、K,背光调节引脚V0。

1602可以显示2行每行16个共32个5*8或者5*11个字符,这就是1602名字的由来。

1602内部有CGROM、CGRAM、DDRAM。

CGROM是字符发生器ROM,是固化在内部的,共192个字符,包括160个5*7点阵字符,32个5*10点阵字符。

(为什么上面是5*8和5*11,这里不是,因为内部CGROM中的字符没有完全占满可以用的字模)其中部分与ASCII完全一样,所以对于大小写英文字母和数字及部分符号,在
编程时可以直接双引号括起来用。

CGRAM是64字节用户可自定义的存储区,可自定义8个5*8或者4个5*11的字符。

DDRAM是控制显示的RAM,想显示什么,就把显示内容的地址放进DDRAM,不过还要设置好显示方式。

DDRAM共80字节,第一行和第二行各40字节。

这40个字节在一次显示时当然不会全部显示,因为屏幕只能显示16个,但在滚动显示时就可以全部显示出来。

LCD1602设定某种地址,接下去读取数据就放在改类
地址中,比如设定了CGRAM的地址,那么接下去读取的数据就放在CGRAM中。

由于写数据时最高位必须为1所以实际地址是:
R=1时,是数据寄存器,RS=0时,是指令寄存器。

R/W=1时,是读操作,R/W=0时,是写操作。

读操作时,使能端E要保持1,写操作时,下降沿使能。

当RS=0,R/W=0 时,是写入命令:
1、01H :清除DDRAM的所有单元,光标被移动到屏幕左上角
<1>清除液晶显示器,即将DDRAM的内容全部填入"空白"的ASCII码20H;
<2>光标归位,即将光标撤回液晶显示屏的左上方;
<3>将地址计数器(AC)的值设为0
2、02H或这03H : DDRAM 所有单元的内容不变,光标移至左上角0
<1>把光标撤回到显示器的左上方;
<2>把地址计数器(AC)的值设置为0;
<3>保持DDRAM的内容不变
3、输入方式设置(EnterModeSet ),这些指令规定了两个方面:一是写入一个DDRAM单元后,地址指针
如何改变(加一还是减一);二是屏幕上的内容是否滚动。

04H :写入DDRAM后,地址指针减一,比如第一个字符写入8FH,则下一个字符会写入8EH;屏幕上的内
容不滚动。

05H:写入DDRAM后,地址指针减一,同上一种情况;每一个字符写入以后,屏幕上的内容向右滚动一个字符位。

06H :写入DDRAM后,地址指针加一,比如第一个字符写入80H,则下一个字符会写入81H ;屏幕上的
内容也是不滚动。

这应该是最常用的一种显示方式
07H :写入DDRAM后,地址指针加一,同上一种情况;每一个字符写入以后,屏幕上的内容向左滚动一个字符位。

功能:设定每次定入1位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。

参数设定的情况如下所示:
I/D 0= 写入新数据后光标左移1= 写入新数据后光标右移
S 0= 写入新数据后显示屏不移动1= 写入新数据后显示屏整体右移1个字4、屏幕
开关、光标开关、闪烁开关。

4、显示开关控制指令:08H、09H、0AH、0BH :关闭显示屏,实质上是不把DDRAM中的内容对应显示在屏幕上,对DDRAM的操作还是在进行的,执行这条指令,接着对DDRAM进行写入,
屏幕上没有任何内容,但是接着执行下面的某条指令,就能看到刚才屏幕关闭期间,对了。

DDRAM操作的效果
OCH :打开显示屏,不显示光标,光标所在位置的字符不闪烁。

ODH :打开显示屏,不显示光标,光标所在位置的字符闪烁。

0EH :打开显示屏,显示光标,光标所在位置的字符不闪烁。

0FH:打开显示屏,显示光标,光标所在位置的字符闪烁。

关于光标的位置:光标所在的位置指示了下一个被写入的字符所处的位置,加入在写入下一个字符前没有通过指令设置DDRAM的地址,那么这个字符就应该显示在光标指定的地方。

功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。

参数设定的情况如下:
位名设置
D0=显示功能关 1 =显示功能开
C0=无光标 1 =有光标
B0=不闪烁 1 =闪烁
5、设置光标移动(本质就是AC的增加还是减少)、整体画面是否滚动。

10H :每输入一次该指令,AC就减一,对应了光标向左移动一格。

整体的画面不滚动。

14H :每输入一次该指令,AC就加一,对应了光标向右移动一格。

整体的画面不滚动。

18H :每输入一次该指令,整体的画面就向左滚动一个字符位。

1CH :每输入一次该指令,整体的画面就向右滚动一个字符位。

画面在滚动的时候,每行的首尾是连在一起
的,也就是每行的第一个字符,若左移25次,就会显示在该行的最后一格。

在画面滚动的过程中,AC的值
也是变化的。

功能:使光标移位或使整个显示屏幕移位。

参数设定的情况如下:
S/C R/L 设定情况
0 0 光标左移1格,且AC值减1
光标右移1格,且AC值加1
显示器上字符全部左移一格,但光标不动
1 1 显示器上字符全部右移一格,但光标不动
6、显示模式设定指令,设定了显示几行,显示什么样的点阵字符,数据总线占用几位
20H : 4位总线,单行显示,显示 5 X7的点阵字符
24H : 4位总线,单行显示,显示 5 X10的点阵字符
28H: 4位总线,双行显示,显示 5 X7的点阵字符
2CH : 4位总线,双行显示,显示 5 X10的点阵字符
30H : 8位总线,单行显示,显示 5 X7的点阵字符
34H : 8位总线,单行显示,显示 5 X10的点阵字符
38H : 8位总线,双行显示,显示 5 X7的点阵字符。

这是最常用的一种模式
3CH : 8位总线,双行显示,显示 5 X10的点阵字符
数据总线位数、显示的行数及字型。

参数设定的情况如下:
位名设置
DL0=数据总线为4位 1 =数据总线为8位
N0=显示1行 1 =显示2行
F0=5X7点阵/每字符1=5X10点阵/每字符
可以用于显示自定义字符
N=1,两行显示,第一行A6〜AO=OOH〜27H,第二行A6〜A0=40H〜67H(这里很奇怪,查到的资料写的是:第- 行
A6~A0=00H~2FH,第二行一样,这样就超过了80字节,我觉得应该是有误的),当然以上地址都是要加80H的。

不设置DDRAM直接写出内部字符的地址,也可以显示字符,写入内部字符的二进制代码。

9、读取忙信号或者AC地址指令
功能:
<1>读取忙碌信号BF 的内容,BF=1表示液晶显示器忙,暂时无法接收单片机送来的数据或指令 当BF=O 时,液晶显示器可以接收单片机送来的数据或指令 ;
<2>读取地址计数器(AC )的内容。

10、数据写入DDRAM 或者CGRAM 指令一览
功能:读取 DDRAM 或CGRAM 中的内容。

基本操作时序: 读状态 输
入:
RS=L ,RW=H ,E=H
输出:DB0 - -DB7=状态字
写指令 输入: RS=L , RW=L ,E=下降沿脉冲, DB0 - -DB7=指令码
输出:无
读数据 输入:
RS=H ,RW=H ,E=H
输出:DB0 - -DB7=数据
写数据 输入:
RS=H ,RW=L ,E=下降沿脉冲,
DB0 -
丿DB7=数据 输出:无
关于自定义字符:
自定义字是放在内部 CGRAM 中,查看内部字符表可以看到,从地址 00000000〜00000111 共八个字节,使 用时先写入CGRAM 设置指令,然后往里面放入字模,要显示时,设置 DDRAM 地址,将0x00〜0x08的地址放
入就OK 。

相关文档
最新文档