- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
12864液晶经典驱动程序,一看就懂,有详细的注释(C语言编写,不看后悔)
这个程序写得很好,自己也是看的别人写的很好的程序,但是它代码不够完整,注释不详细,经过自己的修改加以完善。另外我发现很多的测试代码都没有附上测试代码效果图,在本人的代码下面有自己拍的效果图,填补不足之处。自己在找资料的过程中花掉很多的财富值,如果大家看得起该代码请评五分加以下载,在下感激不尽!/*******************************************程序名称:12864液晶经典驱动程序(带中文字库)功能:12864测试程序修改作者:王程修改时间:2014年2月5日23:22:32********************************************/#includereg52.h#define uchar unsigned char#define uint unsigned int// P0 为数据口sbit LCD_RS=P2^0; //数据、命令选择端口sbit LCD_RW=P2^1; //液晶读写控制sbit LCD_EN=P2^2; //液晶使能控制sbit PSB = P2^4; //模式选择 1为并行 0为串行sbit RES = P2^5; //复位端口低电平复位,上电之前进行复位,为了稳定!unsigned char code DAT[] = 我爱我家; //测试显示的汉字,下面的A为测试显示的英文/*******************************************函数名称:Delay_1ms (晶振为12M)功能:延时约1ms的时间参数:无返回值:无********************************************/void delay_1ms(uint x){uinti,j;for(j = 0;j x;j++)for(i=0;i110;i++);}/*******************************************函数名称:write_cmd功能:向液晶中写控制命令参数:cmd--控制命令返回值:无********************************************/voidwrite_cmd(ucharcmd){ucharlcdtemp = 0; LCD_RS=0; LCD_RW=1; do //经典判忙方式,精简 { LCD_EN=1;delay_1ms(2);lcdtemp = P0; LCD_EN=0; }while(lcdtemp 0x80); LCD_RW=0; P0 = cmd; LCD_EN=1; delay_1ms(5); LCD_EN=0;}/*******************************************函数名称:write_data功能:向液晶中写显示数据参数:dat--显示数据返回值:无********************************************/void write_data(uchardat){ucharlcdtemp = 0; LCD_RS=0; LCD_RW=1; do //经典判忙方式 { LCD_EN=1; delay_1ms(2);lcdtemp = P0; LCD_EN=0; }while(lcdtemp 0x80); LCD_RS=1; LCD_RW=0; P0 = dat; LCD_EN=1; delay_1ms(5); LCD_EN=0;} /*******************************************函数名称:lcd_int功能:初始化液晶模块参数:无返回值:无********************************************/voidlcd_int(void){ delay_1ms(40); //大于40MS的延时程序 PSB=1; //设置为8BIT并口工作模式 delay_1ms(1); //延时 RES=0; //复位 delay_1ms(1); //延时 RES=1;
文档评论(0)