1602液晶显示器的详细控制与应用.doc

1602液晶显示器的详细控制与应用.doc

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

#includereg52.h #includeintrins.h #define uchar unsigned char #define uint unsigned int uchar SecondLine[]=xxxxxxxx ; //第二行数据 uchar FirstLine[] =xxxxxxxxx ; //第一行数据 #define Data P1 //数据端口 sbit RS=P2^4; sbit RW=P2^5; sbit E=P2^6; void delay(uchar ms) // 延时函数ms毫秒 { uchar i,j; for(i=ms;i0;i--) for(j=100;j0;j--); } void DelayUs(unsigned char us) //--延时函数 { unsigned char uscnt; uscnt=us1; /*12MHz频率*/ while(--uscnt); } void DelayMs(unsigned char ms) { while(--ms) { DelayUs(250); DelayUs(250); DelayUs(250); DelayUs(250); } } void lcd_write_com(uchar c) //写命令 { DelayMs(5);//操作前短暂延时,保证信号稳定 E=0; RS=0; RW=0; _nop_(); E=1; Data=c; E=0; } void lcd_write_dat(uchar c) //写数据 { DelayMs(5); //操作前短暂延时,保证信号稳定 E=0; RS=1; RW=0; _nop_(); E=1; Data=c; E=0; RS=0; } void lcd_init() //LCD初始化 { DelayMs(15); lcd_write_com(0x38); //display mode lcd_write_com(0x38); //display mode lcd_write_com(0x38); //display mode lcd_write_com(0x06); //显示光标移动位置 lcd_write_com(0x0c); //显示开及光标设置 lcd_write_com(0x01); //显示清屏 } void ShowChar(uchar pos,uchar c) //显示单个字符 { unsigned char p; if (pos=0x10) p=pos+0xb0; //是第二行则命令代码高4位为0xc else p=pos+0x80; //是第二行则命令代码高4位为0x8 lcd_write_com(p);//写命令 lcd_write_dat(c); //写数据 } void ShowString (uchar line,char *ptr) //显示字符串 { unsigned char l,*p; p=ptr; l=line4; while((*p)!=\0) { ShowChar(l++,*(p)); p++; } } void disp(void) //主函数调用的显示函数 { ShowChar(uchar pos,uchar c) ShowString(0,Jilin University); ShowString(1,SecondLine); } Void main() { Disp(); While(1); }

文档评论(0)

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

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

1亿VIP精品文档

相关文档