(完整版)LCD1602学习总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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地址指令