字符型液晶模块LCD1602操作实例.docxVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
字符型液晶模块LCD1602操作实例

? LCD 液晶显示器是 Liquid Crystal Display 的简称? LCM(LCDModule)即LCD显示模组,是指将显示控制器,驱动器,字符存储器等集成到一起的LCD显示产品,它提供用户一个标准??????????? 的LCD显示驱动接口(有4位、8位、VGA等不同类型),用户按照接口要求进行操作来控制LCD正确显示。? 字符型LCD:有多个5*7或5*11点阵符位组成,每个点阵符位都可以显示一个字符。专用于显示字母,数字,及自定义符号。??????????????????????? 常用的有16字*1行,16字*2行,20字*2行,40字*2行:如 LCD 1602? 是16*2,可以显示两行字符,每行16个字符。? 点阵式LCD: 不但可以显示字符,还可以显示汉字,图形。如LCD 12864??? VDD :接5V正电源?? VL?? :液晶显示器对比度调整端,接正电源对比度最弱,接地时对比度最高,对比度过高会产生“鬼影”,一般在该引脚接一固定电阻或????????????? 一电位器。?? RS :寄存器选择,1时选择数据寄存器,0时选择指令寄存器。?? R/W:读写控制信号线,1为读操作,0为写操作。??? E :?? 为模块使能端,当有高电平跳变到低电平时,液晶模块执行命令。??? DB0-DB7:8位双向数据线。??DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表:????????也就是说想要在LCD1602屏幕的第一行第一列显示一个A字,就要向DDRAM的00H地址写入“A”字的代码就行了。但具体的写入是要按LCD模块的指令格式来进行的,后面我会说到的。那么一行可有40个地址呀?是的,在1602中我们就用前16个就行了。第二行也一样用前16个地址。第一行对应16个地址位0x00-0x0fH,第二行对应的地址为:40H-4FH??1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如下表所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”?? #define? RS_0??? PORTC=~(1PC0)??? //RS为0,0选择指令寄存器#define? RS_1??? PORTC|=(1PC0)????? //RS?为1,1选择数据寄存器#define? RW_0? ?PORTC=~(1PC1)? //RW为0,?0为写操作#define? RW_1?? PORTC=(1PC1)??? //RW为1,1为读操作#define? EN_0??? PORTC=~(1PC2)? //E?为0,??#define? EN_1?? PORTC=(1PC2)??? //E?为1.??//使能端,高电平跳变到低电平时,液晶模块执行命令。写命令操作:?void? lcd_cmd(uchar cmd)? {??? 1、 DDRA=0xFF;//PA口为输出,PA口为数据端口??? 2、 RS_0;?? //选择指令寄存器?????????? RW_0;? //选择写状态?????????? EN_0;???// 禁止状态???? 3、 PORTA=0x01;//0x01 为清屏命令字,???? 4、 delay (40);//延时400ns????? 5、 EN_1;????????????? delay(40);????????????? EN_0;??? //E 端电平由1到0跳变时,液晶模块开始执行这个命令。写操作结束}写数据操作:void lcd_data(uchar data){???? ??? 1、 DDRA=0xFF;//PA口为输出,PA口为数据端口??? ? ?? 2、 RS_1;?? //选择数据寄存器????????????? ? RW_0;? //选择写状态?????????????? ?EN_0;???// 禁止状态????? ?? 3、 PORTA=data;//data 要写入的数据?????? ??4、 delay (40);//延时400ns????? ?? 5、 EN_1;??????????? ??? delay(40);??????????????? EN_0;??? //E 端电平由1到0跳变时,液晶模块开始执行这个命令。写操作结束?}读液晶忙(BF)状态: BF位为1时表示液晶正在处理数据,此时不能对液晶操作。???????? 1、 DDRA=0x00;//PA口为输入,PA口为数据端口??? ? ??

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档