1602中文资料.docx

上传人:b****3 文档编号:3538337 上传时间:2022-11-23 格式:DOCX 页数:15 大小:271.65KB
下载 相关 举报
1602中文资料.docx_第1页
第1页 / 共15页
1602中文资料.docx_第2页
第2页 / 共15页
1602中文资料.docx_第3页
第3页 / 共15页
1602中文资料.docx_第4页
第4页 / 共15页
1602中文资料.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

1602中文资料.docx

《1602中文资料.docx》由会员分享,可在线阅读,更多相关《1602中文资料.docx(15页珍藏版)》请在冰豆网上搜索。

1602中文资料.docx

1602中文资料

 LCD1602中文资料一

1602液晶显示

一、外形

显示地址:

80

81

82

83

84

85

86

87

88

89

8A

8B

8C

8D

8E

8F

90

91

92

93

C0

C1

C2

C3

C4

C5

C6

C7

C8

C9

CA

CB

CC

CD

CE

CF

D0

D1

D2

D3

二、接口说明

4:

RS1数据寄存器0指令寄存器

5:

R/W1读0写

6:

E读写使能1允许读写0禁止读写

14:

D7busyflang忙碌标志位1忙禁止0允许

 

LCD寄存器选择:

E

R/W

RS

功能说明

1

0

0

写命令寄存器

1

0

1

写数据寄存器

1

1

0

读忙碌标志

1

1

1

读取RAM数据

0

X

X

不动作

三、指令介绍

清屏:

000000010x01清屏

光表回到原点:

000000100x02执行这个指令光标回到原点

设定进入模式:

000001I/DI/D=1递增S=1开启显示屏,整个屏移动

I/D=0递减S=0关闭显示屏

0x07开启显示、递增、整体左移

0x05开启显示、递减、整体右移(第一个数右移,第二个数在第一个数的位置,依次往右挤)

0x04向左显示

0x06向右显示

显示器开关:

00001DCBD=1开启显示,

C=1开启光标

B=1光标所在位置光标闪烁

0x08关闭显示

0x0c光标字符不闪烁

0x0d字符闪烁

0x0f光标闪烁

移位方式:

0001S/CR/Lxx0x10光标左移

0x14光标右移

0x18光标、字符左移

0x1c光标、字符右移

功能设定001DLNFDL=1数据长度为8位DL=0为4位

N=1双列字N=0单列字

F=15x10字形F=05x7字形

(除0x38大多数不支持)

 

四、基本流程

初始化:

init_1602()

{

P1=0x38;//8位、2行、5x7点阵

wdata();//写指令

P1=0x0c;//光标字符不闪烁

wdata();

P1=0x01;//清屏

wdata();

}

写指令:

wr_com()

{

rs=0;//选择指令寄存器

rw=0;//写

e=0;//禁止读写

mang_();//判忙

e=1;//可以读写

}

写数据:

wr_data()

{

rs=1;//选择数据寄存器

rw=0;//写

e=0;//禁止读写

mang_();//判忙

e=1;//可以读写

}

判忙:

mang_()

{

P1=0xff;//读忙期间不接收外来指令

rs=0;//选择指令寄存器

rw=1;//读模式

e=0;

_nop_();

_nop_();

e=1;

while(mang==1);//忙碌循环等待

}

五、程序

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitrs=P2^0;

sbitrw=P2^1;

sbite=P2^2;

sbitmang=P1^7;

mang_()

{

P1=0XFF;

rs=0;

rw=1;

e=0;

_nop_();

_nop_();

e=1;

while(mang==1);

}

wdata()

{

rs=0;

rw=0;

e=0;

mang_();

e=1;

}

wshu()

{

rs=1;

rw=0;

e=0;

mang_();

e=1;

}

init_1602()

{

P1=0x38;

wdata();

P1=0x0c;

wdata();

P1=0x01;

wdata();

}

display()

{

P1=0x82;

wdata();

P1='C';

wshu();

P1='d';

wshu();

P1=0xc2;

wdata();

P1='f';

wshu();

}

main()

{

init_1602();

P1=0x38;

wdata();

display();

while

(1);

}

 

 

一:

液晶显示器各种图形的显示原理  线段的显示:

点阵图形式液晶由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上得到一个完整汉字 

 二:

1602字符型LCD简介

    1·字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。

下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。

一般1602字符型液晶显示器实物如图

 

                                 图一

 2·1602LCD的基本参数及引脚功能

  1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图

                               图二

3`LCD1602主要技术参数:

 

 显示容量:

16×2个字符

 芯片工作电压:

4.5—5.5V

 工作电流:

2.0mA(5.0V)

 模块最佳工作电压:

5.0V

 字符尺寸:

2.95×4.35(W×H)mm

4`引脚功能说明

1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表

 

编号

符号

引脚说明

编号

符号

引脚说明

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

BLA

背光源正极

8

D1

数据

16

BLK

背光源负极

                        表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脚:

背光源负极。

5`其与单片机的连接如下图所示

LCD1602中文资料二(续一)

由于篇幅限制,此是LED中文资料的续写,如访问上篇内容请点击:

LCD1602中文资料一

6`1602液晶模块内部的控制器共有11条控制指令,如下表所示

序号

指令

RS

R/W

D7

D6

D5

D4

D3

D2

D1

D0

1

清显示

0

0

0

0

0

0

0

0

0

1

2

光标返回

0

0

0

0

0

0

0

0

1

*

3

置输入模式

0

0

0

0

0

0

0

1

I/D

S

4

显示开/关控制

0

0

0

0

0

0

1

D

C

B

5

光标或字符移位

0

0

0

0

0

1

S/C

R/L

*

*

6

置功能

0

0

0

0

1

DL

N

F

*

*

7

置字符发生存贮器地址

0

0

0

1

字符发生存贮器地址

8

置数据存贮器地址

0

0

1

显示数据存贮器地址

9

读忙标志或地址

0

1

BF

计数器地址

10

写数到CGRAM或DDRAM)

1

0

要写的数据内容

11

从CGRAM或DDRAM读数

1

1

读出的数据内容

 

                                  表一

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:

忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平表示不忙。

与HD44780相兼容的芯片时序表如下:

 

读状态

输入

RS=L,R/W=H,E=H

输出

D0—D7=状态字

写指令

输入

RS=L,R/W=L,D0—D7=指令码,E=高脉冲

输出

读数据

输入

RS=H,R/W=H,E=H

输出

D0—D7=数据

写数据

输入

RS=H,R/W=L,D0—D7=数据,E=高脉冲

输出

 

                                表二:

基本操作时序表

读写操作时序如图所示

 

                               图三:

读操作时序

                              图四:

写操作时序

7:

1602LCD的RAM地址映射及标准字库表

液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。

要显示字符时要先输入显示字符地址,也就是告诉模块在,哪里显示字符,图是1602的内部显示地址。

                   图五:

LCD1602内部显示地址

例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?

这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。

    在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。

每次输入指令前都要判断液晶模块是否处于忙的状态。

    1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图10-58所示,这些字符有:

阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

**操作前提是之前写了指令使能光标显示**

0x10字符不动,光标左移一个位置

0x14字符不动,光标右移一个位置

0x18字符和光标一起左移一个位置

0x1c字符和光标一起右移一个位置

希望能对你有所帮助!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1