12864lcd显示程序

12864lcd显示程序

ID:10904314

大小:134.50 KB

页数:10页

时间:2018-07-08

12864lcd显示程序_第1页
12864lcd显示程序_第2页
12864lcd显示程序_第3页
12864lcd显示程序_第4页
12864lcd显示程序_第5页
资源描述:

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

1、/***************************************************************

2、*12864LCD显示程序proteus6.9仿真AMPIRE128*64*

3、

4、*制作人:熊涛*

5、

6、*时间:2007年4月12日*

7、

8、*接口定义:P1接数据DB7~DB0*

9、

10、*P2.0P2.1P2.2P2.3P2.4接控制线*

11、

12、*具体见定义*

13、***************************************************************//**************

14、*************************************************

15、*注:本程序只能写16*16的汉字并且有一个小问题就是   *

16、

17、*当字库中汉字的代码的第一个数据不是0x00时该汉字就不*

18、

19、*能显示出来调试时发现是因为不能检索到那个汉字具体原*

20、

21、*因还在调试中直接写汉字句子时注意两个字节一个字,不要*

22、

23、*弄半角的字符或标点符号否则后面的汉字将找不到*

24、

25、*2007年4月14日1时修改熊涛*

26、**************************************************

27、*************/#include#include//包含字库该字库采用晓奇工作室液晶字模提取软件默认保存的文件采用结构体数组定义的方法#includetypedefunsignedcharuchar;typedefunsignedintuint;structword_BUFFER{ucharword[2];};structword_BUFFERword_buf[33];//定义结构体数组用来存储待显示的汉字 共32个ucharbank=0;//设置第几行反显0表

28、示不反显1~4表示各行的反显ucharkey=0;//第几个键被按下sbitDI=P3^7;//数据指令选择sbitRW=P3^6;//读写选择sbitE=P3^5;//读写使能sbitCS2=P3^4;//片选1sbitCS1=P3^3;//片选2sbitRST=P3^2;//复位keych(void)//检测是否有键按下子程序//{uintn;if(P2==0xf0)return(0);elsewhile(P2&0xf0!=0xf0)for(n=0;n<60000;n++);return(1);}keyscan()//检测是

29、哪个键按下子程序//{ucharm,n;ucharcodek[4]={0xfe,0xfd,0xfb,0xf7};for(m=0;m<4;m++){P2=k[m];n=P2+(m*m+5)*m/6;//此处要注意m为整型switch(n){case0x7e:key=0+m*4;break;case0xbe:key=1+m*4;break;case0xde:key=2+m*4;break;case0xee:key=3+m*4;break;}}}/**********************************************

30、

31、*写命令子程序*

32、

33、*入口参数:cmd控制命令数据*

34、

35、*出口参数:null*

36、

37、*调用函数:null*

38、**********************************************/voidwrite_cmd(ucharcmd)//写命令子程序{RW=0;DI=0;//DI=0写命令E=1;P1=cmd;E=0;//RW="L",E="H->L"DB7~DB0的数据被写到IR或DR}/**********************************************

39、*写数据子程序*

40、

41、*入口参数:d

42、at显示字符的数据*

43、

44、*oppo标志位1:显示阳文*

45、

46、*0:显示阴文*

47、

48、*出口参数:null*

49、

50、*调用函数:null*

51、**********************************************/voidwrite_dat(uchardat,bitoppo)//写数据子程序{RW=0;DI=1;//DI=1写数据E=1;if(oppo==0)P1=~dat;//按位取反得阴文if(oppo==1)P1=dat;oppo=1;E=0;//RW="L",E="H->L"DB7~DB0的数据被写到IR或DR}/*

52、*********************************************

53、*设置显示起始行X地址和Y地址*

54、

55、*入口参数:st_line显示起始行0~63*

56、

57、*x_add页地址8行为一页0~7*

58、

59、

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

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

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