当前位置:首页 >> 信息与通信 >>

lcd1602中文——完整资料


lcd1602 中文资料 2009-10-18 11:26 在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器 件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、 专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED 数码管、液晶显示器。发光管和 LED 数码管比较常用,软硬件都比较简单,在前

面章节已 经介绍过,在此不作介绍,本章重点介绍字符型液晶显示器的应用。 在单片机系统中应用晶液显示器作为输出器件有以下几个优点: 显示质量高 由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴 极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。 数字式接口 液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。 体积小、 体积小、重量轻 液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显 示面积的传统显示器要轻得多。 功耗低 相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动 IC 上,因而耗电量比其它显 示器要少得多。 10. 10.8.1 液晶显示简介 ①液晶显示原理 液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示, 这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于 实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA 移动通信工 具等众多领域。 ②液晶显示器的分类 液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了 黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静 态驱动(Static)、单纯矩阵驱动(Simple Matrix)和主动矩阵驱动(Active Matrix) 三种。

③液晶显示器各种图形的显示原理: 线段的显示 点阵图形式液晶由 M×N 个显示单元组成,假设 LCD 显示屏有 64 行,每行有 128 列,每 8 列对应 1 字节的 8 位,即每行由 16 字节,共 16×8=128 个点组成,屏上 64×16 个显示单 元与显示 RAM 区 1024 字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如 屏的第一行的亮暗由 RAM 区的 000H——00FH 的 16 字节的内容决定,当(000H)=FFH 时, 则屏幕的左上角显示一条短亮线,长度为 8 个点;当(3FFH)=FFH 时,则屏幕的右下角显 示一条短亮线;当(000H)=FFH, (001H)=00H, (002H)=00H,……(00EH)=00H, (00FH) =00H 时,则在屏幕的顶部显示一条由 8 段亮线和 8 条暗线组成的虚线。这就是 LCD 显示的 基本原理。 字符的显示 用 LCD 显示一个字符时比较复杂,因为一个字符由 6×8 或 8×8 点阵组成,既要找到和显 示屏幕上某几个位置对应的显示 RAM 区的 8 字节,还要使每字节的不同位为“1”,其它的 为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发 生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在 LCD 上开始显示的行列号及每行的列数找出显示 RAM 对应的地址,设立光标,在此送上该字符 对应的代码即可。 汉字的显示 汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模 提取软件),每个汉字占 32B,分左右两半,各占 16B,左边为 1、3、5……右边为 2、4、 6……根据在 LCD 上开始显示的行列号及每行的列数可找出显示 RAM 对应的地址, 设立光标, 送上要显示的汉字的第一字节,光标位置加 1,送第二个字节,换行按列对齐,送第三个字 节……直到 32B 显示完就可以 LCD 上得到一个完整汉字。 10.8.2 1602 字符型 LCD 简介 字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式 LCD,目前常用 16*1, 16*2,20*2 和 40*2 行等的模块。下面以长沙太阳人电子有限公司的 1602 字符型液晶显示 器为例,介绍其用法。一般 1602 字符型液晶显示器实物如图 10-53:

图 10-53 1602 字符型液晶显示器实物图 10. 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 2 3 4 5 6 7 8 符号 VSS VDD VL RS R/W E D0 D1 引脚说明 电源地 电源正极 液晶显示偏压 数据/命令选择 读/写选择 使能信号 数据 数据 编号 9 10 11 12 13 14 15 16 符号 D2 D3 D4 D5 D6 D7 BLA BLK 引脚说明 数据 数据 数据 数据 数据 数据 背光源正极 背光源负极

表 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. 10.8.2.3 1602LCD 的指令说明及时序 1602 液晶模块内部的控制器共有 11 条控制指令,如表 10-14 所示: 序号 1 2 3 4 5 6 7 8 9 10 11 指令 清显示 光标返回 置输入模式 显示开/关控制 光标或字符移位 置功能 置字符发生存贮器地址 置数据存贮器地址 读忙标志或地址 写数到 CGRAM 或 DDRAM) 从 CGRAM 或 DDRAM 读数 RS 0 0 0 0 0 0 0 0 0 1 1 R/W 0 0 0 0 0 0 0 0 1 0 1 D7 D6 D5 D4 D3 D2 D1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 I/D 0 0 0 0 1 D C 0 0 0 1 S/C R/L * 0 0 1 DL N F * 0 1 字符发生存贮器地址 1 显示数据存贮器地址 BF 计数器地址 要写的数据内容 读出的数据内容 D0 1 * S B * *

表 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 的点阵字符,高电平时显示 5x10 的点阵 字符。 指令 7:字符发生器 RAM 地址设置。 指令 8:DDRAM 地址设置。 指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或 者数据,如果为低电平表示不忙。 指令 10:写数据。 指令 11:读数据。 与 HD44780 相兼容的芯片时序表如下: 读状态 写指令 读数据 写数据 输入 输入 输入 输入 RS=L,R/W=H,E=H RS=L,R/W=L,D0—D7=指令码,E=高 脉冲 RS=H,R/W=H,E=H RS=H,R/W=L,D0—D7=数据,E=高脉 冲 输出 输出 输出 输出 D0—D7=状态字 无 D0—D7=数据 无

表 10-15:基本操作时序表 读写操作时序如图 10-55 和 10-56 所示:

图 10-55 读操作时序

图 10-56 写操作时序 10. 10.8.2.4 1602LCD 的 RAM 地址映射及标准字库表 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低 电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模 块在哪里显示字符,图 10-57 是 1602 的内部显示地址。

图 10-57 1602LCD 内部显示地址 例如第二行第一个字符的地址是 40H, 那么是否直接写入 40H 就可以将光标定位在第二行第 一个字符的位置呢?这样不行,因为写入显示地址时要求最高位 D7 恒定为高电平 1 所以实 际写入的数据应该是 01000000B(40H)+10000000B(80H)=11000000B(C0H)。 在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的, 无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。 1602 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字符图形,如 图 10-58 所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名 等, 每一个字符都有一个固定的代码, 比如大写的英文字母“A”的代码是 01000001B 41H) ( ,

显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到字母“A”

图 10-58 字符代码与图形对应图 10.8.2.5 1602LCD 的一般初始化(复位)过程 10. 的一般初始化(复位) 延时 15mS 写指令 38H(不检测忙信号) 延时 5mS 写指令 38H(不检测忙信号) 延时 5mS 写指令 38H(不检测忙信号) 以后每次写指令、读/写数据操作均需要检测忙信号 写指令 38H:显示模式设置 写指令 08H:显示关闭

写指令 01H:显示清屏 写指令 06H:显示光标移动设置 写指令 0CH:显示开及光标设置 10. 10.8.3 1602LCD 的软硬件设计实例 在 1602LCD 第一行显示网站名:www.hificat.com 在第二行显示联系电话:0571-85956028。 实验前应先将显示切换开关切换到 LCD 工作状态。

图 10-59 1602LCD 实验演示图

10. 10.8.3.1 硬件原理图 1602 液晶显示模块可以和单片机 AT89C51 直接接口,电路如图 10-60 所示。

图 10-60 硬件原理图 10.8.3.2 程序流程图

图 10-61 软件流程图 10.8.3.3 软件代码 #include <reg51.h> #include <intrins.h> sbit rs= P2^0; sbit rw = P2^1; sbit ep = P2^2;

unsigned char code dis1[] = {"www.hificat.com"}; unsigned char code dis2[] = {"0571-85956028"}; void delay(unsigned char ms) { unsigned char i; while(ms--) { for(i = 0; i< 250; i++) { _nop_(); _nop_(); _nop_(); _nop_(); } } } bit lcd_bz() { bit result; rs = 0; rw = 1; ep = 1; _nop_();

_nop_(); _nop_(); _nop_(); result = (bit)(P0 & 0x80); ep = 0; return result; } void lcd_wcmd(unsigned char cmd) { while(lcd_bz());//判断 LCD 是否忙碌 rs = 0; rw = 0; ep = 0; _nop_(); _nop_(); P0 = cmd; _nop_(); _nop_(); _nop_(); _nop_(); ep = 1; _nop_(); _nop_();

_nop_(); _nop_(); ep = 0; } void lcd_pos(unsigned char pos) { lcd_wcmd(pos | 0x80); } void lcd_wdat(unsigned char dat) { while(lcd_bz());//判断 LCD 是否忙碌 rs = 1; rw = 0; ep = 0; P0 = dat; _nop_(); _nop_(); _nop_(); _nop_(); ep = 1; _nop_(); _nop_(); _nop_();

_nop_(); ep = 0; } void lcd_init() { lcd_wcmd(0x38); delay(1); lcd_wcmd(0x0c); delay(1); lcd_wcmd(0x06); delay(1); lcd_wcmd(0x01); delay(1); } void main(void) { unsigned char i; lcd_init();// 初始化 LCD delay(10); lcd_pos(0x01);//设置显示位置 i = 0; while(dis1[i] != '\0') {

lcd_wdat(dis1[i]);//显示字符 i++; } lcd_pos(0x42);// 设置显示位置 i = 0; while(dis2[i] != '\0') { lcd_wdat(dis2[i]);// 显示字符 i++; }


相关文章:
LCD1602最好最详细的中文资料
LCD1602最好最详细的中文资料_电子/电路_工程科技_专业资料LCD1602最好最详细的中文资料,建议大家看看哦 LCD602 中文资料 1602 字符型 LCD 简介 字符型液晶显示...
中文LCD1602资料
中文LCD1602资料_工学_高等教育_教育专区。你呢中文LCD1602 资料 我买了一个 YXD-1602A 的液晶玩,一开始就遇到问题,到今天已经 5 天了,还没有整出 来!不得...
lcd1602中文资料
lcd1602中文资料_电子/电路_工程科技_专业资料1602LCD 液晶显示器(资料) 1. 1602 字符型 LCD 简介 字符型液晶显示模块是一种专门用于显示字母、数字、符号等...
LCD1602中文资料
LCD1602 中文资料一一:液晶显示器各种图形的显示原理 线段的显示: 点阵图形式液晶由 M×N 个显示单 元组成,假设 LCD 显示屏有 64 行,每行有 128 列,每 8 ...
LCD1602液晶中文资料大全
LCD1602液晶中文资料大全_电子/电路_工程科技_专业资料LCD1602液晶中文资料实用大全 LCD1602 液晶中文资料大全 --- Page 1---液晶 L C D1 6 0 2 (中文资料...
1602液晶显示器资料纯中文版
1602液晶显示器资料中文版_电子/电路_工程科技_专业资料1602 液晶显示器在日常生活中, 我们对液晶显示器并不陌生。液晶显示模块已作为很多电子 产品的通过器件,...
LCD1602显示中文汉字
LCD1602显示中文汉字_信息与通信_工程科技_专业资料。单片机控制LCD1602显示中文汉字 小子在西藏 2011-11-25 编写 LCD1602 显示中文汉字 LCD1602 相比大家都比较了解...
LCD1602最详细资料
LCD1602最详细资料_电子/电路_工程科技_专业资料。1602 字符液晶所谓 1602 是指...LCD1602最好最详细的中文... 11页 免费 LCD1602资料及单片机对其... 21页 ...
LCD1602中文最详细的解释
LCD1602中文最详细的解释_信息与通信_工程科技_专业资料LCD1602中文最详细的解释,1602 型 LCD 介绍现在的字符型液晶模块已经是单片机应用设计中最常用的 信息显示...
LCD1602中文资料(程序和使用说明)
LCD1602中文资料(程序和使用说明)_工学_高等教育_教育专区。LCD1602应用的所有资料,包括程序、使用说明、针脚图等等一切,看了你就一定会用1602了。在...
更多相关标签:
lcd1602中文资料 | lcd1602a中文资料 | lcd1602英文资料 | lcd1602资料 | lcd1602显示中文 | lcd1602中文数据手册 | lcd1602中文字库 | 1602中文资料 |