LCD1602函数集.doc

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

LCD1602A函数集 在这废话就不讲了,要知道LCD1602怎么使用,自己看数据手册去,在此本人仅写出一些函数集,望学习单片机的童鞋参考参考,在这里,我就以51单片机为例,对了,晶振为12M或11.0592M的情况下的参考程序,主要是注意延时问题,晶振不同相同的延时函数,延时不同,好了废话完毕;下面进入程序讲解: 在这,我总结出了几个函数如下: 延时函数 static void delay01(unsigned char x)//延时函数 { unsigned char i,j; for(i=0;ix;i++) for(j=0;j12;j++); } //LCD写指令函数:功能:向LCD写入用户指令;传入参数为CMD. void WR_CMD(unsigned char CMD)//LCD写命令函数 { RS=0; RW=0; EAB=1; delay01(100); TPORT=CMD; delay01(100); EAB=0; } //LCD写数据函数:功能:向LCD写入用户指令;传入参数为DAT. void WR_DAT(unsigned char DAT)//LCD写数据函数 { RS=1; RW=0; EAB=1; delay01(100); TPORT=DAT; delay01(100); EAB=0; } //LCD初始化函数:功能:初始化LCD;顺便说下,必须初始化成功后才可以使用液晶显示void LCD_init(void)//LCD初始化函数 { WR_CMD(0x30); WR_CMD(0X30); WR_CMD(0x30); WR_CMD(0x38); WR_CMD(0x08); WR_CMD(0x01); WR_CMD(0x06); WR_CMD(0x0e); } //LCD在指定的位置写数据函数:功能:吧想要显示的数据输出到显示屏 void WR_DATA(unsigned char line,unsigned char location,unsigned char DATA)//LCD定位写数据函数 { static unsigned char i; delay01(100); if(line==0) { i=0x80+location; WR_CMD(i); } else { i=0x80+0x40+location; WR_CMD(i); } delay01(100); WR_DAT(DATA); i=0; } //指定在第几行第几列开始写数据:功能:指定从第几行第几列开始写数据 void WR_str(unsigned char linex,unsigned char locationy,unsigned char *stri)//LCD定位写字符 { static unsigned char i; delay01(100); if(linex==0) { i=0x80+locationy; } else { i=0x80+0x40+locationy; } delay01(100); while(*stri) { WR_CMD(i); WR_DAT(*stri); i++; stri++; } i=0; } //创建自定义字符函数:功能:把点阵数据写入CGROM中 void WRTE_SELF(unsigned char *s,unsigned char datcount)//s是字符表格一维数组;datcount是字符个数写入自建字符最多8个 { unsigned char loc,i=0; loc=0x40; while(++i!=8*datcount) { WR_CMD(loc); WR_DAT(*s); s++; loc++; } } //在指定的位置写你定义的第几个字符函数:功能:在你指定的位置显示出你的自定义字符 //Selfaddr为第几个字数 值为0~7, void WR_SELSTRING(unsigned char loca,unsigned char selfaddr,unsigned char lines)//在指定的位置写自定义字符 { unsigned char lao=0x80; if(lines==1) {lao=loca+lao+0x40;} else if(lines==0) {lao+=loca;} WR_CMD(lao); WR_DAT(selfaddr); } //在LCD写入字符串函数: 与上面指定在第几行第几列开始写数据不同的是,该函数是从//每行的第一个位置开始显示字符 void WR

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档