1602LCD液晶模块参数详细介绍
- 格式:doc
- 大小:262.00 KB
- 文档页数:12
1602型LCD介绍
现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了。
1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。
1602型LCD可以显示2行16个字符,有8位数据总线D0~D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。
1. 外型尺寸:80X36X13(LXWXH)
2.接口信号说明
1602型LCD的接口信号说明如表1-11所示.
3.主要技术参数
1602型LCD的主要技术参数如下:
4.基本操作程序
读状态:输入:RS=L,RW=H,E=H 输出:D0~D7=状态字
读数据:输入:RS=H,RW=H,E=H 输出:无
写指令:输入:RS=L,RW=L,D0~D7=指令码,E=高脉冲输出:D0~D7=数据写数据:输入:RS=H,RW=L,D0~D7=数据,E=高脉冲输出:无
5.RAM地址映射图
控制器内部带有80字节的RAM缓冲区,对应关系如图11-3所示
6.状态字说明
☆注意每次对控制器进行读写操作之前,都必须进行读写检测,确保STA7为0。
7.数据指针设置
控制器内部设有一个数据地址指针,用户可以通过它们访问内部的全部80字的RAM。
8.其它设置
9.初始化设置
(1)显示模式设置
显示开/关及光标设置。
LCD1602中文资料1. 简介LCD1602是一种常见的液晶显示模块,它具有两行,每行可以显示16个中文字符或32个英文字母字符。
它广泛应用于数字仪表、电子产品、家电控制、智能家居等领域。
2. 主要特点•显示容量:LCD1602可以同时显示两行,每行可以显示16个中文字符或32个英文字母字符。
•分辨率:每个字符由5 x 8个像素点组成。
•背光控制:可通过控制背光开关来控制显示背光。
•低功耗:LCD1602使用低功耗驱动电路,非常适合电池供电的应用。
•接口简单:LCD1602使用标准的I2C接口进行通信,方便与各种微控制器连接。
3. 硬件连接LCD1602的硬件连接非常简单,只需要将其的VCC引脚连接到3.3V或5V电源,GND引脚连接到地,SDA引脚连接到I2C总线的数据线,SCL引脚连接到I2C总线的时钟线。
以下是连接示意图:SDA ———————————> I2C总线数据线SCL ———————————> I2C总线时钟线VCC ———————————> 3.3V或5V电源GND ———————————> 地4. 软件驱动使用LCD1602显示中文需要相应的软件驱动。
以下是使用Python编写的一个简单的LCD1602驱动代码示例:import smbus2import time# LCD1602的I2C地址ADDRESS =0x27# LCD1602的控制命令LCD_COMMAND =0x80LCD_DATA =0x40def lcd_init():# 初始化LCD1602bus = smbus2.SMBus(1)bus.write_byte(ADDRESS, 0x38) # 设置显示模式为2行,5 x 8个像素点bus.write_byte(ADDRESS, 0x0c) # 打开显示,关闭光标bus.write_byte(ADDRESS, 0x06) # 设置光标移动方向为从左到右bus.write_byte(ADDRESS, 0x01) # 清屏def lcd_write(ch):# 向LCD1602写入字符bus = smbus2.SMBus(1)bus.write_byte(ADDRESS, LCD_DATA)bus.write_byte(ADDRESS, ord(ch))def lcd_display(text):# 在LCD1602上显示文本bus = smbus2.SMBus(1)bus.write_byte(ADDRESS, LCD_COMMAND) for ch in text:bus.write_byte(ADDRESS, ord(ch))# 使用示例lcd_init() # 初始化LCD1602lcd_display('Hello, World!') # 在LCD1602上显示文本5. 示例应用使用LCD1602显示中文可以应用于各种场景,以下是一个使用LCD1602显示温湿度的示例应用:import smbus2import Adafruit_DHT# LCD1602的I2C地址ADDRESS =0x27# LCD1602的控制命令LCD_COMMAND =0x80LCD_DATA =0x40def lcd_init():# 初始化LCD1602bus = smbus2.SMBus(1)bus.write_byte(ADDRESS, 0x38) # 设置显示模式为2行,5 x 8个像素点bus.write_byte(ADDRESS, 0x0c) # 打开显示,关闭光标bus.write_byte(ADDRESS, 0x06) # 设置光标移动方向为从左到右bus.write_byte(ADDRESS, 0x01) # 清屏def lcd_write(ch):# 向LCD1602写入字符bus = smbus2.SMBus(1)bus.write_byte(ADDRESS, LCD_DATA)bus.write_byte(ADDRESS, ord(ch))def lcd_display(text):# 在LCD1602上显示文本bus = smbus2.SMBus(1)bus.write_byte(ADDRESS, LCD_COMMAND)for ch in text:bus.write_byte(ADDRESS, ord(ch))# 使用示例lcd_init() # 初始化LCD1602while True:# 读取温湿度数据humidity, temperature = Adafruit_DHT.read_ret ry(Adafruit_DHT.DHT11, 4)# 在LCD1602上显示温湿度数据lcd_display(f'温度:{temperature}℃湿度:{hu midity}%')time.sleep(2)6. 总结LCD1602是一种常见的液晶显示模块,可以显示中文和英文字符。
LCD1602简介1. 什么是LCD1602?LCD1602是一种基于液晶显示技术的字符型显示模块,它可以显示16x2个字符。
它广泛应用于嵌入式系统、自动化设备和电子产品等领域,是一款非常常见的显示模块。
2. LCD1602的特性•显示能力强:LCD1602能够显示16列2行共32个字符,每个字符由5x8个像素点组成。
•低功耗:LCD1602的功耗非常低,适合长时间运行的场景。
•用户友好:LCD1602的显示效果清晰,易于阅读,界面简洁直观。
•简易控制:LCD1602的控制方式简单,只需要几条数据线和几个控制信号即可进行基本的显示操作。
3. LCD1602的工作原理LCD1602由一个液晶显示器和一个控制电路板组成。
液晶显示器由16个字符和每个字符5x8的像素点组成,通过液晶分子的电场调整能够控制像素点的亮度。
控制电路板则负责根据用户的指令控制液晶显示器的显示内容。
LCD1602的控制电路采用了并行通信的方式,需要通过几个控制信号和一个数据总线来进行通信。
控制信号包括使能信号(E),读写信号(RW)和数据/命令选择信号(RS)。
数据总线则用于传输数据和命令。
控制LCD1602的步骤大致如下: 1. 发送初始化命令:初始化LCD1602的内部寄存器。
2. 发送显示命令:控制LCD1602显示内容的相关参数,如显示模式、光标设置等。
3. 发送数据:将需要显示的字符数据发送给LCD1602。
4. LCD1602的应用领域由于LCD1602具有简单易用的特点,它被广泛应用于各种嵌入式系统、自动化设备和电子产品中。
一些常见的应用领域包括:•工业自动化:LCD1602可以作为工业设备的人机界面,用于显示设备的状态、参数等信息。
•家电控制:LCD1602可以作为家电设备的显示屏,用于显示时间、温度、湿度等信息。
•智能家居:LCD1602可以作为智能家居系统的控制界面,用于显示和操作系统的各种功能。
•教育培训:LCD1602可以作为教学实验平台的显示模块,用于展示实验结果和相关信息。
1602字符液晶所谓1602是指显示的内容为16*2,即可以显示两行,每行16个字符。
目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。
1602液晶的正面(绿色背光,黑色字体)1602液晶背面(绿色背光,黑色字体)另一种1602液晶模块,显示屏是蓝色背光白色字体字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,引脚定义如下表所示:HD44780内置了DDRAM、CGROM和CGRAM。
DDRAM就是显示数据RAM,用来寄存待显示的字符代码。
共80个字节,其地址和屏幕的对应关系如下表:也就是说想要在LCD1602屏幕的第一行第一列显示一个"A"字,就要向DDRAM 的00H地址写入“A”字的代码就行了。
但具体的写入是要按LCD模块的指令格式来进行的,后面我会说到的。
那么一行可有40个地址呀?是的,在1602中我们就用前16个就行了。
第二行也一样用前16个地址。
对应如下:DDRAM地址与显示位置的对应关系(事实上我们往DDRAM里的00H地址处送一个数据,譬如0x31(数字1的代码)并不能显示1出来。
这是一个令初学者很容易出错的地方,原因就是如果你要想在DDRAM的00H地址处显示数据,则必须将00H加上80H,即80H,若要在DDRAM的01H处显示数据,则必须将01H加上80H即81H。
依次类推。
大家看一下控制指令的的8条:DDRAM地址的设定,即可以明白是怎么样的一回事了)1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如下表所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B (41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”上表中的字符代码与我们PC中的字符代码是基本一致的。
1602字符液晶简介工业字符型液晶,能够同时显示16x02即32个字符。
(16列2行)注:为了表示的方便,后文皆以1表示高电平,0表示低电平。
管脚功能引脚说明1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,其中:引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
注:关于E=H脉冲——开始时初始化E为0,然后置E为1,再清0.busy flag(DB7):在此位为被清除为0时,LCD将无法再处理其他的指令要求。
这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A"。
因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如’A’.以下是1602的16进制ASCII码表:(图片打开是大图)读的时候,先读上面那列,再读左边那行,如:感叹号!的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。
1602通过D0~D7的8位数据端传输数据和指令。
显示模式设置:(初始化)0011 1000 [0x38]设置16×2显示,5×7点阵,8位数据接口;显示开关及光标设置:(初始化)0000 1DCB D显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效)0000 01NS N=1(读或写一个字符后地址指针加1 &光标加1),N=0(读或写一个字符后地址指针减1 &光标减1),S=1 且 N=1 (当写一个字符后,整屏显示左移)s=0 当写一个字符后,整屏显示不移动数据指针设置:数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)其他设置:01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。
LCD1602简介LCD1602也称为1602液晶模块,是一种常用的液晶显示模块,可以用于显示文字和图形。
它使用1602液晶显示屏和HD44780控制器芯片,具有16列2行的显示,每行可以显示16个字符,每个字符由5x8的点阵组成。
LCD1602可以通过I2C接口与Arduino、树莓派等单片机进行通信,非常方便实用。
LCD1602LCD1602功能•显示文字•显示图形•控制光标位置•控制光标闪烁引脚定义•VSS: 接地•VDD: 5V电源•V0:液晶偏置电压•RS:命令/数据选择•R/W:读/写选择•E:使能•D0-D7:数据线•A: 正面背光供电(可选)•K: 负面背光供电(可选)控制器芯片LCD1602采用HD44780控制器芯片,该芯片包含了液晶屏的显示和控制功能,通过与单片机的通信,可以控制液晶屏的各种显示效果。
常用的控制指令如下:•光标/显示模式设置•清除显示屏•光标归位•光标移动指令•光标显示/隐藏设置•显示开/关控制示例代码以下使用Arduino作为示例,通过I2C接口控制LCD1602显示文字。
```cpp #include <Wire.h> #include <LiquidCrystal_I2C.h>// 设置I2C地址和屏幕尺寸 LiquidCrystal_I2C lcd(0x27, 16, 2);void setup() { // 初始化液晶屏 lcd.begin(); // 打开背光lcd.backlight(); // 显示欢迎消息 lcd.print(。
10. 1602LCD的基本参数及引脚功能1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图10-54所示:图10-54 1602LCD尺寸图1602LCD主要技术参数:显示容量:16×2个字符芯片工作电压:—工作电流:模块最佳工作电压:字符尺寸:×(W×H)mm引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表10-13所示:编号符号引脚说明编号符号引脚说明1 VSS 电源地9 D2 数据2 VDD 电源正极10 D3 数据3 VL 液晶显示偏压11 D4 数据4 RS 数据/命令选12 D5 数据表10-13:引脚接口说明表第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脚:背光源负极。
10.8.2.3 1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如表10-14所示:表10-14:控制命令表1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。
1602LCD简介引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3-1所示:第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脚:背光源负极。
表3-2:控制命令表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地址设置。
符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如'A’。
以下是1602的16进制ASCII码表:(图片打开是大图)读的时候,先读上面那列,再读左边那行,如:感叹号!的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。
显示地址写指令06H 光标移动设置写指令0cH 显示开及光标设置完毕Proteus仿真使用Proteus仿真1602--即LM016L--依照数据手册说明可能遇到困难,可以尝试采用以下方案解决:1、数据手册中可能介绍1602内部D0~D7已有上拉,可以使用P0口直接驱动。
在Proteus里LM016L内部可能没有,应该人为加上拉电阻。
建议不要使用排阻,使用普通电阻一个一个拉应该可以解决问题;2、可能碰到不能检测忙信号的问题,尝试使用延时把忙信号拖过去。
基本的读写时序图读写操作时序如图1和2所示:写操作时序:读操作时序:三态门74ls32内部结构(三态门)74ls32逻辑图(三态门)简介[1]三态门,三态电路是一种重要的总线接口电路。
这里的三态,是指它的输出既可以是一般二值逻辑电路的正常的“0”状态和“1”状态,又可以保持特有的高阻抗状态,第三种状态——高阻状态的门电路(高阻态相当于隔断状态)。
处于高阻抗状态时,其输出相当于断开状态,没有任何逻辑控制功能。
三态电路的输出逻辑状态的控制,是通过一个输入引脚实现的。
当G为低电平输入时,三态电路呈现正常的“0”或“1”的输出;当G为高电平输入时,三态电路给出高阻态输出。
三态门都有一个EN控制使能端,来控制门电路的通断。
可以具备这三种状态的器件就叫做三态(门,总线,......).图1 三态门的运用(1张)三态门在双向端口中运用时,如图1所示,设置Z为控制项,当Z=1时,上面的管子开通,此时数据可以从上面的短脚输出,这时双向端口就作为输出口;当Z=0时,上面感三态门被置为高阻态,数据不能从上面的短脚输出,此时数据只可以从下面的短脚由外部向内输入,这时的双向端口是输入口。
10.8.2.1 1602LCD的基本参数及引脚功能1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图10-54所示:图10-54 1602LCD尺寸图1602LCD主要技术参数:显示容量:16×2个字符芯片工作电压:4.5—5.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表10-13所示:编号符号引脚说明编号符号引脚说明1 VSS 电源地9 D2 数据2 VDD 电源正极10 D3 数据3 VL 液晶显示偏压11 D4 数据4 RS 数据/命令选择12 D5 数据5 R/W 读/写选择13 D6 数据表10-13:引脚接口说明表第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脚:背光源负极。
10.8.2.3 1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如表10-14所示:表10-14:控制命令表1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
在单片机系统中应用晶液显示器作为输出器件有以下几个优点:功耗低相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。
数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。
体积小、重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。
显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。
因此,液晶显示器画质高且不会闪烁。
液晶显示简介①液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。
液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。
②液晶显示器的分类液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。
除了黑白显示外,液晶显示器还有多灰度有彩色显示等。
如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(Simple Matrix)和主动矩阵驱动(Active Matri x)三种。
③液晶显示器各种图形的显示原理:线段的显示点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。
例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FF H时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。
这就是LCD显示的基本原理。
字符的显示用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。
这样一来就组成某个字符。
但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在L CD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。
汉字的显示汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。
10.8.2 1602字符型LCD简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用1 6*1,16*2,20*2和40*2行等的模块。
下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。
一般1602字符型液晶显示器实物如图10-53:图10-53 1602字符型液晶显示器实物图1602LCD的基本参数及引脚功能1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图10-54所示:图10-54 1602LCD尺寸图1602LCD主要技术参数:显示容量:16×2个字符芯片工作电压:4.5—5.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表1 0-13所示:表10-13:引脚接口说明表第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条控制指令,如表10-14所示:表10-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的点阵字符,高电平时显示5x1 0的点阵字符。
指令7:字符发生器RAM地址设置。
指令8:DDRAM地址设置。
指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:写数据。
指令11:读数据。
与HD44780相兼容的芯片时序表如下:表10-15:基本操作时序表读写操作时序如图10-55和10-56所示:图10-55 读操作时序图10-56 写操作时序1602LCD的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图10-57是1602的内部显示地址。
图10-57 1602LCD内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。
在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。
每次输入指令前都要判断液晶模块是否处于忙的状态。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图10-58所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是0100 0001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”图10-58 字符代码与图形对应图1602LCD的一般初始化(复位)过程延时15mS写指令38H(不检测忙信号)延时5mS写指令38H(不检测忙信号)延时5mS写指令38H(不检测忙信号)以后每次写指令、读/写数据操作均需要检测忙信号写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示光标移动设置写指令0CH:显示开及光标设置1602LCD的软硬件设计实例在1602LCD第一行显示网站名:在第二行显示联系电话:8。
实验前应先将显示切换开关切换到LCD工作状态。
图10-59 1602LCD实验演示图硬件原理图1602液晶显示模块可以和单片机AT89C51直接接口,电路如图10-60所示。
图10-60 硬件原理图10.8.3.2 程序流程图图10-61 软件流程图在日常生活中,我们对液晶显示器并不陌生。
液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。
在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。
发光管和LED数码管比较常用,软硬件都比较简单,更多字符型液晶显示器,lcd液晶显示模块介绍请大家关注显杰科技的应用。