项目十二液晶显示器显示电路设计.pptVIP

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

1. 单片机与LCM1602接口电路设计 1.2 分析任务 用单片机的P0口接LCM1602液晶显示器的8位数据线,P2.5接RS,P2.6接RW,P2.7接E。电路原理图如图12.1所示。 1.2 分析任务 软件程序设计要严格按照LCM1602液晶显示器的读操作时序和写操作时序来编写。单片机所用的晶体振荡器频率不同,在编写延时程序时延时参数要作适当的修改,使之符合LCM1602的时序要求。编写程序时尽量按照模块化的编程思想进行编程。其程序流程如图12.2所示。 1.2 分析任务 #include reg51.h #include intrins.h #define uchar unsigned char #define uint unsigned int #define DPORT P0 //数据接口 sbit RW=P2^6; //读写控制选择 sbit E=P2^7; //便能端 sbit RS=P2^5; //数据寄存器与指令寄存器选择控制端 sbit RS=P2^5; //数据寄存器与指令寄存器选择控制端 uchar *s=welcome AT89S51!; uchar *s1=LCD1602test...OK ; const uchar NoDisp=0; //无显示 const uchar NoCur=1; //有显示无光标 const uchar CurNoFlash=2; //有光标不闪烁 const uchar CurFlash=3; //有光标且闪烁 1.2 分析任务 /********************函数声明**************************/ void LcdPos(uchar, uchar);//确定光标位置 void LcdWd(uchar); //写字符 void LcdWc(uchar); //送控制字(检测忙) void LcdWcn(uchar); //送控制字(不检测忙) void mDelay(uint); //延时m毫秒 void WaitIdle(); //检测LCD控制器状态 /*********************在指定行列显示指定字符***********/ //参数:xPox 光标所在列 yPos 光标所在行 c 待显示字符 void WriteChar(uchar c, uchar xPos, uchar yPos) { LcdPos(xPos, yPos); LcdWd(c); } 1.2 分析任务 /************显示字符串********************************/ //参数: *s 指向待显示字符串;yPos光标所在行;xPos光标所在列 void WriteString(uchar *s, uchar xPos, uchar yPos) { uchar i; if(*s==0) //遇到字符串结束 return; for(i=0;;i++) { if(*(s+i)==0) break; WriteChar(*(s+i), xPos, yPos); xPos++; if(xPos15) break; } } /***************设置光标*******************************/ //参数:Para 4种光标类型 void SetCur(uchar Para) { mDelay(2); switch(Para) { case 0: { LcdWc(0x08); //关显示 break; } case 1: { LcdWc(0x0c); //开显示无光标 break; } 1.2 分析任务 case 2: { LcdWc(0x0e); //开显示光标不闪 break; } case 3: { LcdWc(0x0f); //开显示光标闪 break; } default: break; } } /****************清屏*********************************/ void ClrLcd() { LcdWc(0x01)

文档评论(0)

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

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

1亿VIP精品文档

相关文档