液晶12864学习心得

液晶12864学习心得

ID:12127017

大小:1.82 MB

页数:10页

时间:2018-07-15

液晶12864学习心得_第1页
液晶12864学习心得_第2页
液晶12864学习心得_第3页
液晶12864学习心得_第4页
液晶12864学习心得_第5页
资源描述:

《液晶12864学习心得》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、摸索了10多天,经历过无数次花屏,终有一点小成就,拿出来分享分享。资料我就不多说了,百度文库上一大堆,主要介绍一下我学习12864遇到的问题,及注意事项。我的程序可能不好理解,希望大家仔细研究研究资料,还是有所收获的。电路图如下:#include#include<12864.h>/*******************************************************下面的管脚定义根据实际情况修改,其中WELA,DULA,LEDLA**不是必需的,主要是为了在初始化时关掉74hc573,*************

2、******************************************/sbitEN=P3^4;sbitRS=P3^5;sbitRW=P3^6;sbitPSB=P3^7;//串口并口选择sbitWELA=P2^7;//数码管开关位sbitDULA=P2^6;//数码管开关位sbitLEDLA=P2^5;//LED灯开关位voidDelay(unsignedinti){unsignedcharj;for(;i>0;i--)for(j=10;j>0;j--);}/////////////////////////////////////////

3、等待忙voidWaitBusy(void){RS=0;RW=1;EN=1;P0=0xff;//必须有这句P0=0xff;释放P0口否则读进去的数据有误。while(P0&0x80);EN=0;}////////////////////////////////////////////voidWriteCom(unsignedcharcom){WaitBusy();RW=0;RS=0;EN=1;P0=com;Delay(5);//延时一段时间EN=0;Delay(5);//延时一段时间}///////////////////////////////////

4、/////////voidWriteDat(unsignedchardat){WaitBusy();RS=1;RW=0;EN=1;P0=dat;Delay(5);//延时一段时间EN=0;Delay(5);//延时一段时间}//////////////////////////////////////////unsignedcharReadDat(){unsignedchartemp;WaitBusy();P0=0xff;//必须有这句P0=0xff;释放P0口,否则画一条直线出现断断续续RS=1;//P0=0xFF执行后向当于释放P0口(处于若上拉输入

5、状态)。对于某些电路,尤其是双向双工P0口,释放P0是必须的。这与I2C的SCD=1是一个道理。RW=1;//输出无所谓,输入一般要先写1再读。EN=1;temp=P0;EN=0;//EN必须为零,否则连着读两个字节时就出错,因为若不EN=0;连着读,EN一直为1,导致出错。returntemp;}////////////////////////////////////////////voidInit(){Delay(200);WELA=0;//关掉数码管DULA=0;//关掉数码管LEDLA=0;//关掉LED灯PSB=1;//并口方式WriteCo

6、m(0x30);//基本指令集Delay(10);WriteCom(0x30);//基本指令集Delay(5);WriteCom(0x0c);//开显示Delay(10);WriteCom(0x01);//清屏注:清屏指令只能放在开显示之后Delay(500);WriteCom(0x06);//光标右移}//显示字符串函数voidDisplay_Str(unsignedchary,unsignedcharx,unsignedchar*p){switch(y){case0:x+=0x80;break;case1:x+=0x90;break;case2:x

7、+=0x88;break;case3:x+=0x98;break;default:break;}WriteCom(x);while(*p!=''){WriteDat(*p);p++;Delay(50);}}//清屏voidClrGDRAM(){unsignedcharx,y;WriteCom(0x34);for(y=0;y<32;y++){WriteCom(y+0x80);WriteCom(x+0x80);for(x=0;x<16;x++){WriteDat(0x00);WriteDat(0x00);}}WriteCom(0x30);}//显示图像

8、函数voidDisplay_BMP(unsignedchar*p){unsignedchari

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

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

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