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

📄 ocm4x8c串.h

📁 自动检测电容值
💻 H
字号:

#define x1    0x80
#define x2    0x88
#define y     0x80
#define comm  0
#define dat   1


sbit cs   = P1^5;
sbit std  = P1^6;
sbit sclk = P1^7;
//sbit psb  = P0^3;   //H=并口; L=串口;
//sbit rst  = P1^7;   //Reset Signal 低电平有效

//sbit  LDM_CS=P1^5;
//sbit  LCM_STD=P1^6;
//sbit  LDM_SCLK=P1^7;



void wr_lcd (uchar dat_comm,uchar content);
void delay (uint us);


/*------------------初始化-----------------*/
void init_lcd (void)
{
//  rst=1;
 // psb=0;
  wr_lcd (comm,0x30);  /*30---基本指令动作*/   
  wr_lcd (comm,0x01);  /*清屏,地址指针指向00H*/
  delay (100);
  wr_lcd (comm,0x06);  /*光标的移动方向*/
  wr_lcd (comm,0x0c);  /*开显示,关游标*/
}

/*---------------显示汉字或字符----------------
void chn_disp (uchar code *chn)
{
  uchar i,j;
  wr_lcd (comm,0x30);
  wr_lcd (comm,0x80);
  for (j=0;j<4;j++)
  {
    for (i=0;i<16;i++)
    wr_lcd (dat,chn[j*16+i]);
  }
} */
/*-----------上半屏显示汉字或字符------------
void chn_disp1 (uchar code *chn)
{
  uchar i,j;
  wr_lcd (comm,0x30);
  wr_lcd (comm,0x80);
  j=0;
  for (i=0;i<16;i++)
  wr_lcd (dat,chn[j*16+i]);
  wr_lcd (comm,0x90);
  j=1;
  for (i=0;i<16;i++)
  wr_lcd (dat,chn[j*16+i]);
}*/  	  

/*-----------屏显示全半角字符------------
void chn_disp2 (uchar *chn, uchar DATA, uchar ii)
{
  uchar i;
  wr_lcd (comm,0x30);
  wr_lcd (comm,DATA);
  for (i=0;i<(ii*2);i++) wr_lcd (dat,chn[i]);
  
}*/
/*-----------屏显示全半角字符------------*/
void chn_disp3 (uchar *chn, uchar DATA)
{
  uchar i;
  wr_lcd (comm,0x30);
  wr_lcd (comm,DATA);
  for (i=0;(i<16)&&(chn[i]!='\n');i++) wr_lcd (dat,chn[i]);
  
}




/*-----------屏显示半角字符------------
void chn_disp3 (uchar *chn, uchar DATA, uchar ii)
{
  uchar i;
  wr_lcd (comm,0x30);
  wr_lcd (comm,DATA);
  for (i=0;i<ii;i++) wr_lcd (dat,chn[i]);
  
}*/

/*-----------连续显示------------
void LcdPrint(char * DisBuf)
{
	uchar CurrentX,CurrentY;
	 
	code unsigned char Line[]={0x80,0x90,0x88,0x98}; 
	char kk=0;
	wr_lcd(comm,0x30);
	while(DisBuf[kk])
	{
		if(DisBuf[kk]=='\n'||CurrentX>=16)
		{
			CurrentX=0;
			CurrentY++;
			if(CurrentY<4) wr_lcd(comm,Line[CurrentY]);
		}
		else
		{	 */
/*			if(CurrentY>=4)
			{
				if(!NgLed)
				{
					while(keyWait(1));
//					Next=0;Stop=0;
					LcdClear();
				}
			}	*/	/*
			wr_lcd(dat,DisBuf[kk]);
			CurrentX++;
		}
	 	kk++;
	}
	return;
}  */




/*----------------显示图形-----------------
void img_disp (uchar code *img)
{
  uchar i,j;
  for(j=0;j<32;j++)
  {
    for(i=0;i<8;i++)
    {
      wr_lcd (comm,0x34);
      wr_lcd (comm,y+j);
      wr_lcd (comm,x1+i);
      wr_lcd (comm,0x30);
      wr_lcd (dat,img[j*16+i*2]);
      wr_lcd (dat,img[j*16+i*2+1]);
    }
  }
  for(j=32;j<64;j++)
  {
    for(i=0;i<8;i++)
    {
      wr_lcd (comm,0x34);
      wr_lcd (comm,y+j-32);
      wr_lcd (comm,x2+i);
      wr_lcd (comm,0x30);
      wr_lcd (dat,img[j*16+i*2]);
      wr_lcd (dat,img[j*16+i*2+1]);
    }
  }
  wr_lcd (comm,0x36);
}	*/
/*-------------下半屏显示图形--------------
void img_disp1 (uchar code *img)
{
  uchar i,j;
  for(j=0;j<32;j++)
  {
    for(i=0;i<8;i++)
    {
      wr_lcd (comm,0x34);
      wr_lcd (comm,y+j);
      wr_lcd (comm,x2+i);
      wr_lcd (comm,0x30);
      wr_lcd (dat,img[j*16+i*2]);
      wr_lcd (dat,img[j*16+i*2+1]);
    }
  }
  wr_lcd (comm,0x36);
}	*/
/*--------------显示点阵----------------
void lat_disp (uchar data1,uchar data2)
{
  uchar i,j,k,x;
  x=x1;
  for(k=0;k<2;k++)
  {
    for(j=0;j<16;j++)
    {
      for(i=0;i<8;i++)
      {
        wr_lcd (comm,0x34);
        wr_lcd (comm,y+j*2);
        wr_lcd (comm,x+i);
        wr_lcd (comm,0x30);
        wr_lcd (dat,data1);
        wr_lcd (dat,data1);
      }
      for(i=0;i<8;i++)
      {
        wr_lcd (comm,0x34);
        wr_lcd (comm,y+j*2+1);
        wr_lcd (comm,x+i);
        wr_lcd (comm,0x30);
        wr_lcd (dat,data2);
        wr_lcd (dat,data2);
      }
    }
    x=x2;
  }
  wr_lcd (comm,0x36);
}*/	
/*-----------------------------------------------
//当data1=0xff,data2=0xff时,在x0,y0处反白显示16xl*yl.
void con_disp (uchar data1,uchar data2,uchar x0,uchar y0,uchar xl,uchar yl)
{
  uchar i,j;
  for(j=0;j<yl;j++)
  {
    for(i=0;i<xl;i++)
    {
      wr_lcd (comm,0x34);
      wr_lcd (comm,y0+j);
      wr_lcd (comm,x0+i);
      wr_lcd (comm,0x30);
      wr_lcd (dat,data1);
      wr_lcd (dat,data2);
    }
  }
  wr_lcd (comm,0x36);
} */
/*--------------清DDRAM------------------ */
void clrram (void)
{
  wr_lcd (comm,0x30);
  wr_lcd (comm,0x01);
  delay (180);
}	
/*---------------------------------------*/
void wr_lcd (uchar dat_comm,uchar content)
{
  uchar a,i,j;
  delay (50);
  a=content;
  cs=1;
  sclk=0;
  std=1;
  for(i=0;i<5;i++)
  {
    sclk=1;
    sclk=0;
  }
  std=0;
  sclk=1;
  sclk=0;
  if(dat_comm)
    std=1;   //data
  else
    std=0;   //command
  sclk=1;
  sclk=0;
  std=0;
  sclk=1;
  sclk=0;
  for(j=0;j<2;j++)
  {
    for(i=0;i<4;i++)
    {
      a=a<<1;
      std=CY;
      sclk=1;
      sclk=0;
    }
    std=0;
    for(i=0;i<4;i++)
    {
      sclk=1;
      sclk=0;
    }
  }
}
/*-----------------------------------*/
void delay (uint us)   //delay time
{
  while(us--);
}
/*
void delay1 (uint ms)
{
  uint i,j;
  for(i=0;i<ms;i++)
  for(j=0;j<15;j++)
  delay(1);
} */

⌨️ 快捷键说明

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