液晶显示模块技术手册HJ1602A使用说明书
- 格式:doc
- 大小:421.50 KB
- 文档页数:6
概述:SMC1602A 标准字符点阵型液晶显示模块(LCM),采用点阵型液晶显示器(LCD),可显示16 个字符X2 行西文字符,字符尺寸为2.95X4.35(WXH)mm,内置HD44780 接口型液晶显示控制器,可与MCU 单片机直接连接,广泛应用于各类仪器仪表及电子设备。
◆控制器接口说明(HD44780 及兼容芯片):1 基本操作时序:1.1 读状态:输入:RS=L,RW=H,E=H 输出:D0~D7=状态字1.2 写指令:输入:RS=L,RW=L,D0~D7=指令码,E=高脉冲输出:无1.3 读数据:输入:RS=H,RW=H,E=H 输出:D0~D7=数据1.4 写数据:输入:RS=H,RW=L,D0~D7=数据,E=高脉冲输出:无3 RAM 地址映射图控制器内部带有80X8 位(80字节)的RAM缓冲区,对应关系如右图所示:4 指令说明4.1 初始化设置4.1.1 显示模式设置4.1.2 显示开/关及光标设置4.2 数据控制控制器内部设有一个数据地址指针,用户可通过它们来访问内部的全部 80 字节RAM。
4.2.1 数据指针设置4.2.2 读数据:见1.3 节4.2.3 写数据:见1.4 节4.2.4 其他设置5 初始化过程(复位过程)5.1 写指令38H:显示模式设置第一次5.2 延时3ms5.3 写指令38H:显示模式设置第二次5.4 延时3ms5.5 写指令38H:显示模式设置第三次5.6 延时3ms5.7 写指令38H:显示模式设置第四次5.8 延时3ms5.9 写指令08H:显示关闭5.10 写指令01H:显示清屏5.11 延时3ms5.12 写指令06H:显示光标移动设置5.13 写指令0CH:显示开及光标设置。
产品使用说明书1602A1字符型液晶显示模块(双接口&带串口)第 1 页,共 29 页目录一、概述--------------------------------------------------------------------------- 3二、主要参数--------------------------------------------------------------------- 3三、接口引脚说明--------------------------------------------------------------- 4四、时序说明--------------------------------------------------------------------- 51、写操作时序与时序图:(MCUàLCM)------------------------------------------ 52、读操作时序与时序图:(LCMàMCU)------------------------------------------ 5五、LCM内部结构-------------------------------------------------------------- 61、指令寄存器(IR)和数据寄存器(DR)-------------------------------------- 62、忙标志位BF ------------------------------------------------------------------------ 63、地址计数器(AC)----------------------------------------------------------------- 64、显示数据寄存器(DDRAM)---------------------------------------------------- 75、字符发生器ROM ------------------------------------------------------------------ 76、字符发生器RAM ------------------------------------------------------------------ 8六、指令说明-------------------------------------------------------------------111、Clear display (清显示)-------------------------------------------------------------112、Return home (归位)----------------------------------------------------------------113、Entry mode set (设置输入模式)-------------------------------------------------124、Display on/off control (显示开/关控制)----------------------------------------125、Cursor or display shift (游标或显示移位元)-----------------------------------126、Function set (功能设置)----------------------------------------------------------137、Set CGRAM address (CGRAM地址设置)-------------------------------------138、Set DDRAM address (DDRAM地址设置)-------------------------------------139、Read busy flag and address (读忙标志BF和AC)-----------------------------1410、Write data to CGRAM or DDRAM(写数据到CGRAM或DDRAM)---------------------------------------------1411、Read data from CGRAM or DDRAM(从CGRAM或DDRAM中读数据)------------------------------------------14七、应用举例--------------------------------------------------------------------151、硬件方面电路----------------------------------------------------------------------152、软件举例----------------------------------------------------------------------------15八、注意事项--------------------------------------------------------------------19第 2 页,共 29 页一、概述:1602A1字符型液晶显示模块是专门用于显示字母、数字元、符号等的点阵型液晶显示模块。
1602A液晶模块文档介绍1602A液晶模块是一种常用的显示设备,主要用于显示文本信息。
它具有16列和2行的显示区域,每个区域可以显示一个字符。
本文档将介绍1602A液晶模块的基本原理、特性以及使用方法。
特性以下是1602A液晶模块的主要特性:•16列2行的显示区域•每个区域可显示一个字符•内置液晶控制器,简化控制电路的设计•低功耗设计,适合长期运行•使用标准的I2C总线进行通信,方便连接到其他设备引脚定义1602A液晶模块包含16个引脚,下面是各个引脚的定义:引脚序号引脚名称功能描述1 VSS 电源地2 VDD 电源正极3 V0 对比度调节4 RS 命令/数据选择5 R/W 读/写选择6 E 使能信号7-14 DB0-DB7 数据总线位15 LED+ 背光电源正极16 LED- 背光电源地控制指令1602A液晶模块的显示内容是由控制指令决定的。
下面是一些常用的控制指令:•光标移动指令–0x80: 将光标移动到第一行的起始位置–0xC0: 将光标移动到第二行的起始位置•清屏指令–0x01: 清除整个显示区域的内容,将光标移动到起始位置•写入数据指令–0x02: 将光标移动到起始位置–0x06: 设置光标移动一次后自动增加•光标显示控制指令–0x0E: 显示光标并设置为闪烁模式–0x0C: 显示光标而不闪烁•功能设置指令–0x38: 设置显示模式为16x2字符模式使用示例下面是一个使用1602A液晶模块的示例程序,使用Arduino开发板控制:```c #include <Wire.h> #include <LiquidCrystal_I2C.h>// 初始化液晶模块 LiquidCrystal_I2C lcd(0x27, 16, 2);void setup() { // 初始化串口通信 Serial.begin(9600); while (!Serial);// 初始化液晶模块 lcd.begin(16, 2); lcd.backlight(); }void loop() { // 显示Hello World!文本 lcd.setCursor(0, 0); lcd.print(。
1602A资料LCD1602的引脚定义想要在LCD1602屏幕的第一行第一列显示一个"A"字,就要向DDRAM的00H地址写入“A”字的代码就行了。
但具体的写入是要按LCD模块的指令格式来进行的,后面我会说到的。
那么一行可有40个地址呀?是的,在1602中我们就用前16个就行了。
第二行也一样用前16个地址。
对应如下:DDRAM地址与显示位置的对应关系我们知道文本文件中每一个字符都是用一个字节的代码记录的。
一个汉字是用两个字节的代码记录。
在PC上我们只要打开文本文件就能在屏幕上看到对应的字符是因为在操作系统里和BIOS里都固化有字符字模。
什么是字模?就代表了是在点阵屏幕上点亮和熄灭的信息数据。
例如“A”字的字模:01110○■■■○10001■○○○■10001■○○○■10001■○○○■11111■■■■■10001■○○○■10001■○○○■上图左边的数据就是字模数据,右边就是将左边数据用“○”代表0,用“■”代表1。
看出是个“A”字了吗?在文本文件中“A”字的代码是41H,PC收到41H的代码后就去字模文件中将代表A字的这一组数据送到显卡去点亮屏幕上相应的点,你就看到“A”这个字了。
刚才我说了想要在LCD1602屏幕的第一行第一列显示一个"A"字,就要向DDRAM的00H地址写入“A”字的代码41H就行了,可41H这一个字节的代码如何才能让LCD模块在屏幕的阵点上显示“A”字呢?同样,在LCD模块上也固化了字模存储器,这就是CGROM和CGRAM。
HD44780内置了192个常用字符的字模,存于字符产生器CGROM(Character Generator ROM)中,另外还有8个允许用户自定义的字符产生RAM,称为CGRAM(Character Generator RAM)。
下图说明了CGROM和CGRAM与字符的对应关系。
从上图可以看出,“A”字的对应上面高位代码为0100,对应左边低位代码为0001,合起来就是01000001,也就是41H。
1602液晶显示屏显示一、1602液晶显示屏简介液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了。
本文以常见的1602CD模块为例,介绍该模块的简单使用。
1602可以显示2行16个字符,有8位数据总线D0-D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。
该模块也可以只用D4-D7作为四位数据分两次传送。
这样的话可以节省MCU的I/O口资源。
本文将使用Atmega16并采用四位数据方式来控制1602。
1602封装尺寸图1602外观如下图所示 1602引脚说明编号符号引脚说明编号符号引脚说明1 VSS 电源地9 D2 双向数据口2 VDD 电源正极10 D3 双向数据口3 VL 对比度调节11 D4 双向数据口4 RS 数据/命令选择12 D5 双向数据口5 R/W 读/写选择13 D6 双向数据口6 E 模块使能端14 D7 双向数据口7 D0 双向数据口15 BLK 背光源地8 D1 双向数据口16 BLA 背光源正极注意事项:从该模块的正面看,引脚排列从右向左为:15脚、16脚,然后才是1-14脚(线路板上已经标明)。
VDD:电源正极,-,通常使用5V电压;VL:LCD对比度调节端,电压调节范围为0-5V。
接正电源时对比度最弱,接地电源时对比度最高,但对比度过高时会产生“鬼影”,因此通常使用一个10K的电位器来调整对比度,或者直接串接一个电阻到地;RS:MCU写入数据或者指令选择端。
MCU要写入指令时,使RS为低电平;MCU要写入数据时,使RS为高电平;R/W:读写控制端。
R/W为高电平时,读取数据;R/W为低电平时,写入数据;E:LCD模块使能信号控制端。
写数据时,需要下降沿触发模块。
D0-D7:8位数据总线,三态双向。
如果MCU的I/O口资源紧张的话,该模块也可以只使用4位数据线D4-D7接口传送数据。
液晶显示屏1602使用液晶显示屏1602是一种常用的显示器件,可以在各种设备和项目中使用。
它具有16列2行的显示范围,可以显示各种字母、数字、符号和图案。
液晶显示屏的工作原理是根据电场的变化来控制液晶分子的取向,从而改变光的透过程度,实现图像的显示。
下面将介绍使用液晶显示屏1602的一般步骤和相关注意事项。
1.材料准备使用液晶显示屏1602,您需要准备以下材料:- Arduino开发板-液晶显示屏1602-适配器或电池供电-连接线-电位器(用于调节对比度)2.连接电路将液晶显示屏1602与Arduino开发板进行连接。
连接线的具体接法可以参考液晶显示屏1602的引脚说明。
一般来说,液晶显示屏1602有16个引脚,其中8个用于控制数据传输,3个用于控制命令传输,还有一个用于控制背光。
务必确保正确地连接了每一个引脚。
在代码中,您可以指定需要显示的内容,例如文字或图案。
通过调用液晶显示屏的相关函数,您可以控制每一个像素的亮度和位置。
示例代码中的一些常用函数:- lcd.begin(cols, rows): 初始化液晶显示屏的列数和行数。
- lcd.print(content): 在当前光标位置处打印内容。
- lcd.setCursor(col, row): 设置光标的位置。
- lcd.clear(: 清空液晶显示屏上的内容。
4.调节背光和对比度5.执行输出和交互操作在编程时,您可以使用Arduino的编程语言,结合液晶显示屏的函数来实现各种操作。
具体的编程方法和语法可以参考Arduino官方文档和液晶显示屏相关的资料。
总结:。
1602a
简介
1602a是一种基于液晶显示技术的16x2字符LCD模块。
它提供了16个字符宽度和2行的可见区域,可以同时显示32个字符。
这个模块可以通过Arduino等单片机进行控制,非常适合于显示简单的文本和数字。
功能特点
•16x2字符显示
•可通过Arduino等单片机进行控制
•蓝色背光灯
•5V供电
•提供液晶显示的简单接口
•具备液晶显示常见功能,如光标控制、清除屏幕等
接口介绍
1602a模块具有16个引脚,其中8个用于数据传输,另外8个用于控制。
以下是每个引脚的功能:
•VSS: 地线
•VDD: 5V电源
•V0: 液晶对比度控制
•RS: 指令/数据选择,高电平选择数据,低电平选择指令
•R/W: 读/写选择,高电平读取数据,低电平写入数据
•E: 使能引脚,当对E进行高电平脉冲时,数据被写入液晶显示器
•D0-D7: 数据引脚,用于传输指令和数据
•LED+: 背光正极
•LED-: 背光负极
Arduino控制示例
以下是一个简单的Arduino控制1602a模块的示例代码:```arduino #include <LiquidCrystal.h>
// 初始化液晶对象 LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() { // 设置液晶的列数和行数 lcd.begin(16, 2); // 打印初始文本 lcd.print(。
LCD1602显示屏的驱动设置及例程一般来说,LCD1602有16条引脚,据说还有14条引脚的,与16脚的相比缺少了背光电源A(15脚)和地线K(16脚)。
我手里这块LCD1602的型号是HJ1602A,是绘晶科技公司的产品,它有16条引脚。
如图1所示:图1再来一它的反面的,如图2所示:图2它的16条引脚定义如下:对这个表的说明:1.VSS接电源地。
2.VDD接+5V。
3.VO是液晶显示的偏压信号,可接10K的3296精细电位器。
或同样阻值的RM065/RM0 63蓝白可调电阻。
见图3。
图34.RS是命令/数据选择引脚,接单片机的一个I/O,当RS为低电平时,选择命令;当R S为高电平时,选择数据。
5.RW是读/写选择引脚,接单片机的一个I/O,当RW为低电平时,向LCD1602写入命令或数据;当RW为高电平时,从LCD1602读取状态或数据。
如果不需要进展读取操作,可以直接将其接VSS。
6.E,执行命令的使能引脚,接单片机的一个I/O。
7.D0—D7,并行数据输入/输出引脚,可接单片机的P0—P3任意的8个I/O口。
如果接P0口,P0口应该接4.7K—10K的上拉电阻。
如果是4线并行驱动,只须接4个I/O 口。
8.A背光正极,可接一个10—47欧的限流电阻到VDD。
9.K背光负极,接VSS。
见图4所示。
图4二.根本操作LCD1602的根本操作分为四种:1.读状态:输入RS=0,RW=1,E=高脉冲。
输出:D0—D7为状态字。
2.读数据:输入RS=1,RW=1,E=高脉冲。
输出:D0—D7为数据。
3.写命令:输入RS=0,RW=0,E=高脉冲。
输出:无。
4.写数据:输入RS=1,RW=0,E=高脉冲。
输出:无。
读操作时序图(如图5):图5写操作时序图(如图6):图6时序时间参数(如图7):图7三.DDRAM、CGROM和CGRAMDDRAM(Display Data RAM)就是显示数据RAM,用来存放待显示的字符代码。
点阵字符型液晶模块1602A自定义字符使用方法作者:hulx摘要:本文介绍点阵字符型液晶模块1602A自定义字符使用方法,可用于采用HD44780或其兼容芯片的液晶显示模块.关键词:点阵字符型液晶模块,1602A,HD44780,自定义字符一、前言点阵字符型液晶模块1602A采用HD44780或其兼容芯片,可以显示2行16个5×7点阵字符.当仪器仪表中需要显示少量信息时,应用广泛.HD44780内置了160个5×7点阵字符图形,用于字符显示.除了显示英文、日文及数字,还可以通过自定义字符,在片内自定义8个字符,显示特殊字符甚至笔画比较少的汉字.但是在具体应用时,各部分地址调用时格式特殊,比较难理解.各种资料上面对自定义字符的介绍较少,本文参考HITACHI的数据手册,给出应用的具体方法.二、HD44780命令字控制1602A显示模块并显示字符,是通过向其驱动芯片HD44780发送命令字和发送数据来完成的.HD44780共定义了11个命令字,各命令字含义见表1.在CGRAM/DDRAM数据读写指令执行完毕后,地址计数器AC自动加1或减1,更新在忙标志BF 清零之后进行.三、自定义字符步骤在对模块初始化的过程里面,定义显示方式、光标、字符移位方式、自定义字符和开显示等操作.在需要显示自定义字符时,与显示内置字符的方法是相同的,只是CGRAM的地址有所区别.在写入CRRAM或DDRAM地址以后,写入对应的数据列.具体请参考下面的程序实例.下面给出自定义字符点阵时定义和调用时的步骤.1、在显示初始化时写入控制命令字,以设置CGRAM地址.CGRAM中只能自定义8个5×7点阵字符(后面会看到限制8个自定义字符的原因),对应的CGRAM 地址范围是000 000 – 000 111.定义这8个5×7点阵字符对应的控制命令字分别为:40H,48H,50H,58H,60H,68H,70H,78H2、向CGRAM写入字型编码数据(CGRAM数据).表2显示了各地址位和数据位对应关系.对于5×7点阵字符,连续写入7行点阵数据.每行分别对应CGRAM数据0-4位(第4位在左侧),需要显示的对应点置1,反之则置0.例如,自定义字符为字母“R”,则连续写入的字型数据为:1EH,11H,11H,1EH,14H,12H,11H3、向模块写入字符码值,调用自定义字符.在调用自定义字符时,要注意CGRAM地址以3位一组排列,字符码值0-2位对应CGRAM地址位3-5.字符码值4-7位全0,而第3位无效,可以是0或1.这就是自定义CGRAM空间为16个字节,却只能定义8个字符的原因.所以上面例子CGRAM中第一个自定义的字符“R”可以用码值00H或08H选中.据此,显示8个自定义字符的字符码值分别为:00H、01H、02H、03H、04H、05H、06H和07H,或者08H、09H、0AH、0BH、0CH、0DH、0EH和0FH.三、应用实例下面给出用于51系列单片机和1602接口的初始化函数和调用显示的程序,用户定义了特殊字符“℃”Void init_dsp() /* 初始化1602A LCD显示屏*/{while((rd_dsp_ins() & 0x80)); /* 如果忙标志,则等待*/wr_dsp_ins(0x38); /* 8位数据,2行5×7字符*/while((rd_dsp_ins() & 0x80));wr_dsp_ins(0x0c); /* 显示开,光标关,闪烁关*/while((rd_dsp_ins() & 0x80));wr_dsp_ins(0x06); /* 输入模式设定显示一个字符之后向右移动一个位置,不移动*/while((rd_dsp_ins() & 0x80));wr_dsp_ins(0x01); /* 清显示*/while((rd_dsp_ins() & 0x80));wr_dsp_ins(0x80); /* 从第一行开始显示*/while((rd_dsp_ins() & 0x80));wr_dsp_ins(0x50); /* 设置自定义字符的CGRAM 地址,放在第3个位置*/while((rd_dsp_ins() & 0x80));wr_dsp_dat(0x18); /* 向CGRAM写入自定义字符的第1行数据*/while((rd_dsp_ins() & 0x80));wr_dsp_dat(0x18); /* 写入第2行数据*/while((rd_dsp_ins() & 0x80));wr_dsp_dat(0x07); /*写入第3行数据*/while((rd_dsp_ins() & 0x80));wr_dsp_dat(0x08); /*写入第4行数据*/while((rd_dsp_ins() & 0x80));wr_dsp_dat(0x08); /*写入第5行数据*/while((rd_dsp_ins() & 0x80));wr_dsp_dat(0x08); /*写入第6行数据*/while((rd_dsp_ins() & 0x80));wr_dsp_dat(0x07); /*写入第7行数据*/while((rd_dsp_ins() & 0x80));}显示这个字符的程序:wr_dsp_dat(0x02); /* 显示CGRAM 中第3个字符*/while((rd_dsp_ins() & 0x80));液晶显示器以其微功耗、小体积、使用灵活等诸多优点在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。
液晶显示模块技术手册HJ1602A一、概述HJ1602A是一种工业字符型液晶,能够同时显示16x02即32个字符。
(16列2行)二.模块尺寸(如图)三.引脚接口说明表编号符号)引脚说明编号符号引脚说明1 VSS 电源地9 D2 数据《2VDD 电源正极10 D3 数据3 VL 液晶显示偏压11 ;D4数据4 RS 数据/命令选择12 D5 数据5 R/W ~读/写选择13 D6 数据6 E 使能信号14 D7 数据…7D0 数据15 BLA 背光源正极8 D1 数据16 {BLK背光源负极第1脚:VSS为地电源。
第2脚:VDD接5V正电源。
第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS 为高电平R/W为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线。
第15脚:背光源正极。
】第16脚:背光源负极。
四.1602LCD的指令说明及时序14:控制命令表1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。
指令2:光标复位,光标返回到地址00H。
)指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:显示开关控制。
D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。
lcd1602 使用手册,LCD1602 的使用详解LCD1602 是很多单片机爱好者较早接触的字符型液晶显示器,它的主控芯片是HD44780 或者其它兼容芯片。
刚开始接触它的大多是单片机的初学者。
由于对它的不了解,不能随心所欲地对它进行驱动。
经过一段时间的学习,我对它的驱动有了一点点心得,今天把它记录在这里,以备以后查阅。
一般来说,LCD1602 有16 条引脚,据说还有14 条引脚的,与16 脚的相比缺少了背光电源A(15 脚)和地线K(16 脚)。
我手里这块LCD1602 的型号是HJ1602A,是绘晶科技公司的产品,它有16 条引脚。
LCD1602 的基本操作1. 读状态:输入RS=0,RW=1,E=高脉冲。
输出:D0D7 为状态字。
2. 读数据:输入RS=1,RW=1,E=高脉冲。
输出:D0D7 为数据。
3. 写命令:输入RS=0,RW=0,E=低脉冲。
输出:无。
(写完置E= 高脉冲)4. 写数据:输入RS=1,RW=0,E=低脉冲。
输出:无。
分析时序图(1)写操作(单片机至HD44780)首先要对寄存器的选择和读、写操作选择进行配置。
RS 是寄存器选择,RS = 1 对数据进行操作;RS = 0 对指令进行操作。
接着对读写操作选择进行配置,RW = 0 写操作。
打开使能端,输入使能信号E = 1。
数据总线,对DB0~DB7 赋值,进行数据的传输【注】如果先打开使能,再进行其他配置的话,有可能传输的数据不是自己想要的。
(2)读操作(HD44780 至单片机)显示模块的指令集,根据自己的显示需要进行相应的配置显示的位置设置DDRAM显示在第一行某一列的数据可以写命令:0x80 | 0x**,显示在第二行某一列的数据可以写命令:0x80 | 0x40 | 0x** = 0xC0 | 0x**,0x80 是因为在设置DDRAM 地址时,DB7 固定是为1 的。
LCD1602 写入自己的字符及显示汉字1、由于LCD 是外部设备,处理速度比CPU 速度慢,向LCD 写入命令到完成功能需要一定的时间,在这个过程中,LCD 处于忙状态,不能向LCD 写入新的内容。
液晶显示模块技术手册
HJ1602A
一、概述
HJ1602A是一种工业字符型液晶,能够同时显示16x02即32个字符。
(16列2行)二 .模块尺寸(如图)
三.引脚接口说明表
编号符号引脚说明编号符号引脚说明
1 VSS 电源地9 D
2 数据
2 VDD 电源正极10 D
3 数据
3 VL 液晶显示偏压11 D
4 数据
4 RS 数据/命令选择12 D
5 数据
5 R/W 读/写选择13 D
6 数据
6 E 使能信号14 D
7 数据
7 D0 数据15 BLA 背光源正极
第1脚:VSS为地电源。
第2脚:VDD接5V正电源。
第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线。
第15脚:背光源正极。
第16脚:背光源负极。
四.1602LCD的指令说明及时序
1602液晶模块内部的控制器共有11条控制指令,如表所示:
14:控制命令表
1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:1为高电平、0为低电平)
指令1:清显示,指令码01H,光标复位到地址00H位置。
指令2:光标复位,光标返回到地址00H。
指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:显示开关控制。
D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标。
指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:字符发生器RAM地址设置。
指令8:DDRAM地址设置。
指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:写数据。
指令11:读数据。
五.基本操作时序表
读写操作时序如图所示:
图:读操作时序
图:写操作时序
1602LCD的RAM地址映射及标准字库表
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。
六.1602内部显示地址(如图)
例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+B(80H)=B(C0H)。
在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。
每次输入指令前都要判断液晶模块是否处于忙的状态。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图10-58所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”dedededede
1602LCD的一般初始化(复位)过程 dedededededed
延时15mS
写指令38H(不检测忙信号)de
延时5mS de
以后每次写指令、读/写数据操作均需要检测忙信号de 写指令38H:显示模式设置 de
写指令08H:显示关闭 de
写指令01H:显示清屏de
写指令06H:显示光标移动设置 de
写指令0CH:显示开及光标设置de。