LCD1602工作原理技巧Word格式.docx

上传人:b****8 文档编号:22710081 上传时间:2023-02-05 格式:DOCX 页数:17 大小:17.14KB
下载 相关 举报
LCD1602工作原理技巧Word格式.docx_第1页
第1页 / 共17页
LCD1602工作原理技巧Word格式.docx_第2页
第2页 / 共17页
LCD1602工作原理技巧Word格式.docx_第3页
第3页 / 共17页
LCD1602工作原理技巧Word格式.docx_第4页
第4页 / 共17页
LCD1602工作原理技巧Word格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

LCD1602工作原理技巧Word格式.docx

《LCD1602工作原理技巧Word格式.docx》由会员分享,可在线阅读,更多相关《LCD1602工作原理技巧Word格式.docx(17页珍藏版)》请在冰豆网上搜索。

LCD1602工作原理技巧Word格式.docx

14

脚(无背光)或

脚(带背光)接口,各引脚接口说明如表

10-13所示

编号

符号

引脚说明

1VSS电源地

9D2数据

2VDD电源正极

10D3数据

3VL液晶显示偏压

11D4数据

4RS数据

/

命令选择

12D5数据

5R/W读

写选择

13D6数据

6E使能信号

14D7数据

7D0数据

15BLA

背光源正极

8D1数据

16BLK

背光源负极

表表

10-13

引脚接口说明表引脚接口说明表引脚接口说明表引脚接口说明表

1

脚:

VSS

为地电源。

VDD

5V

正电源。

3

VL

为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度

最高,

比度过高时会产生“鬼影”,使用时可以通过一个

10K

的电位器调整对比度。

4

RS

为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

5

R/W

为读写信号线,高电平时进行读操作,低电平时进行写操作。

共同为低电平时可以写入指令或者显示地址,当

为低电平

为高电平时可以读忙信

号,当

为高电平

为低电平时可以写入数据。

6

E

端为使能端,当

端由高电平跳变成低电平时,液晶模块执行命令。

7

D0

D7

8

位双向数据线。

15

背光源正极。

背光源负极。

========================================第2页

LCD

寄存器的选择寄存器的选择

寄存器的选择

ER/WRS功能说明100写入命令寄存器101写入数据寄存器110读取忙碌标志及RAM地址

111读取RAM数据0X

不动作

指令表

指令功能

控制线数据线RSR/W

D7D6D5D4D3D2D1D0清除屏幕

0000000001清除屏幕,并把光标移至左上角

光标回到原

000000001x光标移至左上角,显示内容不变

设定进入模

00000001I/D

S

I/D=1:

地址递增,I/D=0:

地址递减S=1:

开启显示屏,S=0:

关闭显

示屏

显示器开关

0000001DCB

D=1:

开启显示幕C=1:

开启光标B=1:

光标所在位置的字符闪烁

移位方式

000001S/CR/L

xx

S/C=0、R/L=0:

光标左移;

S/C=0、R/L=1:

光标右移S/C=1、R/L=0:

字符和光标左移;

S/C=1、R/L=1:

字符和光标右移功能设定

00001DLNFxx

DL=1:

数据长度为8位,DL=0:

数据长度为4位N=1:

双列字,N=0:

单列字;

F=1:

5x10字形,F=0:

5x7字形CGRAM地址

设定

0001CGRAM地址

将所要操作的CGRAM地址放入地址计数器DDRAM地址

001DDRAM地址

将所要操作的DDRAM地址放入地址计数器忙碌标志位

BF

01BF地址计数器内容读取地址计数器,并查询LCM是否忙碌,BF表示LCM忙碌

写入数据

10写入数据

将数据写入CGRAM或DDRAM读取数据

11读取数据

读取CGRAM或DDRAM的数据

========================================第3页========================================

10-571602LCD

内部显示地址

例如第二行第一个字符的地址是

40H

,那么是否直接写入

就可以将光标定位在第二行

第一个字符的位置呢,这样不行,因为写入显示地址时要求最高位

恒定为高电平

实际写入的数据应该是

01000000B

+10000000B(80H)=11000000B(C0H)。

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

无需人工干预。

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

1602

液晶模块内部的字符发生存储器(CGROM

)已经存储了

160

个不同的点阵字符图形,

如图

10-58

所示,这些字符有:

阿拉伯数字、英文字母的大小写、常用的符号、和日文假

等,每一个字符都有一个固定的代码,比如大写的英文字母“

A

”的代码是

01000001B

41H

),

显示时模块把地址

中的点阵字符图形显示出来,我们就能看到字母“A

========================================第4页========================================

开始

结束

判断

是否忙碌,rs=1;

rw=0;

ep=0;

P1=dat;

延时

4us

ep=1;

ep=0;

图表

写数据流程

========================================第5页

是否忙碌,rs=0;

4usep=1;

延时4usep=0;

否是

图表

写命令流程

========================================第6页

开始结束rs=0;

rw=1;

ep=1;

延时4usresult=(bit)(P1&

0x80);

返回result

是否忙碌,忙则返回1

========================================第7页

#include<

reg51.h>

#include<

intrins.h>

sbitrs=P3^5;

//寄存器类型,

表示数据寄存器,2

表示指令寄存器

sbitrw=P3^6;

//读写选择,

表示读,

0

表示写

sbitep=P3^7;

//读写使能,下降沿使能

voiddelay(unsignedcharms)//

延时

nms

{

unsignedchari;

while(ms--)

for(i=0;

i<

123;

i++)

;

}

========================================第8页

bitlcd_bz()//

是否忙碌,

忙碌

bitresult;

rs=0;

rw=1;

ep=1;

_nop_();

result=(bit)(P1&

ep=0;

returnresult;

}

voidlcd_wcmd(unsignedcharcmd)//

写指令

while(lcd_bz());

//

是否忙碌

rw=0;

P1=cmd;

voidlcd_pos(unsignedcharpos)//

显示地址

lcd_wcmd(pos|0x80);

写数据

========================================第9页========================================

voidlcd_wdat(unsignedchardat)

//判断

rs=1;

P1=dat;

voidlcd_wstr(constunsignedchar*s)//

写字符串

unsignedchari=0;

while(s[i]!

='

\0'

lcd_wdat(s[i]);

//显示字符

delay(1000);

i++;

voidlcd_init()//LCD

初始化

lcd_wcmd(0x38);

//功能设定

delay

(1);

lcd_wcmd(0x0c);

//显示器开关

lcd_wcmd(0x06);

//设定进入模式

lcd_wcmd(0x01);

//清除显示屏,把光标移至左上角

voidmain(void)========================================第10页

lcd_init();

delay(10);

lcd_pos(0x01);

//设置显示位置

//i=0;

while

(1){

lcd_wstr("

abcdefg"

);

lcd_pos(0x42);

delay(3);

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

当前位置:首页 > 高等教育 > 医学

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

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