1602液晶知识详解:
1、1602液晶基础
*VSS:电源地信号引脚;
*VDD:电源信号引脚;
*VEE:液晶对比度调节引脚,接0~5V以调节液晶的显示对比度;
*RS:寄存器选择引脚:
RS = 1时为数据寄存器;
RS = 0时为指令寄存器;
*RW:读写选择引脚:
RW = 1时,选择读操作;
RW = 0时,选择写操作;
*E:读写操作选择引脚,下降沿时,数据被写入1602液晶,E= 1时,对1602液晶进行读数据操作;
*D0~D7:数据总线引脚;
*LEDA:背光电源引脚;
*LEDK:背光电源地引脚;
2、指令简介:
*清屏指令,用与清除DDRAM和AC的数值,将屏幕显示清空:
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
*归零指令,将屏幕光标回归原点:
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
* |
*输入方式选择指令,用于设置光标和画面移动方式:
I/D = 1:表示数据读写操作后,AC自动加1;
I/D = 0:表示数据读写操作后,AC自动减1;
S = 1:表示数据读写操作后,画面平移;
S= 0:表示数据读写操作后,画面保持不变;
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
I/D |
S |
*显示开关控制指令,用于设置显示光标级闪烁开、关:
D:显示开关:D= 1:开;D = 0:关;
C:光标开关:C= 1:开;C= 0:关;
B:闪烁开关:B= 1:开;B= 0:关;
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
D |
C |
B |
*光标和画面移动指令,用于在不影响DDRAM的情况下使光标、画面移动:
S/C = 1:画面平移1个字符位;
S/C = 0:光标平移1个字符位;
R/L = 1:右移;
R/L = 0:左移;
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
0 |
0 |
1 |
S/C |
R/L |
* |
* |
*功能设置指令,用于设置工作方式(初始化指令):
DL= 1:表示8位数据接口;
DL = 0:表示4位数据接口;
N = 1:表示2行显示;
N = 0:表示1行显示;
F = 1:表示5*10的点阵字符;
F = 0:表示5*7的点阵字符;
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
0 |
1 |
DL |
N |
F |
* |
* |
*CGRAM设置指令,用于设置CGRAM的地址,其中A5~A0 =0X00~0X03F:
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
1 |
A5 |
A4 |
A3 |
A2 |
A1 |
A0 |
*DDRAM设置指令,用于设置DDRAM地址。其中,D7 = 0,表示一行显示A6~A0= 0~4FH;D7 = 1,表示两行显示,首行显示A6~A0 = 00H~2FH,次行显示A6~A0 = 40H~64FH:
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
D7 |
A6 |
A5 |
A4 |
A3 |
A2 |
A1 |
A0 |
DDRAM :
显示用RAM,直接和屏幕上的点相对应.屏幕上的一个点和DDRAM中的一个位对应,字符屏的DDRAM和图形屏的DDRAM有一点点区别。
CGROM:
字模存储用空间。你要显示某个ASCII字符时,要显示字符的字模就存在这里,对于字符屏,要显示某个字符时,往DDRAM里写字符的索引(一般都是ASCII码)就可以完成显示。比如你写0x38,则显示为数字8。
字符屏的DDRAM一般和IC能显示的最大字符数相同。有的IC可以控制显示80个字符,但屏幕只显示20个字符。对于图形屏,往DDRAM里写什么样的数据,屏幕上就会显示什么样的点,比如你写0x38, 则显示00111000。图形屏的DDRAM一般都会比屏幕显示大个2倍以上,为的是简化翻屏,以及实现其他特殊显示效果 。
CGRAM是用户自建字模区,有时ASCII码表不能满足个人对字符的要求,则需要在这里写入字模。字模的方式和CGROM中的一样。
一般写入到这里的字模,其索引值为(0x00~0x07),建立好字模后,往DDRAM中写索引0x00,新建的字符就会显示出来。
*读BF和AC指令,其中,BF = 1表示忙,BF = 0表示准备好。此时AC值为最近一次地址设置(CGRAM和DDRAM)定义:
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
1 |
BF |
AC |
AC5 |
AC4 |
AC3 |
AC2 |
AC1 |
AC0 |
*写数据指令,用于将地址码写入DDRAM以使LCD显示出相应的图形或将用户自创的图形存入CGRAM内:
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
1 |
数据 |
*读数据指令,根据当前设置的地址,从DDRAM和CGRAM中读出数据:
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
1 |
1 |
数据 |
编程思路:
*设置1602液晶的功能;
*设置1602液晶的输入方式;
*设置1602液晶的显示方式;
*清屏;