欢迎来到天天文库
浏览记录
ID:12127017
大小:1.82 MB
页数:10页
时间:2018-07-15
《液晶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
此文档下载收益归作者所有