1602液晶进阶资料.docx

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

1602液晶进阶

一、1602液晶简要说明

1.工作电压:4.5~5.5v工作电流:2.0mA(5.0v条件下)

2.E端:E即En,Enable,使能端,下降沿有效

3.Vo端:对比度调节端,可以从一个10k电位器滑动端引出,另两端分别接到Vcc和GND

4.初始化过程(简单操作)

Wcom(0x08); //关显示

Wcom(0x38); //2行,5*7,8bit接口

Wcom(0x06); //光标(显存地址)自动加1

Wcom(0x01); //清屏,这句可以没有

Wcom(0x0C); //开显示

5.实现其他效果的命令

Wcom(0x0F); //显示闪烁光标

Wcom(0x18); //整屏(连光标)左移一格

Wcom(0x1C); //整屏(连光标)右移一格

Wcom(0x28); //2行,5*7,4bit接口

6.读写DDRAM的方法

Wcom(0x80|addr); //设置7bitDDRAM地址

WDat(dat); //写DDRAM,dat实际上是CGROM中的一个地址值,CGROM每一个表格暗含8Byte的字模代码

Wcom(0x80|addr);

dat=RDat(); //每读一次,即读出一个字符,不是读8次

7.读写CGRAM的方法

Wcom(0x40|addr+i); //i=0~7,设置6bitCGRAM地址,共执行8次,每次写一次数据

WDat(dat); //把数据写入CGRAM

Wcom(0x40|addr+i); //读取CGRAM数据,每次只能读取字模的一个字节,须重复读取8次方可读得一个字符数据

dat=RDat();

8.读操作的“E”应保持高电平,写操作的“E”应为下跳变

9.1602的DDRAM分为2行,共80Byte,地址第一行从0x00~0x27;第二行从0x40~0x67,只能同时显示16*2=32Byte,由于写显存DDRAM的指令bit7恒为1,故读写第一行时,DDRAM的地址为“0x80|addr”,而第二行的地址要写为“0xC0|addr”

10.若要把字模数据写入CGRAM,再让它显示在屏幕上,可以这样做:首先,用Wcom(0x40|addr+i)设置CGRAM的地址,再把代表字符八行像素的8个字节依次写入1602预留的空间中(总共有64Byte的空间,可写入8个自定义字符);字模写入CGRAM后,只需要用刚才写CGRAM时用的addr设置一下DDRAM地址,如:Wcom(0x80|addr);或Wcom(0xC0|addr);最后写一句WDat(addr);即可将你的自定义字符显示出来。之所以写DDRAM的时候写的是地址addr,而且只用操作1次,是因为在我们每次从CGROM选择自带字符显示时,1602其实都是把8个字节的字形码载入到DDRAM中,再由物理的机制显示出来,CGROM和CGRAM就像是孪生姊妹一样,每格都有8个Byte的空间

11.四线驱动初始化的第一种方法(共9步)

第一步:上电延时40mS,写入指令0x30

第二步:延时4.1mS,写入指令0x30

第三步:延时100uS,写入指令0x30

第四步:写入指令0x20,此时已进入四线模式

第五步:写入指令0x28,设置LCD1602为2行、5*7字符、4bit

第六步:写入指令0x08,关显示

第七步:写入指令0x01,清屏

第八步:写入指令0x06,光标自动加1

第九步:写入指令0x0C(或0x0F),开显示(光标闪烁)

12.四线驱动显示,不管指令还是数据的写入,都只能从LCD1602的D4~D7写入,(因此要屏蔽掉低四位接口),分高4位和低4位两次。因为LCD1602的四线驱动真的不太容易成功,(它对时序及信号的宽度、稳定程度非常敏感),所以在不显示或者显示乱码时,应在写入指令或数据的语句后做适当的延时,反正调试难度非常大

二、例程

1.开光标闪烁显示

#includeSTC32G.H

#defineON0

#defineOFF1

sbitCS_1602=P3^4;

sbitRS=P4^2;

sbitRW=P4^4;

sbitE=P4^5;

sbitLED_K=P3^6;

voidInit_CPU();

voidInit_IO();

voidInit_LCD_1602();

voidWrite_DDRAM(unsignedcharrow,unsignedchar*str);

voidW_Byte(bitrs,unsignedcharbyte);

voidReady();

voidDelay(unsigned

文档评论(0)

知识贩卖机 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档