LCD1602是一种工业字元型液晶,能够同时显示16x02即32个字元。LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,即可以显示出图形。
基本介绍
- 中文名:工业字元型液晶
- 外文名:LCD1602
- 特点:同时显示16x02即32个字元
- 接口:标準的16脚接口
简介
工业字元型液晶,能够同时显示16x02即32个字元。(16列2行)
注:为了表示的方便 ,后文皆以1表示高电平,0表示低电平。
1602液晶也叫1602字元型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模组。它由若干个5X7或者5X11等点阵字元位组成,每个点阵字元位都可以显示一个字元,每位之间有一个点距的间隔,每行之间也有间隔,起到了字元间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字元液晶模组(显示字元和数字)。
市面上字元液晶大多数是基于HD44780液晶晶片的,控制原理是完全相同的,因此基于HD44780写的控制程式可以很方便地套用于市面上大部分的字元型液晶。
管脚功能
1602採用标準的16脚接口,其中:
第1引脚:GND为电源地
第2引脚:VCC接5V电源正极
第3引脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4引脚:RS为暂存器选择,高电平1时选择数据暂存器、低电平0时选择指令暂存器。
第5引脚:RW为读写信号线,高电平(1)时进行读操作,
低电平(0)时进行写操作。
低电平(0)时进行写操作。
第6引脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳
变时执行指令。
第7~14引脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电
源。第15引脚背光正极,第16引脚背光负极。
特性
3.3V或5V工作电压,对比度可调
内含复位电路
提供各种控制命令,如:清屏、字元闪烁、游标闪烁、显示移位等多种功能
有80位元组显示数据存储器DDRAM
内建有192个5X7点阵的字型的字元发生器CGROM
8个可由用户自定义的5X7的字元发生器CGRAM
特徵套用
微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗套用系统中。
操作控制
注:关于E=H脉冲——开始时初始化E为0,然后置E为1。
字元集
1602液晶模组内部的字元发生存储器(CGROM)已经存储了160个不同的点阵字元图形,这些字元有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字元都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模组把地址41H中的点阵字元图形显示出来,我们就能看到字母“A”。
在单片机编程中还可以用字元型常量或变数赋值,如'A’。因为CGROM储存的字元代码与我们PC中的字元代码是基本一致的,因此我们在向DDRAM写C51字元代码程式时甚至可以直接用P1=‘A’这样的方法。PC在编译时就把'A'先转换为41H代码了。
字元代码0x00~0x0F为用户自定义的字元图形RAM(对于5X8点阵的字元,可以存放8组,5X10点阵的字元,存放4组),就是CGRAM了。
0x20~0x7F为标準的ASCII码,0xA0~0xFF为日文字元和希腊文字元,其余字元码(0x10~0x1F及0x80~0x9F)没有定义。
以下是1602的16进制ASCII码錶地址:读的时候,先读上面那行,再读左边那列,如:感叹号!的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。
指令集
指令码
功能令:
RS | R/W | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 说明 | |
清显示 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H" |
归位 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | * | 设定DDRAM的地址计数器(AC)到"00H",并且将游标移到开头原点位置;这个指令不改变DDRAM 的内容 |
进入模式设定指令 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | I/D | S | I/D=1,游标或闪烁向右移动,AC增加1。I/D=0,游标或闪烁向左移动,AC减少1,S整个显示移动 |
显示开关控制指令 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | D | C | B | [D=1: 整体显示 ON],[C=1: 游标ON],[B=1:游标位置反白允许] |
游标或显示移位指令 | 0 | 0 | 0 | 0 | 0 | 1 | S/C | R/L | * | * | 游标或显示移位指令可使游标或显示在没有读写数据的情况下,向左或向右移动,指令不改变DDRAM 的内容 |
功能设定 | 0 | 0 | 0 | 0 | 1 | DL | N | F | * | * | [DL=0/1:4/8位数据],[N=0/1,单行/双行显示],[F=0/1,5*8/5*10点阵显示模式] |
设定CGRAM地址 | 0 | 0 | 0 | 1 | AC5 | AC4 | AC3 | AC2 | AC1 | AC0 | CGRAM地址设定指令设定CGRAM地址指针, |
设定DDRAM地址 | 0 | 0 | 1 | 0 | AC5 | AC4 | AC3 | AC2 | AC1 | AC0 | DDRAM地址设定指令设定DDRAM地址。一行地址範围00H~4FH,两行DDRAM地址第一行00H~27H,第二行40H~67H,加上高2位,[一行:80H-A7H],[二行:C0H-E7H] |
读忙标誌和地址 | 0 | 1 | BF | AC6 | AC5 | AC4 | AC3 | AC2 | AC1 | AC0 | BF:忙标誌位,BF=1,模组正在进行内部操作,此时模组不接受任何外部指令和数据。BF=0,模组可以接受外部的指令和数据;同时可以读出地址计数器(AC)的值。 |
写RAM指令 | 1 | 0 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 将数据D7-D0写入到内部的RAM (DDRAM/CGRAM/IRAM/GRAM),将用户自定义的字元写入CGRAM中,D7~D5为000,D4~D0为5点的字模数据 |
读RAM指令 | 1 | 1 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 从内部RAM读取数据D7——D0(DDRAM/CGRAM/IRAM/GRAM) |