LCD1602液晶使用手册
二:在设置完成之后我们就要明白具体是在哪显示,在哪个位置显示?在对液晶模块 的初始化中要先设置其显示模式, 在液晶模块显示字符时光标是自动右移的, 无 需人工干预。 每次输入指令前都要判断液晶模块是否处于忙的状态。DDRAM 就 是显示数据 RAM ,用来寄存待显示的字符代码。共 80 个字节,其地址和屏幕的 对应关系如下表:
2.进入模式设置指令
功能 : 设定每次定入 1 位数据后光标的移位方向 , 并且设定每次写入的一 个字符是否移动。参数设定的情况如下所示: 位名 设置 I/D 0=写入新数据后光标左移 1=写入新数据后光标右移 S 0=写入新数据后显示屏不移动 1=写入新数据后显示屏整体右 移 1 个字符
操作步骤:
初始化 写命令(RS=L)设置显示坐标 写数据(RS=H)
一:LCD1602关键性的指令设置
1ቤተ መጻሕፍቲ ባይዱ清屏指令
功能:<1> 清除液晶显示器,即将 DDRAM 的内容全部填入"空白"的 ASCII 码 20H; <2> 光标归位,即将光标撤回液晶显示屏的左上方; <3> 将地址计数器(AC)的值设为 0。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,例如第二行 第一个字符的地址是 40H, 那么是否直接写入 40H 就可以将光标定位 在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位 D7 恒定为高电平 1 所以实际写入的数据应该是 01000000B(40H) +10000000B(80H)=11000000B(C0H)。在 1602 中我们就用前 16 个就行了。第二行也一 样用前 16 个地址。对应如下:
3.显示开关控制指令
功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。参数设定的情 况如下: 位名 设置 D 0=显示功能关 1=显示功能开 C 0=无光标 1=有光标 B 0=光标闪烁 1=光标不闪烁
4.功能设定指令
功能:设定数据总线位数、显示的行数及字型。参数设定的情况如下: 位名 设置 DL 0=数据总线为 4 位 1=数据总线为 8 位 N 0=显示 1 行 1=显示 2 行 F 0=5×7 点阵/每字符 1=5×10 点阵/每字符
RAM地址映射图
4.功能设定指令
功能:设定数据总线位数、显示的行数及字型。参数设定的情况如下: 位名 设置 DL 0=数据总线为 4 位 1=数据总线为 8 位 N 0=显示 1 行 1=显示 2 行 F 0=5×7 点阵/每字符 1=5×10 点阵/每字符
lcd1602使用手册,LCD1602的使用详解
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 写入新的内容。
LCD1602串并双口使用说明书
产品使用说明书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字符型液晶显示模块是专门用于显示字母、数字元、符号等的点阵型液晶显示模块。
LCD1602使用手册-中文详细版
图1再来一张它的背面的,如图2所示:图2图3图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,用来寄存待显示的字符代码。
共80个字节,其地址和屏幕的对应关系如下(如图8):图8DDRAM相当于计算机的显存,我们为了在屏幕上显示字符,就把字符代码送入显存,这样该字符就可以显示在屏幕上了。
同样LCD1602共有80个字节的显存,即DDRAM。
但LCD 1602的显示屏幕只有16×2大小,因此,并不是所有写入DDRAM的字符代码都能在屏幕上显示出来,只有写在上图所示范围内的字符才可以显示出来,写在范围外的字符不能显示出来。
这样,我们在程序中可以利用下面的“光标或显示移动指令”使字符慢慢移动到可见的显示范围内,看到字符的移动效果。
前面说了,为了在液晶屏幕上显示字符,就把字符代码送入DDRAM。
例如,如果想在屏幕左上角显示字符‘A’,那么就把字符‘A’的字符代码41H写入DDRAM的00H地址处即可。
至于怎么写入,后面会有说明。
那么为什么把字符代码写入DDRAM,就可以在相应位置显示这个代码的字符呢?我们知道,LCD1602是一种字符点阵显示器,为了显示一种字符的字形,必须要有这个字符的字模数据,什么叫字符的字模数据,看看下面的这个图就明白了(如图9)。
图9上图的左边就是字符‘A’的字模数据,右边就是将左边数据用“○”代表0,用“■”代表1。
从而显示出‘A’这个字形。
LCD1602数据手册LCD16...
LCD1602数据手册1602采用标准的16脚接口,其中:第1脚:VSS为地电源第2脚:VDD接5V正电源第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线。
第15~16脚:空脚1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”1602液晶模块内部的控制器共有11条控制指令,如表2所示,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明: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:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
LCD1602帮助手册
LCD1602帮助手册正面图背面图正面图为第一图,管脚应排列在左上方,左边第一脚为管脚1,向右依次为2,3,4………15,16。
背面一般也有标注,并且附带了管脚对应的作用。
其中第三脚VO为对比度调节脚,一般外接滑动变阻器,调节输入的电压,来调节明暗度(可以直接接地,不过直接接地,需要斜着屏幕,才能看见LCD是否显示字符,正面看都是黑黑的一格一格的)。
15,16角一般为背光LED灯源,一个接VCC(一般为15脚),一个接GND(一般为16脚),最好接入限流电阻,不接也可使用,不过会缩短寿命,这两角可以不接,如果不接,在黑暗的室内,显示效果欠佳。
管脚编号如下图所示:管脚对应符号对LCD的操作,有四种操作,分别为:读状态,读数据,写指令和写数据,一般常用的为读状态,写指令和写数据。
操作图如下:当RS端为低电平,RW端为高电平,E为高电平是,对LCD1602的操作为读状态操作,这时,可以对LCD的状态进行读取,读取通过D0~D7的端口读取。
其他操作相似,对照图,即可完成,但是有个读写时序的要求,时序图见下图:读操作时序对LCD进行读操作时,先将RS置为低电平(0V),然后将RW样置为高电平(+5V),然后有个tsp1的延迟(但是一般这个延迟为ns级,一个单片机的指令周期通常都为us级,一般不需要特别延迟,如果程序有一定错误的时候,可以稍微延迟一下),然后再将E置为1,然后延迟td时间(td一般也为ns级,可以适当延迟一点点),然后读取D0~D7的数据。
写操作也是类似的,将RS,RW,E端口进行相应操作即可完成,写数据和写命令的操作,延迟的时间都很短,程序不稳定的话,可以延迟个1us,一般就可以了。
LCD1602的指令有11条,如下图:(指令表)从之前的操作来看,对照此表,不难看出,指令表的前8条都是命令指令,RS,RW都为0,所以操作时,都是写命令操作,D7~D0的数值的不同,代表了操作的不同,比如D0~D7为0x01时,对LCD的操作命令就为清屏显示,第二条指令为光标返回指令,在D0处有个※标记,这表示,不论此位的数据为1还是为0,对此命令都无效,即D0~D7端口写入0x20为光标返回指令,D0~D7端口写入0x03,此命令也为光标返回指令。
LCD1602中文资料程序和使用说明
LCD1602中文资料程序和使用说明一、硬件连接和初始化步骤:1.将LCD1602的16个引脚连接到MCU(单片机)的相应引脚上。
其中,VCC和GND分别接到电源正负极,VO接到可调电位器的中间引脚(用于调节背光亮度),RS、RW和E分别接到MCU的IO口上,D0-D7分别接到MCU的8个IO口上。
2.初始化LCD1602的操作包括设置显示模式、显示光标、输入模式等,具体步骤如下:a.将8位数据接口设置为并行输入模式,即设置D0-D3为输入模式。
b.设置显示模式为2行显示,5x8点阵字符,显示器不移动。
c.将显示光标设置为闪烁显示。
d.设置数据输入方式为向右移动,同时字符显示不移动。
e.清除显示内容,将光标位置设置为第一行第一列。
f.打开显示器和光标显示功能。
二、常用函数和操作方法:1. void lcd1602_init( 初始化LCD1602,包括上述硬件连接和初始化步骤。
2. void lcd1602_clear( 清除显示内容。
3. void lcd1602_setCursor(int row, int column) 设置光标位置,row表示行数(从0开始),column表示列数(从0开始)。
4. void lcd1602_print(String str) 在当前光标位置打印字符串str。
5. void lcd1602_shiftDisplayLeft( 将显示内容向左移动一位。
6. void lcd1602_shiftDisplayRight( 将显示内容向右移动一位。
7. void lcd1602_scrollDisplayLeft( 将整个显示内容向左滚动一格。
8. void lcd1602_scrollDisplayRight( 将整个显示内容向右滚动一格。
9. void lcd1602_noCursor( 关闭光标显示。
10. void lcd1602_cursor( 打开光标显示。
字符型lcd1602的基本操作
字符型lcd1602的基本操作下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!字符型LCD1602的基本操作LCD1602是一种常用的字符型液晶显示屏,广泛应用于各种嵌入式系统和电子项目中。
lcd1602
控制接口说明: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=L,RW=L,D0—D7=数据,E=高脉冲输出:无2、状态字说明3、RAM地址映射图控制器内部带有80×8位(80字节)的RAM缓冲区,对应的关系如下图所示:4、指令说明4.1初始化设置显示模式设置控制器内部设有一个数据地址指针,可通过它们来访问内部的全部80字节RAM。
数据指针设置:延时15ms写指令38H(不检测忙信号)延时5ms写指令38H(不检测忙信号)延时5ms写指令38H(不检测忙信号)(以后每次写指令、读/写数据操作之前均需检测忙信号)写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示光标移动设置写指令0CH:显示开及光标设置原文出自:/47okey/blog/item/809c7cfc8dd6541c08244d60.html程序分析:、程序清单:RS BIT P3.7 ;RS1602液晶的数据命令控制端,高电平为数据,低电平为指令;这3位是液晶屏的控制信号,连接方式由具体硬件而定RW BIT P3.6;RW1602液晶的读写控制端,高电平为读,低电平为写E BIT P3.5;E1602的使能端ORG 0000H;程序开始LJMP MAIN;跳转到MAIN处执行程序ORG 0100H;数据存放地址MAIN:LCALL DISPLAY;调用液晶显示子程序LCALL D1S;延时1秒LJMP MAIN;返回到MAIN处;-------液晶显示的子程序(显示前先格式转换)---------------------------------------DISPLAY:LCALL INITIAL;调用初始化子程序MOV A, #10000000B ; LINE1: DB 'This is a TEST',00H,设置第一行的显示地址LCALL WRITE_INSTRUCTION;调用写液晶命令子程序MOV DPTR, #LINE1;将表格1送到DPTR中LCALL PR_STRING;调用写字符子程序LCALL WRITE_LCDDATA;调用写液晶数据子程序MOV A, #11000000B ; LINE2: DB'Design by 47okey',00H,设置第二行的显示地址LCALL WRITE_INSTRUCTION;调用写液晶命令子程序MOV DPTR, #LINE2;将表格2送到DPTR中LCALL PR_STRING;调用写字符子程序RET;---液晶屏初始化,具体请参考资料-------------------------------------------------initial: MOV A, #01H;01H这个指令是设置1602的清屏操作LCALL WRITE_INSTRUCTION;调用液晶命令写入子程序MOV A, #38H;38H这个指令是设置1602的显示模式,2行,16个字符/行LCALL WRITE_instruction;调用液晶命令写入子程序MOV A, #0FH;0FH这个指令是设置1602的显示、显示光标、光标闪烁LCALL WRITE_instruction;调用液晶命令写入子程序MOV A, #06H;06H这个指令是设置1602的输入方式,增量不移位LCALL WRITE_instruction;调用液晶命令写入子程序RET;----写液晶指令的子程序------------------------------------------WRITE_instruction: MOV P1, A;将累加器A中的命令送到P0口做输出数据CLR RS ;写入控制命令,RS低电平为命令CLR RW;读写控制端,RW,低电平为写,就是写命令CLR E;使能端,E发生电平跳变就开始写入命令LCALL DELAY;调用延时子程序,也就是下面写的判断液晶模块是否处于忙状态SETB E;使能端,E发生电平跳变完成,写入命令完成RET;----写液晶数据的子程序---------------------------------------------write_lcddata: MOV P1, A;将累加器A中的数据送到P0口做输出数据SETB RS ;写入显示数据,RS高电平为数据CLR RW;读写控制端,RW低电平为写数据CLR E;使能端E,低电平LCALL DELAY ;判断液晶模块是否忙?SETB E;使能端,E发生电平跳变完成,写入数据完成RET;-----写行字符的子程序---------------------------------------------------------------PR_STRING: CLR A;将累加器A中的内容做清零操作MOVC A, @A+DPTR;查表,将查到的数据送到累加器A中去JZ END_PR;JZ为累加器A判0转移指令,若A 中不为0则往下执行程序,为0则跳转到END_PR处LCALL WRITE_LCDDATA;调用写液晶数据的的子程序INC DPTR;DPTR地址加一LJMP PR_STRING;跳转到PR_STRING处执行程序END_PR: RET;----查看液晶忙碌信号的子程序---------------------------------------------------------DELAY: MOV P1,#0FFH ;判断液晶显示器是否忙的子程序 CLR RS;RS低电平,写命令SETB RW;RW高电平,读液晶内部的数据CLR E;使能端低电平NOP;延时一个机器周期SETB E;使能端高电平JB P1.7,DELAY ;如果P1.7为高电平表示忙就循环等待,JB判bit转移,bit为1则跳转,否则顺序执行程序 RET;---1mS延时(按12MHZ算)-----------------------------------------------------------------D1mS: MOV R7,#250LOOP0: NOPNOPDJNZ R7,LOOP0RET;----1S延时(按12MHZ算)-----------------------------------------------------------------D1S: Mov R6,#4LOOP2: mov R5,#250LOOP1: LCALL D1mSDJNZ R5,LOOP1DJNZ R6,LOOP2RET;--------------------------------------------------------------------------------------LINE1: DB 'This is a TEST !',00HLINE2: DB 'Design by 47okey',00HEND。
LCD1602
通用 1602 液晶显示模块使用手册☆☆☆☆ Email: support@通用 1602液晶显示模块使用手册伟纳电子-1-通用 1602 液晶显示模块使用手册☆☆☆☆ Email: support@一. 基本特征 1.显示特性单 5V 电源电压,低功耗,长寿命,高可靠性 内置 192 种字符(160 个 5×7 点阵字符和 32 个 5×10 点阵字符) 具有 64 个字节的自定义字符 RAM,可自定义 8 个 5×8 点阵字符或四个 5×11 点阵字符 显示方式:STN,半透,正显 驱动方式:1/16DUTY,1/5BIAS 视角方向:6 点 背光方式:底部 LED 通讯方式:4 位或 8 位并口可选 标准的接口特性,适配 MC51 和 M6800 系列 MPU 的操作时序.2.物理特性外型尺寸 可视范围 显示容量 点尺寸 点间距 80*36*14 64.6(W) X 16.0(H) 16字符二行 0.55 X 0.75 0.08 mm mm 单位 mm3.外型尺寸图4.结构块图-2-通用 1602 液晶显示模块使用手册☆☆☆☆ Email: support@二 电气参数: 1 极限参数项 电源电压 输入电压 操作温度 储存温度 湿度 目 逻辑 LCD 驱动 符 号 最小值 0 0 0 0 -20 — 最大值 7.0 6.5 Vdd 50 70 90 单位 V V V ℃ ℃ %RH 注 释Vdd Vdd – Vee Vi Top Tstg —说明:倘若在超过上述极限参数的条件下长期使用,极易永久性地损坏本模块,因而建议用户在下列表 中的电性能参数范围内,使用本模块.2 电气参数 (Vcc=5v±5%,Ta=+25℃)项 目 符 号 最小值 条 件 典型值 最大值 单 位电源电压逻辑Vdd Vdd–Vee Vih Vil Voh Vol fosc IDD4.5 0 0.7Vdd -0.3 0.75Vdd — 1905.0 — — — — — 270 2.05.5 5.0 Vdd 0.55 — 0.2Vdd 350 2.4LCD 驱动 高电平 输入电压 低电平 高电平 输出电压 低电平 频 率V工作电流-Ioh=1mA Iol=1mA Rf=91kΩ±2% VDD=5.0V-3-KHz mA通用 1602 液晶显示模块使用手册☆☆☆☆LCD 驱动电压 (推荐电压) Vdd–VeeEmail: support@0 5.0 5.0 V三 接口定义:管脚号 1 2 3符号 Vss Vdd V0功能4RS5 6 78 9 10 11 12 13 14 15 16R/W E DB0DB1 DB2 DB3 DB4 DB5 DB6 DB7 A K电源地(GND) 电源电压(+5V) LCD 驱动电压(可调) 寄存器选择输入端,输入 MPU 选择模块内部寄存器类型信号: RS=0,当 MPU 进行写模块操作,指向指令寄存器; 当 MPU 进行读模块操作,指向地址计数器; RS=1,无论 MPU 读操作还是写操作,均指向数据寄存器 读写控制输入端,输入 MPU 选择读/写模块操作信号: R/W=0 读操作;R/W=1 写操作 使能信号输入端,输入 MPU 读/写模块操作使能信号: 读操作时,高电平有效;写操作时,下降沿有效 数据输入/输出口,MPU 与模块之间的数据传送通道 数据输入/输出口, MPU 与模块之间的数据传送通道 数据输入/输出口, MPU 与模块之间的数据传送通道 数据输入/输出口, MPU 与模块之间的数据传送通道 4 位方式通讯时,不 数据输入/输出口, MPU 与模块之间的数据传送通道 使用 DB0-DB3 数据输入/输出口, MPU 与模块之间的数据传送通道 数据输入/输出口, MPU 与模块之间的数据传送通道 数据输入/输出口, MPU 与模块之间的数据传送通道 背光的正端+5V 背光的负端 0V四 操作时序图 1 写操作时序-4-通用 1602 液晶显示模块使用手册☆☆☆☆ Email: support@RSVIH1 VIL1VIH1 VIL1tASR/W VIL1tAHVIL1PWEN tErE VIH1 VIL1 VIH1 VIL1tAH tErVIL1tDSWDB0~DB7 VIH1 VIL1 Valid datatHVIH1 VIL1tcycE项 E 周期 E 脉宽(高电平) E 上升/下降时间目符号 tcycE PWEN tEr,tEf tAS tAH tDSW tH条件最小值 1,000 450 — 140 10 195 10最大值 — — 25 — — 320 —单位地址设置时间(RS,R/WtoE) 地址保持时间 数据设置时间 数据保持时间Vdd=5V±5% Vss=0V Ta=25℃ns2.读操作时序-5-通用 1602 液晶显示模块使用手册☆☆☆☆VIH1 VIL1Email: support@VIH1 VIL1RStASR/W VIH1tAHVIH1PWEN tErE VIH1 VIL1 VIH1 VIL1tAH tErVIL1tDDRDB0~DB7 VIH1 VIL1 Valid datatDHRVIH1 VIL1tcycE项 E 周期 E 脉宽(高电平)目符号 tcycE PWEN tEr,tEf tAS tAH tDDR tDHR条件最小值 1,000 450最大值 — — 25 — — 320 —单位E 上升/下降时间 地址设置时间(RS,R/WtoE) 地址保持时间 数据延迟时间 数据保持时间Vdd=5V±5% Vss=0V Ta=25℃— 140 10 — 20ns五 模块显示特性详解:本模块适宜与 4 位或者 8 位 MPU 接口,接口由使能信号 E 控制;标志位 BF 为模块内部工作状态标 志,MPU 访问模块时,首先应判断状态标志位 BF;在电源 Vdd=+5V 情况下,模块与 MPU 通讯速度 可以达到 2MHz; 本模块提供 5X8 点阵或者 5X7 点阵,带光标显示的字符结构的显示模式,用户通过指令设置可以方 便地进行选择; 本模块提供了显示数据缓冲区 DDRAM,字符发生器 CGROM 和字符发生器 CGRAM;用户可以使用 CGRAM 来存储自己定义的最多 8 个 5X8 点阵的图形字符的字模数据; 本模块字符在 LCD 显示屏上的显示位置与该字符的字符代码在显示缓冲区 DDRAM 内的存储地址一 一对应; 本模块通过指令设置来选择占空比(duty)周期,选择参数如下: 单行 5X8 点阵字符带光标显示:1/8 单行 5X10 点阵字符带光标显示:1/11 双行 5X8 点阵字符带光标显示:1/16 本模块提供了较为丰富的指令设置: 清显示;光标回原点;显示开/关;光标开/关;显示字符闪烁;光标移位;显示移位 通过选择相应的指令设置,用户可以实现多种字符显示样式; 本模块提供了内部上电自动复位电路,当外加电源电压超过+4.5v 时,自动对模块进行初始化操作, 将模块设置为默认的显示工作状态;-6-通用 1602 液晶显示模块使用手册☆☆☆☆本模块采用低功耗 CMOS 设计 1 软硬件注解 1-1 模块组件内部结构 模块组件内部主要由 LCD 显示屏(LCD panel) ,控制器(controller) ,列驱动器(segment driver)和 偏压产生电路构成. LCD 显示屏为 common 和 segment 交叉形成的点阵,以 5×8 点阵的字符结构模式和设置的显示字符 数目,选择适宜的行数,分单屏,双屏或者多屏显示规定的字符.对于双屏或者多屏显示结构的 LCD,每 一显示屏结构部分,均由各自独立的使能信号 E 控制. 列驱动器与控制器配套使用,它接收来自控制器的振荡,帧同步输出,串行输出的数据和移位及锁存 脉冲,产生列 segment 交流扫描驱动信号. 控制器接收来自 MPU 的指令和数据,控制着整个模块的工作,由 CGROM,CGRAM 和 DDRAM 等 字符存储区域,以及与 MPU 和列驱动器的 I/O 接口,指令寄存和译码机构,地址计数器等部分组成.在 控制器的控制下,模块通过数据总线 DB0~DB7 和 E,R/W,RS 三个输入控制端与 MPU 接口.这三根控 制线按照规定的时序相互协调作用, 使控制器通过数据总线 DB 接收 MPU 发送来的指令和数据, CGROM 从 中找到欲显示字符的字符码,送入 DDRAM,在 LCD 显示屏上与 DDRAM 存储单元对应的规定位置显示 出该字符.控制器还可以根据 MPU 的指令,实现字符的显示,闪烁和移位等显示效果. 控制器主要由指令寄存器 IR,数据寄存器 DR,忙标志 BF,地址计数器 AC,DDRAM,CGROM, CGRAM 以及时序发生电路组成: 指令寄存器(IR)和数据寄存器(DR) 本模块内部具有两个 8 位寄存器:指令寄存器(IR)和地址寄存器(DR) .用户可以通过 RS 和 R/W 输入信号的组合选择指定的寄存器,进行相应的操作.下表中列出了组合选择方式. E 1 1→0 1 1 1→0 0 RS 0 R/W 1 0 1 DB6~DB0 将 DB0~DB7 的指令代码写入指令寄存器中 将数据寄存器内的数据读到 DB0~DB7, 模块的内部操作自 动将 DDRAM 或者 CGRAM 中的数据送入数据寄存器中 将 DB0~DB7 的数据写入数据寄存器中,模块的内部操作 自动将数据写到 DDRAM 或者 CGRAM 中 说 明 分别将状态标志 BF 和地址计数器(AC)内容读到 DB7 和Email: support@指令寄存器 IR,内部存储 DDRAM 和 CGRAM 中的数据显示的指令代码和地址信息,只能由 MPU 对 其执行写操作; 数据寄存器 DR,内部暂时存储 MPU 与模块内部 DDRAM 和 CGRAM 之间的传送数据,内部操作使 DR 与 DDRAM 或者 CGRAM 之间的数据传送自动进行: 接口控制 写操作 MPU 数据 读操作 忙标志位 BF 忙标志 BF=1 时,表明模块正在进行内部操作,此时不接受任何外部指令和数据.当 RS=0,R/W=1 以及 E 为高电平时,BF 输出到 DB7.每次操作之前最好先进行状态字检测,只有在确认 BF=0 之后,MPU-7-自动执行 写操作 DR 数据 读操作 DDRAM(CGRAM)通用 1602 液晶显示模块使用手册☆☆☆☆才能访问模块; 地址计数器(AC) AC 地址计数器是 DDRAM 或者 CGRAM 的地址指针.随着 IR 中指令码的写入,指令码中携带的地 址信息自动送入 AC 中,并行做出 AC 作为 DDRAM 的地址指针还是 CGRAM 的地址指针的选择. AC 具有自动加 1 或者减 1 的功能.当 DR 与 DDRAM 或者 CGRAM 之间完成一次数据传送后,AC 自动会加 1 或减 1.在 RS=0,R/W=1 且 E 为高电平时,AC 的内容送到 DB6~DB0; 高3位 AC6 AC5 AC4 AC3 低4位 AC2 AC1 AC0Email: support@显示数据寄存器(DDRAM) DDRAM 存储显示字符的字符码,其容量的大小决定着模块最多可显示的字符数目.DDRAM 地址与 LCD 显示屏上的显示位置的对应关系如下: 执行显示移位操作时,对应的 DDRAM 地址也发生移位,以每行 16 个字符的显示为例,移位前后的地 址对应关系如下:左移一位右移一位字符发生器 ROM 在 CGROM 中,模块已经以 8 位二进制数的形式,生成了 5X8 点阵的字符字模组字符字模(一个字符 对应一组字模) .字符字模是与显示字符点阵相对应的 8X8 矩阵位图数据(与点阵行相对应的矩阵行的高 三位为"0",同时每一组字符字模都有一个由其在 CGROM 中存放地址的高八位数据组成的字符码对应. )-8-通用 1602 液晶显示模块使用手册☆☆☆☆ Email: support@就单屏结构的模块而言,字符码地址范围为 00H~FFH,其中 00H~07H 字符码与用户在 CGRAM 中生 成的自定义图形字符的字模组相对应;至于双屏或者多屏结构的模块,由于各显示屏结构部分的工作分别 由独立的使能信号 E 控制,因而各结构部分间字符的发生互不影响,每一显示屏结构部分的字符码地址范 围为 00H~FFH,其中 00H~07H 字符码与用户在 CGRAM 中生成的自定义图形字符的字模组相对应. 字符发生器 RAM 在 CGRAM 中,用户可以生成自定义图形字符的字模组.就单屏结构的模块而言,可以生成 5×8 点 阵的字符字模 8 组,相对应的字符码从 CGROM 的 00H~07H 范围内选择;至于双屏或者多屏结构的模块, 由于各显示屏结构部分的工作分别由独立的使能信号 E 控制,因而各结构部分间字符的发生互不影响,对 于每一显示屏结构部分,可以生成 5×8 点阵的字符字模 8 组,相对应的字符码从本结构部分中 CGROM 的 00H~07H 范围内选择. 5X8 点阵字符的 CGROM 地址,字符字模和字符码三者之间的关系示意图例如下:C G R O M A d d ressD ataC u rso r p o sitio n 光标位置C h aracter co d e 字符码注释:L in e p o sitio n 行地址高八位 CGROM 地址 A11~A4 组合形成字符码; 低四位 CGROM 地址 A3~A0 定义字模数据存储行地址; 数据 O4~O0 为字符字模数据; 必须将高三位数据 O5~O7 赋值为 0; 对应数据 1 的位置为显示位(黑) ; 对于 5X8 点阵字体,第九行以下(包括第九行)数据应赋值为 0;-9-通用 1602 液晶显示模块使用手册☆☆☆☆*Email: support@用户自定义 5X8 点阵字符的 CGRAM 地址,字符码和字符字模间关系示意图例如下:C h aracter co d e 字符码 e7 6 5 4 3 2 10C G R A M ad d ress C G R A M地 址5 4高低高0000*000007 3 2 1 0 0 0 0 高 * 0 1 0 低 0 0 1 0 1 1 1 0 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 *C h aracter p attern s 字符字模6 ** *0000*00 100000*11 111 0 1 1 0 0 1 00 1 10 1 1 0 01 1 1 01 0 0 0 1 0 1 1 1 0 1 01 0 1 1 1 1 0 1 1 1 ** * *5 4 3 2 1 0 0 1 0 0 0 * 1 1 低 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 * 1 0 0 * 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 10 0 1 10 0 1 0 1 0 1 0 0 0 0 0 0 0 0 * *C h aracter p attern) s ( 1 字符字模C u rso r p o sitio n 光标位置 C h aracter p attern ) s ( 2 字符字模C u rso r p o sitio n 光标位置***注释: 字符码 0~2 位与 CGRAM 地址 3~5 位对应; CGRAM 地址 0~2 位生成字模数据行位置.第八行是光标位置,因此构成字符字模数据时,在设 置光标显示的情况下,应赋值为 0;如果赋值为 1,不论光标显示与否,第八行均处于显示状态; 字符字模数据 0~4 位的赋值状态构成了自定义字符的位图数据; 从图中可以看出,字符码 3 位的赋值状态并不影响用户自定义字符在 CGROM 中的字符码,用 户自定义字符码的范围为 00H~07H 或者 08H~0FH, 也就是说字符码 00H 与 08H 对应同一组用户自定 义字符字模; CGRAM 数据为 1 时,处于显示状态;2 指令表指令名称 清 返 屏 回指令码说明执行周期 FCP=250KHZRS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 L L L L L L L L L H L L L L L L L L H- 10 -清除屏幕,置 AC 为零 设 DDRAM 地址为零,显示 回原位,DDRAMM 内容不变1.64ms 1.64ms通用 1602 液晶显示模块使用手册☆☆☆☆输入方式 设置 显示开关 控制 移 位 L L L L L L L H DCB L L L L L L L H I/D SEmail: support@40us设光标移动方向并指定整体显示 是否移动 调整体显示开关(D) ,光标开关 (C)及光标位的字符闪耀(B) 移动光标或整体显示,同时不改 L L L L L H S/C R/L 变 DD RAM 内容 投接口数据位数(DL)显示行数 L L L L H DL N F (L)及字形(F) 设 CG RAM 地址,设置后 DD L L L H ACG RAM 数据被发送和接收 设 DD RAM 地址,设置后 DD L L H ADD RAM 数据被发送和接收 40us 40us 40us 40us 40us功能设置 CG RAM 地址设置 DD RAM 地址设置 读忙信号 (BF) 及地址高 数器 写数据 CG/DD RAM 读 数 据 由 CG/DD RAM读忙信号位(BF)判断内部操作 L H BL AC 正在执行并读地址计数器内容 0usHL写数据写数据到 CG 或 DD RAM40us Tadd=6nsHH读数据写数据到 CG 或 DD RAM40us Tadd=6nsI/D 1:增量方式,0:减量方式 S 1:移位 DD RAM 显示数据 RAM CG RAM 字符生成 RAM AC:用于 DD 和 CG RAM 地址的地址计数器执行周期随主 频而改变 例如:当 fcp 或 Fosc 为 270KHZ 40us×250/270S/C1:显示移位,0:光标移位 R/L1:右移,0:左移 D L1:8 位,0:4 位 N F 1:2 行,0:1 行 1:5×10.0:5×7BF 1:内部操作,0:接收指令 RS :寄存器选择 R/W :读/写 3 指令说明- 11 -=37us通用 1602 液晶显示模块使用手册☆☆☆☆ Email: support@由于 MPU 可以直接访问模块内部的 IR 和 DR,作为缓冲区域,IR 和 DR 在模块进行内部操作之前, 可以暂存来自 MPU 的控制信息.这样就给用户在 MPU 和外围控制设备的选择上,增加了余地.模块的内 部操作由来自 MPU 的 RS,R/W,E 以及数据信号 DB 决定,这些信号的组合形成了模块的指令. 本模块向用户提供了 11 条指令,大致可以分为四大类: 模块功能设置,诸如:显示格式,数据长度等; 设置内部 RAM 地址; 完成内部 RAM 数据传送; 完成其他功能; 一般情况下,内部 RAM 的数据传送的功能使用最为频繁,因此,RAM 中的地址指针所具备的自动加 一或减一功能,在一定程度上减轻了 MPU 编程负担.此外,由于数据移位指令与写显示数据可同时进行, 这样用户就能以最少系统开发时间,达到最高的编程效率. 这里值得一提的是,在每次访问模块之前,MPU 应首先检测忙标志 BF,确认 BF=0 后,访问过程才 能进行. Clear display 清显示 指令码: RS 0 R/W 0 DB7 0 DB6 0 DB5 0 DB4 0 DB3 0 DB2 0 DB1 0 DB0 1清显示指令将空位字符码 20H 送入全部 DDRAM 地址中,使 DDRAM 中的内容全部清除,显示消失;地 址计数器 AC=0,自动增 1 模式;显示归位,光标或者闪烁回到原点(显示屏左上角) ;但并不改变移位设 置模式; Return home 归位 指令码: RS 0 R/W 0 DB7 0 DB6 0 DB5 0 DB4 0 DB3 0 DB2 0 DB1 1 DB0 *归位指令置地址计数器 AC=0;将光标及光标所在位的字符回原点;但 DDRAM 中的内容并不改变; Entry mode set 设置输入模式 指令码: RS 0 R/W 0 DB7 0 DB6 0 DB5 0 DB4 0 DB3 0 DB2 1 DB1 I/D DB0 SI/D:字符码写入或者读出 DDRAM 后 DDRAM 地址指针 AC 变化方向标志: I/D=1,完成一个字符码传送后,AC 自动加 1; I/D=0,完成一个字符码传送后,AC 自动减 1; S:显示移位标志: S=1,将全部显示向右(I/D=0)或者向左(I/D=1)移位; S=0,显示不发生移位; S=1 时,显示移位时,光标似乎并不移位;此外,读 DDRAM 操作以及对 CGRAM 的访问,不发生 显示移位;- 12 -通用 1602 液晶显示模块使用手册☆☆☆☆Display on/off control 显示开/关控制 指令码: RS 0 R/W 0 DB7 0 DB6 0 DB5 0 DB4 0 DB3 1 DB2 D DB1 C DB0 BEmail: support@D:显示开/关控制标志:D=1,开显示;D=0,关显示; 关显示后,显示数据仍保持在 DDRAM 中,立即开显示可以再现; C:光标显示控制标志:C=1,光标显示;C=0,光标不显示; 不显示光标并不影响模块其它显示功能;显示 5X8 点阵字符时,光标在第八行显示,显示 5X10 点阵 字符时,光标在第十一行显示; B: 闪烁显示控制标志: B=1, 光标所指位置上, 交替显示全黑点阵和显示字符, 产生闪烁效果, Fosc=250kHz 时,闪烁频率为 0.4ms 左右;通过设置,光标可以与其所指位置的字符一起闪烁; Cursor or display shift 光标或显示移位 指令码: RS 0 R/W 0 DB7 0 DB6 0 DB5 0 DB4 1 DB3 S/C DB2 R/L DB1 * DB0 *光标或显示移位指令可使光标或显示在没有读写显示数据的情况下,向左或向右移动;运用此指令可以实 现显示的查找或替换;在双行显示方式下,第一行和第二行会同时移位;当移位越过第一行第四十位时, 光标会从第一行跳到第二行,但显示数据只在本行内水平移位,第二行的显示决不会移进第一行;倘若仅 执行移位操作,地址计数器 AC 的内容不会发生改变; S/C 0 0 1 1 Function set 指令码: RS 0 R/W 0 DB7 0 DB6 0 DB5 1 DB4 DL DB3 N DB2 F DB1 * DB0 * R/L 0 1 0 1 功能设置 说 光标向左移动,AC 自动减 1 光标向右移动,AC 自动加 1 光标和显示一起向左移动 光标和显示一起向右移动 明功能设置指令设置模块数据接口宽度和 LCD 显示屏显示方式, MPU 与模块接口数据总线为 4 位或者是 即 8 位,LCD 显示行数和显示字符点阵规格;所以建议用户最好在执行其它指令设置(读忙标志指令除外) 之前,在程序的开始,进行功能设置指令的执行; DL:数据接口宽度标志:DL=1,8 位数据总线 DB7~DB0;DL=0,4 位数据总线 DB7~DB4,DB3~DB0 不用,使用此方式传送数据,需分两次进行; N:显示行数标志; F:显示字符点阵字体标志; N F 显示行数 字符点阵字体 驱动路数- 13 -备注通用 1602 液晶显示模块使用手册☆☆☆☆0 0 1 0 1 * 1 1 2 5X8 5X10 5X8 1/8 1/11 1/16 模块不能双行显示 5X10 点阵字符字体Email: support@Set CGRAM address CGRAM 地址设置 指令码: RS 0 R/W 0 DB7 0 DB6 1 DB5 ACG5 DB4 ACG4 DB3 ACG3 DB2 ACG2 DB1 ACG1 DB0 ACG0CGRAM 地址设置指令设置 CGRAM 地址指针, 它将 CGRAM 存储用户自定义显示字符的字模数据的首地 址 ACG5~ACG0 送入 AC 中,于是用户自定义字符字模就可以写入 CGRAM 中或者从 CGRAM 中读出; Set DDRAM address 指令码: RS 0 R/W 0 DB7 1 DB6 ADD6 DB5 ADD5 DB4 ADD4 DB3 ADD3 DB2 ADD2 DB1 ADD1 DB0 ADD0 DDRAM 地址设置DDRAM 地 址 设 置 指 令 设 置 DDRAM 地 址 指 针 , 它 将 DDRAM 存 储 显 示 字 符 的 字 符 码 的 首 地 址 ADD6~ADD0 送入 AC 中,于是显示字符的字符码就可以写入 DDRAM 中或者从 DDRAM 中读出; 值得一提的是:在 LCD 显示屏一行显示方式下,DDRAM 的地址范围为:00H~4FH;两行显示方式下, DDRAM 的地址范围为:第一行 00H~27H,第二行 40H~67H; Read busy flag and address 读忙标志 BF 和 AC 指令码: RS 0 R/W 1 DB7 BF DB6 AC6 DB5 AC5 DB4 AC4 DB3 AC3 DB2 AC2 DB1 AC1 DB0 AC0当 RS=0 和 R/W=1 时,在 E 信号高电平的作用下,BF 和 AC6~AC0 被读到数据总线 DB7~DB0 的相应位; BF:内部操作忙标志,BF=1,表示模块正在进行内部操作,此时模块不接收任何外部指令和数据,直到 BF=0 为止; AC6~AC0:地址计数器 AC 内的当前内容,由于地址计数器 AC 被 CGROM,CGRAM 和 DDRAM 的公用 指针,因此当前 AC 内容所指区域由前一条指令操作区域决定;同时,只有 BF=0 时,送到 DB7~DB0 的 数据 AC6~AC0 才有效; Write data to CGRAM or DDRAM 指令码: RS 1 R/W 0 DB7 D7 DB6 D6 DB5 D5 DB4 D4 DB3 D3 DB2 D2 DB1 D1 DB0 D0 写数据到 CGRAM 或 DDRAM写数据到 CGRAM 或 DDRAM 指令,是将用户自定义字符的字模数据写到已经设置好的 CGRAM 的地址 中,或者是将欲显示字符的字符码写到 DDRAM 中;欲写入的数据 D7~D0 首先暂存在 DR 中,再由模块 的内部操作自动写入地址指针所指定的 CGRAM 单元或者 DDRAM 单元中;- 14 -通用 1602 液晶显示模块使用手册☆☆☆☆ Email: support@Read data from CGRAM or DDRAM 从 CGRAM 或 DDRAM 中读数据 指令码: RS 1 R/W 1 DB7 D7 DB6 D6 DB5 D5 DB4 D4 DB3 D3 DB2 D2 DB1 D1 DB0 D0从 CGRAM 或 DDRAM 中读数据指令,是从地址计数器 AC 指定的 CGRAM 或者 DDRAM 单元中,读出 数据 D7~D0;读出的数据 D7~D0 暂存在 DR 中,再由模块的内部操作送到数据总线 DB7~DB0 上;需要 注意的是,在读数据之前,应先通过地址计数器 AC 正确指定读取单元的地址; 4 内部复位电路初始化 1602 模块设有内部复位电路,上电后,当电源电压超过+4.5v 时,自动对模块进行初始化.此期间, 忙标志 BF=1,直到初始化结束后,忙标志 BF 才为 0.初始化大约持续 10ms 左右. 上电复位初始化,对模块进行了下列指令的操作: 清显示; 功能设置: DL=1:8 位数据接口; N=0:一行显示; F=0:5X8 点阵字符字体; 显示开/关控制: D=0:关显示; C=0:不显示光标; B=0:关闪烁; 输入模式设置: I/D=1:AC 自动加 1; S=0:不移位; 需要说明的是,倘若供电电源达不到要求,模块内部复位电路非正常操作,上电复位初始化就会失败.此 时,建议用户通过指令设置对模块进行初始化. 5 MPU 接口 本模块可以利用总线模式,直接与 4 位或 8 位 MPU 接口.在控制信号 E 高电平或下降沿的作用下, 模块通过区分控制信号 RS 和 R/W 的组合形式,来区分数据总线 DB7~DB0 上传送的指令和数据.数据总 线 DB7~DB0 是 MPU 访问模块和与模块之间信息交换的数据通道. 下面举出一个本模块应用实例.- 15 -通用 1602 液晶显示模块使用手册☆☆☆☆应用电路:RD WR P1.3 8031 P1.4 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 E RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0Email: support@EDM MODULE应用程序 ①检测忙标志 BF BF:CLR CLR SETB JB RET ②写数据到指令寄存器 IR R1:暂存指令码 WI:CLR CLR MOV MOVX RET ④延时 65ms DELAY:MOV LOOP0:MOV DJNZ DJNZ RET ⑤写自定义字符字模数据到 CGRAM WCG: MOV MOV DPTR,#TAB R1,#40H R7,#0FFH R6,#0FFH R6,$ R7,LOOP0 R/W RS A,R1 @R0,A ③写数据到数据寄存器 DR R2:暂存字符码或字符字模数据 WD:SETB CLR MOV MOVX RET RS A,R2 @R0,A R/W A RS R/W ACC.7,BFMOVX A,@R0LCALL BF LCALL WI MOV R4,#40H ;字符字模数据传送计数指针- 16 -通用 1602 液晶显示模块使用手册☆☆☆☆LOOP4:CLR MOVC MOV A A,@A+DPTR R2,AEmail: support@LCALL BF LCALL WD INC DJNZ RET ⑥指令初始化模块: INI: MOV MOV DJNZ MOV R3,#03H R1,#38H R3,INI R1,#01H ;清显示 ;功能设置:8 位数据,1/16DUTY,5X8 字体 DPTR R4,LOOP4LCALL WILCALL BF LCALL WI MOV R1,#06H ;输入方式设置:AC 自动加 1 LCALL BF LCALL WI MOV R1,#0CH ;开显示 LCALL BF LCALL WI RET ⑦自定义字符 字模数据组 TAB DB 1FH,00H,00H,00H,00H,00H,00H,00H DB 00H,1FH,00H,00H,00H,00H,00H,00H DB 00H,00H,1FH,00H,00H,00H,00H,00H DB 00H,00H,00H,1FH,00H,00H,00H,00H DB 00H,00H,00H,00H,1FH,00H,00H,00H DB 00H,00H,00H,00H,00H,1FH,00H,00H DB 00H,00H,00H,00H,00H,00H,1FH,00H DB 00H,00H,00H,00H,00H,00H,00H,1FH- 17 -通用 1602 液晶显示模块使用手册☆☆☆☆自定义字符字模构成位图示意Email: support@⑧写显示字符的字符码到 DDRAM: WDD: MOV MOV LOOP2:MOV DPTR,#0300H R5,#11H R1,#80H ;共显示 16 个字符 ;显示第一行和第三行LCALL BF LCALL WI MOV LOOP1:CLR MOVC MOV R3,#29H A A,@A+DPTR R2,A ;每个字符显示 40 次LCALL BF LCALL WD DJNZ MOV R4,LOOP1 R1,#0C00H ;显示第二行和第四行LCALL BF LCALL WI LOOP3:CLR MOVC MOV A A,@A+DPTR R2,ALCALL BF LCALL WD DJNZ RET- 18 -R4,LOOP3通用 1602 液晶显示模块使用手册☆☆☆☆⑨显示字符的字符码表: ORG 0300H DB 00H,01H,02H,03H,04H,05H,06H,07H DB 06H,05H,04H,03H,02H,01H,00H,38H ⑩显示主程序: START:RS EQU P1.3 P1.4 R/W EQU ORG 0000H LCALL INI LCALL WCG LCALL WDD LCALL DELAY LCALL DELAY LJMP STARTEmail: support@- 19 -通用 1602 液晶显示模块使用手册☆☆☆☆ Email: support@显示程序流程图- 20 -通用 1602 液晶显示模块使用手册☆☆☆☆ Email: support@6 可靠性项目 项目 1) 高温操作 2) 低温操作 3) 湿度 4) 高温 5) 低温 6) 热冲击条件 60℃ 96hrs -20℃ 96hrs标准外观无变化,对比度与初始值不会相差 ±10%. 总电流消耗不会超过初始值的 2 倍..7) 振动40℃, 90%RH, 96hrs 70℃ 96hrs -30℃ 96hrs 25℃→30℃→25℃→70℃ 5(min) 30(min) 5(min) 30(min) 5 cycle, 55~60%RH 10~55~10hz amplitude: 1.5mm 2hrs for each direction外观无变化,对比度与初始值不会相差 ±20%. 总电流消耗不会超过初始值的 2 倍..外观和性能无变化. 总电流消耗不会超过初始值的 2 倍.附录:1.模块供电电路使用前可按上图接好电源线,然后调整 V0 端,这时屏幕上 应出现 1/2 屏的全显示底影.可简单判断为功能正常,否则 你的模块可能存在故障!- 21 -通用 1602 液晶显示模块使用手册☆☆☆☆ Email: support@2. 字符码与字符字模之间的对应关系表- 22 -。
LCD1602液晶使用手册
操作步骤:
初始化 写命令(RS=L)设置显示坐标 写数据(RS=H)
一:LCD1602关键性的指令设置
Hale Waihona Puke 1.清屏指令功能:<1> 清除液晶显示器,即将 DDRAM 的内容全部填入"空白"的 ASCII 码 20H; <2> 光标归位,即将光标撤回液晶显示屏的左上方; <3> 将地址计数器(AC)的值设为 0。
二:在设置完成之后我们就要明白具体是在哪显示,在哪个位置显示?在对液晶模块 的初始化中要先设置其显示模式, 在液晶模块显示字符时光标是自动右移的, 无 需人工干预。 每次输入指令前都要判断液晶模块是否处于忙的状态。DDRAM 就 是显示数据 RAM ,用来寄存待显示的字符代码。共 80 个字节,其地址和屏幕的 对应关系如下表:
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,例如第二行 第一个字符的地址是 40H, 那么是否直接写入 40H 就可以将光标定位 在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位 D7 恒定为高电平 1 所以实际写入的数据应该是 01000000B(40H) +10000000B(80H)=11000000B(C0H)。在 1602 中我们就用前 16 个就行了。第二行也一 样用前 16 个地址。对应如下:
RAM地址映射图
4.功能设定指令
功能:设定数据总线位数、显示的行数及字型。参数设定的情况如下: 位名 设置 DL 0=数据总线为 4 位 1=数据总线为 8 位 N 0=显示 1 行 1=显示 2 行 F 0=5×7 点阵/每字符 1=5×10 点阵/每字符
2.进入模式设置指令
