单片机+LCD1602液晶显示字符串Word格式.docx

上传人:b****6 文档编号:21667015 上传时间:2023-01-31 格式:DOCX 页数:12 大小:129.86KB
下载 相关 举报
单片机+LCD1602液晶显示字符串Word格式.docx_第1页
第1页 / 共12页
单片机+LCD1602液晶显示字符串Word格式.docx_第2页
第2页 / 共12页
单片机+LCD1602液晶显示字符串Word格式.docx_第3页
第3页 / 共12页
单片机+LCD1602液晶显示字符串Word格式.docx_第4页
第4页 / 共12页
单片机+LCD1602液晶显示字符串Word格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

单片机+LCD1602液晶显示字符串Word格式.docx

《单片机+LCD1602液晶显示字符串Word格式.docx》由会员分享,可在线阅读,更多相关《单片机+LCD1602液晶显示字符串Word格式.docx(12页珍藏版)》请在冰豆网上搜索。

单片机+LCD1602液晶显示字符串Word格式.docx

3

VL

液晶显示偏压信号

11

D-1

4

RS

数据倫令选择端(H/L)

12

D5

5

R/W

读f写选择端<H/L)

13

D6

6

E

使能信号

14

07

7

DO

Data1/0

15

BLA

背光源正极

8

DI

16

BLK

背光源负极

基本操作电路

「1读状态:

输入:

RS二L,般-H,E=H

输出:

DW左状态字

X2写指令;

RS=L,R*=L,D0「D7=指令码,E二高脉冲

1弋读数据;

输入;

RS二H.RW=H.E=H

D077二数据

L4写数据:

RS二H.RW=L.D0〜D7=数据.E二高脉冲

输出;

状态字说明

STA7

STA6

STA5

STA4

STA3

STA2

STA1

STAO

D7

D4

D3

D2

D1

D0

STAA6当前数据地址指针的数值

S"

7读写操作使能T___0:

初始化相关指令的意思

显示模式设苦

指令码

功能

设青16X2显示.5X7点阵,8位数据接口

显示开关及光标设西

D

G

D—1开显乔匚D—0关显示

G二1显示光标:

不显示光标

B二1光标闪烁iB=0光标不显不

N

S

N-1窖读或写一个字符后地址指针加—t且光标加一

N-0当读或写一个字符后地址指针减一,且光标减一

S=1当写一个字符,整屏显示左移(N=1)

读时序图

DB0-DB7

lc

写时序图

要想通过1602液晶来显示你想要显示字符串,其实是很简单的,程序虽然有点长,但是都是按照步骤来的。

1602的五大步骤

第一个步骤:

检查LCD忙状态

lcd_busy为1时,忙,等待。

lcd-busy为0时,闲,可写指令与数据。

第二个步骤:

写指令数据到LCD

RS=L,RW=L,E=高脉冲,D0-D7二指令码。

第三个步骤:

写显示数据到LCD

RS=H,RW=L,E=高脉冲,D0-D7=数据。

第四个步骤:

设定显示位置

第五个步骤:

LCD初始化设定

只要这五步你弄懂了,什么样的字符串都可以按照你的方式显示。

至于这其中的步骤的具体的方式,我们就要参照1602的资料和时序图!

不过你大可不必,这份文档就足够了!

#include<

reg51.h>

intrins.h>

#defineucharunsignedchar

#defineuintunsignedint

sbitdula=P2A6;

sbitwela=P2A7;

WLCOMETO"

};

{"

JIANGGANHUA"

NANCHANG"

HANGKONGDX"

sbitLCD_RS=P3A5;

sbitLCD_RW=P3A6;

sbitLCD_EN=P3A4;

ucharcodedis1[]={"

ucharcodedis2[]=ucharcodedis3[]={"

ucharcodedis4[]={"

voiddelay(intms)

{

inti;

while(ms--)

for(i=0;

i<

110;

i++)

_nop_();

}

}bitlcd_busy()

bitresult;

LCD_RS=0;

LCD_RW=1;

LCD_EN=1;

result=(bit)(P0&

0x80);

LCD_EN=0;

returnresult;

voidlcd_wcmd(ucharcmd)

while(lcd_busy());

LCD_RW=0;

P0=cmd;

voidlcd_wdat(uchardat){

LCD_RS=1;

P0=dat;

voidlcd_pos(ucharpos)

lcd_wcmd(pos|0x80);

voidlcd_init()

dula=0;

wela=0;

lcd_wcmd(0x38);

delay(5);

lcd_wcmd(0x0c);

//数据指针=80+地址变量

//16*2显示,5*7点阵,8位数据

//显示开,关光标

lcd_wcmd(0x06);

delay(5);

lcd_wcmd(0x01);

main()

uchari;

delay(10);

lcd_init();

//移动光标

//清除LCD的显示内容

//初始化LCD

while

(1)

lcd_wcmd(0x06);

lcd_pos(0);

i=0;

while(dis1[i]!

='

\0'

lcd_wdat(dis1[i]);

i++;

delay(50);

lcd_pos(0x40);

while(dis2[i]!

lcd_wdat(dis2[i]);

delay(50);

//向右移动光标//设置显示位置为第一行的第1个字符

//显示字符

//控制两字之间显示速度

//设置显示位置为第二行第1个字符

//显示字符"

lcd_wcmd(0x01);

delay(200);

lcd_wcmd(0x04);

lcd_pos(15);

while(dis3[i]!

//闪动二次

//控制转换时间

//向左移动光标//设置显示位置为第一行的第16个字符

lcd_wdat(dis3[i]);

lcd_pos(0x4F);

while(dis4[i]!

lcd_wdat(dis4[i]);

delay(100);

//设置显示位置为第二行的第

//清除LCD的显示内容//控制转换时间

实验现象,1602液晶显示我在数组里设置的字符串!

739141300疑问解答!

16个字符

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

当前位置:首页 > 教学研究 > 教学反思汇报

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

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