12864显示汉字程序.docVIP

  • 12
  • 0
  • 约2.65千字
  • 约 4页
  • 2017-08-11 发布于浙江
  • 举报
12864显示汉字程序.doc

液晶TS12864-3驱动程序,可流水显示汉 #includereg52.h #define uchar unsigned char #define uint unsigned int #define DataPort P3 #define N 800 sbit E=P2^0; sbit RW=P2^1; sbit RS=P2^2; sbit PSB=P2^3; int num; uint i=0; uint l=0; uint b; uchar a[]=我爱我家0123456789abcdefg,!~_~; uchar d[]={0x98,0x90,0x88,0x80}; /**************延时1ms*count*****************/ void delay(int count) { int x,y; for(x=0;xcount;x++) for(y=0;y120;y++); } /**************延时1us***********************/ /*void delayuS(uchar buf) { while(buf--); }*/ /***********忙检测********************/ void Busy() { DataPort=0xFF; RS=0; RW=1; while (1) { E =1; if (P0^7==0) break; } E=0; } /***********写指令子程序****************/ void Write_Com(uchar command) { Busy(); //检测忙标志位 RS=0; RW=0; DataPort=command; //写入指令 E=1; delay(1); E=0; } /***********写数据子程序***************/ void Write_Data(uchar Data) { Busy(); RS=1; RW=0; DataPort=Data; E=1; delay(1); E=0; } /***********LCD初始化*******************/ void Init_LCD(void) { PSB=0; delay(1); PSB=1; //将PSB置1,通信方式为8位数据并口 delay(1); Write_Com(0x30);//30H--基本指令操作 Write_Com(0x0c);//开显示,关光标,不闪烁。 Write_Com(0x01);//清除显示 Write_Com(0x02); Write_Com(0x06);//指定在资料写入或读取时,光标的移动方向,DDRAM的地址计数器(AC)加1。 Write_Com(0x04);//显示状态 全关 } /*****************清屏***********************/ void Clear_LCD(void) { Write_Com(0x01); Write_Com(0x34); Write_Com(0x30); } /******************读地址*************************************/ /*void Read_Add(void) { //uchar add=0; DataPort=0xFF; RS=0; RW=1; Busy(); add=(DataPort|0x10)0xbf; //return(add); }*/ //读地址失败 /*****************判断行*******************/ /*void Line_Num(uchar k) { //uint l; if(k=128k=135)l=1; if(k135k=143) l=3; if(k143k=151) l=2; if(k151k=159) l=4; }*/ /*******************逐行显示***************************************/ void Display_Line(uchar x) { uchar c=0; c=x-0x1; //本函数说明,函数内部的计算公式一定要处在函数的首行 if(i==0) Write_Com(x); if(i==2*(0x87-c)) Write_Com(0x

文档评论(0)

1亿VIP精品文档

相关文档