LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx

上传人:b****3 文档编号:7180996 上传时间:2023-05-08 格式:DOCX 页数:13 大小:395.51KB
下载 相关 举报
LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx_第1页
第1页 / 共13页
LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx_第2页
第2页 / 共13页
LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx_第3页
第3页 / 共13页
LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx_第4页
第4页 / 共13页
LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx_第5页
第5页 / 共13页
LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx_第6页
第6页 / 共13页
LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx_第7页
第7页 / 共13页
LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx_第8页
第8页 / 共13页
LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx_第9页
第9页 / 共13页
LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx_第10页
第10页 / 共13页
LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx_第11页
第11页 / 共13页
LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx_第12页
第12页 / 共13页
LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx

《LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx(13页珍藏版)》请在冰点文库上搜索。

LCD1602工作原理及与51单片机的接口电路Word格式文档下载.docx

3VL液晶显示偏压11D4数据

4RS数据/命令选择12D5数据

5R/W读/写选择13D6数据

6E使能信号14D7数据

7D0数据15BLA背光源正极

8D1数据16BLK背光源负极

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

背光源负极。

LCD寄存器的选择

E

R/W

RS

功能说明

1

写入命令寄存器

写入数据寄存器

读取忙碌标志及RAM地址

读取RAM数据

X

 

不动作

LCD指令表

指令功能

控制线

数据线

D7

D6

D5

D4

D3

D2

D1

D0

清除屏幕

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

光标回到原点

x

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

设定进入模式

I/D

S

I/D=1:

地址递增,I/D=0:

地址递减S=1:

开启显示屏,S=0:

关闭显示屏

显示器开关

D

C

B

D=1:

开启显示幕C=1:

开启光标B=1:

光标所在位置的字符闪烁

移位方式

S/C

R/L

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

光标左移;

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

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

字符和光标左移;

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

字符和光标右移

功能设定

DL

N

F

DL=1:

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

数据长度为4位N=1:

双列字,N=0:

单列字;

F=1:

5x10字形,F=0:

5x7字形

CGRAM地址设定

CGRAM地址

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

DDRAM地址设定

DDRAM地址

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

忙碌标志位BF

BF

地址计数器内容

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

写入数据

将数据写入CGRAM或DDRAM

读取数据

读取CGRAM或DDRAM的数据

图10-571602LCD内部显示地址

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

第一个字符的位置呢这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以

实际写入的数据应该是01000000B(40H)+B(80H)=B(C0H)。

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

无需人工干预。

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

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,

如图10-58所示,这些字符有:

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

等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),

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

图表1写数据流程

图表2写命令流程

图表3判断LCD是否忙碌,忙则返回1

#include<

>

sbitrs=P3^5;

//寄存器类型,1表示数据寄存器,2表示指令寄存器

sbitrw=P3^6;

//读写选择,1表示读,0表示写

sbitep=P3^7;

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

voiddelay(unsignedcharms)//延时nms

{

unsignedchari;

while(ms--)

{

for(i=0;

i<

123;

i++)

{

;

}

}

}

bitlcd_bz()//判断LCD是否忙碌,1忙碌

bitresult;

rs=0;

rw=1;

ep=1;

_nop_();

result=(bit)(P1&

0x80);

ep=0;

returnresult;

voidlcd_wcmd(unsignedcharcmd)//写指令

while(lcd_bz());

//判断LCD是否忙碌

rw=0;

P1=cmd;

voidlcd_pos(unsignedcharpos)//显示地址

lcd_wcmd(pos|0x80);

//写数据

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)

lcd_init();

//初始化LCD

delay(10);

lcd_pos(0x01);

//设置显示位置

//i=0;

while

(1){

lcd_wstr("

abcdefg"

);

lcd_pos(0x42);

lcd_wcmd(0x01);

delay(3);

}

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2