(完整版)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地址指令

相关文档
最新文档