液晶显示参程序.doc

液晶显示参程序.doc

ID:55417911

大小:33.50 KB

页数:11页

时间:2020-05-12

液晶显示参程序.doc_第1页
液晶显示参程序.doc_第2页
液晶显示参程序.doc_第3页
液晶显示参程序.doc_第4页
液晶显示参程序.doc_第5页
资源描述:

《液晶显示参程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、/*============================================================1602液晶显示驱动程序==============================================================参数定义示例:程序调用说明:1)使用前需先调用LCD_Init()对LCD进行初始化2)输出字符使用LCD_PutStr(字符串,输出位置)输出数字使用LCD_PutNum(数字,输出位置)[注:]1)输出位置为0~31间的整数,为-1时

2、表示先清屏2)函数返回值为一整形数,表示当前光标所在位置3)此两个函数支持以下转义字符:换行b退格\输出\'输出'"输出"调用示例:voidmain(void){intp;Ldelay(400);LCD_Init();p=LCD_PutStr("=Hi!It'sme=",-1);p=LCD_PutStr("Robotver",p);p=LCD_PutNum(1,p);while(1);}===================================================

3、==========*/#defineLCD_DataP2sbitLCD_RS=P0^7;sbitLCD_RW=P0^6;sbitLCD_E=P0^5;voidWriteDataLCD(unsignedcharWDLCD);voidWriteCommandLCD(unsignedcharWCLCD,BuysC);//BuysC为0时忽略忙检测unsignedcharReadStatusLCD(void);voidDisplayOneChar(unsignedcharX,unsignedcharY,unsi

4、gnedcharDData);voidLCD_Init(void);intLCD_PutStr(unsignedchar*DData,intpos);//写数据voidWriteDataLCD(unsignedcharWDLCD){ReadStatusLCD();//检测忙LCD_Data=WDLCD;LCD_RS=1;LCD_RW=0;LCD_E=0;//若晶振速度太高可以在这后加小的延时LCD_E=0;//延时LCD_E=1;}//写指令voidWriteCommandLCD(unsignedchar

5、WCLCD,BuysC)//BuysC为0时忽略忙检测{if(BuysC)ReadStatusLCD();//根据需要检测忙LCD_Data=WCLCD;LCD_RS=0;LCD_RW=0;LCD_E=0;LCD_E=0;LCD_E=1;}//读状态unsignedcharReadStatusLCD(void){LCD_Data=0xFF;LCD_RS=0;LCD_RW=1;LCD_E=0;LCD_E=0;LCD_E=1;while(LCD_Data&0x80);//检测忙信号return(LCD_Dat

6、a);}//按指定位置显示一个字符voidDisplayOneChar(unsignedcharX,unsignedcharY,unsignedcharDData){if(Y<2){Y&=0x1;X&=0xF;//限制X不能大于15,Y不能大于1if(Y)X

7、=0x40;//当要显示第二行时地址码+0x40;X

8、=0x80;//算出指令码WriteCommandLCD(X,0);//这里不检测忙信号,发送地址码WriteDataLCD(DData);}}//LCD初始化voidLCD_Init(void)

9、{unsignedcharpos;LCD_Data=0;WriteCommandLCD(0x38,0);//三次显示模式设置,不检测忙信号Ldelay(150);WriteCommandLCD(0x38,0);Ldelay(150);WriteCommandLCD(0x38,0);Ldelay(150);WriteCommandLCD(0x38,1);//显示模式设置,开始要求每次检测忙信号WriteCommandLCD(0x08,1);//关闭显示WriteCommandLCD(0x01,1);//显示

10、清屏WriteCommandLCD(0x06,1);//显示光标移动设置WriteCommandLCD(0x0C,1);//显示开及光标设置pos=LCD_PutStr("+SunWiseRobot",-1);LCD_PutStr("verson1.1",pos);Ldelay(2000);}intLCD_PutStr(unsignedchar*DData,intpos){unsignedchari;if(pos==-1)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。