1 / 11
文档名称:

12864串行程序例程.doc

格式:doc   大小:69KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

12864串行程序例程.doc

上传人:2072510724 2019/9/26 文件大小:69 KB

下载得到文件列表

12864串行程序例程.doc

文档介绍

文档介绍:此文档,是本人根据12864资料编写而成,在51单片机上面调试通过成功,,由于51的内存有限,后续两幅图占用内存太大,所以注释。#include<>#defineucharunsignedchar#defineuintunsignedintsbitSID=P1^1;//RWsbitSCLK=P1^0;//Einti,j,k,len;unsignedcharcodepic[];unsignedcharcodepic1[];unsignedcharcodeIDAT[]={"陕西理工电子科技""单片机小液晶系列""中文字库测试程序""恭喜发财工作顺利"};voidDisPhoto(unsignedcharcode*adder);voidlcd_chine(unsignedcharcode*adder1);voidDraw_Point(intx,inty,intz,inttype); //画点坐标点,修正位,及是否为画点,还是消除voidDraw_Line(intx,inty,intlen,inttyp);voiddelay_ms(uintx){uinti,j; for(j=0;j<x;j++) for(i=0;i<110;i++) ;}voidwrite_lcd(uchardate,uinttype)//type0为命令,1为数据{switch(type) { case0: { uchari; uchari_data; i_data=0xf8; // CS=1; SCLK=0; for(i=0;i<8;i++) { SID=(bit)(i_data&0x80); SCLK=0; SCLK=1; i_data<<=1; } i_data=date; i_data&=0xf0;//先传送高四位,屏弊低四位 for(i=0;i<8;i++) { SID=(bit)(i_data&0x80); SCLK=0; SCLK=1; i_data<<=1; } i_data=date; i_data<<=4; //将低四位移向高四位并传送 for(i=0;i<8;i++) { SID=(bit)(i_data&0x80); SCLK=0; SCLK=1; i_data<<=1; } // CS=0; } break; case1: {uchari; uchari_data; i_data=0xfa; // CS=1; SCLK=0; for(i=0;i<8;i++) { SID=(bit)(i_data&0x80); SCLK=0; SCLK=1; i_data<<=1; } i_data=date; i_data&=0xf0;//先传送高四位,屏弊低四位 for(i=0;i<8;i++) { SID=(bit)(i_data&0x80); SCLK=0;//给一个脉冲 SCLK=1; i_data<<=1; } i_data=date; i_data<<=4; //将低四位移向高四位并传送 for(i=0;i<8;i++) { SID=(bit)(i_data&0x80); SCLK=0; SCLK=1; i_data<<=1; } // CS=0; } break; }} /***********************************************************************/ /*图形显示清屏*/ /*************************************************************************/ voidclear_lcd() { for(k=0;k<2;k++) {for(i=0;i<32;i++)//{write_lcd((0x80+i),0);//SET垂直地址VERTICALADD 高度if(!k) write_lcd(0x80,0); else write_lcd(0x88,0);//SET水平地址HORIZONTALADD宽 首地址 for(j=0;j<16;j++) //共左向右共十条竖线write_lcd(0x00,1); //线宽四位二进制表示 } } }/******************************************************************//*液晶初始化-字库*//******************************************************************/voidlcd_init1(){ write_lcd(0x30,0);write_lcd(0x30,0); //基本指令集 write_lcd(0x06,0);//显示右移一位w