液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在各类仪表和低功耗系统中得到广泛的应用。
根据显示内容可以分为字符型液晶,图形液晶。根据显示容量又可以分为单行16字,2行16字,两行20字等等。
这里介绍常用的字16字X2行的字符型液晶模块的使用方法。这是一种通用模块。与数码管相比该模块有如下优点:
1.位数多,可显示32位,32个数码管体积相当庞大了
2.显示内容丰富,可显示所有数字和大、小写字母
3.程序简单,如果用数码管动态显示,会占用很多时间来刷新显示,而1602自动完成此功能。

1602采用标准的16脚接口,其中:(模块背面有标注)
第1脚:VSS为地电源
第2脚:VDD接5V正电源
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度(建议接地,弄不好有的模块会不显示)
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线。
第15~16脚:空脚(有的用来接背光)
1602液晶模块内部的字符发生存储器(CGROM)已经存储了不同的点阵字符图形,这些字符有,阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,其中数字与字母同ASCII码兼容。
其内部还有自定义字符(CGRAM),可用业存储自已定义的字符。

1602模块的设定,读写,与光标控制都是通过指令来完成,共有11条指令,如下:
  | 指令  | RS  | RW  | D7  | D6  | D5  | D4  | D3  | D2  | D1  | D0  | 
1  | 清屏  | 0  | 0  | 0  | 0  | 0  | 0  | 0  | 0  | 0  | 1  | 
2  | 光标返回  | 0  | 0  | 0  | 0  | 0  | 0  | 0  | 0  | 1  | *  | 
3  | 输入模式  | 0  | 0  | 0  | 0  | 0  | 0  | 0  | 1  | I/D  | S  | 
4  | 显示控制  | 0  | 0  | 0  | 0  | 0  | 0  | 1  | D  | C  | B  | 
5  | 光标/字符移位  | 0  | 0  | 0  | 0  | 0  | 1  | S/C  | R/L  | *  | *  | 
6  | 功能  | 0  | 0  | 0  | 0  | 1  | DL  | N  | F  | *  | *  | 
7  | 置字符发生器地址  | 0  | 0  | 0  | 1  | 字符发生存贮器地址  | |||||
8  | 置数据存贮器地址  | 0  | 0  | 1  | 显示数据存贮器地址  | ||||||
9  | 读忙标志和地址  | 0  | 1  | BF  | 计数器地址  | ||||||
10  | 写数据到指令7.8所设地址  | 1  | 0  | 要写的数据  | |||||||
11  | 从指令7.8所设的地址读数据  | 1  | 1  | 读出的数据  | |||||||
指令1:清显示,光标复位到地址00H位置。