⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12864.h

📁 128*64串行输入数据!希望能给大家提供帮助!
💻 H
字号:
#define _12864_h
#define uint unsigned int
#define uchar unsigned char
sbit RST=P1^4;
sbit E=P0^3;
sbit RW=P0^4;
sbit RS=P0^5;
sbit CS1=P0^7;
sbit CS2=P0^6;

void delay1(uint k)  //延时函数
{
 while(k!=0) k--;
}


void reset(void)   //复位
{
 RST=0;    //低电平复位
 delay1(200);
 RST=1;
 delay1(200);
}


void lcd_busy(void)  //忙碌检测
{
 uchar key;
 P3=0xff;
 while(1)
 {
  RS=0;//命令
  RW=1;//读
  E=1;   //使能
  key=P3;   //禁能
  if((key&0x80)==0x00)break;
  E=0;
  }
E=0;
}

/*写指令*/
void WRcom(uchar c,uchar cs1,uchar cs2)
{
 CS1=cs1;    //左半屏幕
 CS2=cs2;    //右半屏幕
 lcd_busy();
 RS=0;    //指令
 RW=0;   //写
 P3=c;
 delay1(10);
 E=1;
 delay1(10);
 E=0;
}

/*写数据*/

void WRdata(uchar c,uchar cs1,uchar cs2)
{
 CS1=cs1;
 CS2=cs2;
 lcd_busy();
 RS=1;  //数据
 RW=0;   //写
 P3=c;
 delay1(10);
 E=1;
 delay1(10);
 E=0;
}

/*设置起始行*/
void set_startline(uchar i)
{
 i=0xc0+i;
 WRcom(i,1,1);
}

/*设置页值,设置列值*/
void set_adr(uchar x,uchar y)
{
 x=x+0xb8;     //8行为一页,共为8页 ,即为64行
 y=y+0x40;     //共有128列
 WRcom(x,1,1);
 WRcom(y,1,1);
}

/*开/关显示函数*/
void dison_off(uchar o)
{
 o=o+0x3e;
 WRcom(o,1,1);
}

/*清屏函数*/
void clear(void)
{
 uchar i,loop;
  for(i=0;i<8;i++)
 {
  set_adr(i,0); //设置页,从零列开始
  for(loop=0;loop<64;loop++)
  {
   WRdata(0x00,1,1);   //左右半屏都清零
  }
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -