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

📄 lcd2x8cdriver.h

📁 液晶模块LCD2X8C驱动程序
💻 H
字号:
//LCD2X8C驱动程序
//LCD2X8CDriver.h

#define comm  0
#define dat   1

sbit LEDEN=P3^6;  //背光
//sbit LCD245DIR=P2^7;
sbit LCD245EN=P3^7;
/*------------------定义LCD控制端口-----------------*/
sbit rs = P1^3;   //H=data; L=command;
sbit rw = P1^4;   //H=read; L=write;
sbit lcde = P1^5;   //input enable;
sbit psb= P1^6;   //H=并口; L=串口;
sbit rst= P1^7;   //Reset Signal 低电平有效

/*--------------------------------------------------*/

/*------------------定义将显示的文字--------------------*/
/*--------直接输入文字即可,系统会自动编译为内码--------*/

uchar code rowpassword[]={"请输入密码:     "};



/*---------------------------------------*/
void wr_lcd (uchar dat_comm,uchar content)
{
  delay (100);
  LCD245EN=0;
  //LCD245DIR=1;
  if(dat_comm)
   {
    rs=1;   //data
    rw=0;   //write
   }
  else 
   {
    rs=0;   //command
    rw=0;   //write
   }
  P0=content;   //output data or comm
  lcde=1;
  ;
  lcde=0;
  LCD245EN=1;
}

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





/*---------------显示一行汉字或字符----------------*/
void LCD_display_a_row (uchar yy,uchar code *chn)
{
	uchar row,i;
	row=(yy-1)*16+0x80;
	wr_lcd (comm,0x30);
	wr_lcd (comm,row); 
	for (i=0;i<16;i++)
	wr_lcd (dat,chn[i]);
}
/*---------------在(xx,yy)位置显示一个汉字或两个字符(两个字节)----------------*/
void LCD_display_a_chn(uchar yy,uchar xx,uchar code *chn)
{//xx 从1到8,yy从1到2
	uchar coordinate;//坐标
	coordinate=0x80+(xx-1)+(yy-1)*16;
	wr_lcd (comm,0x30);
  	wr_lcd (comm,coordinate);
	wr_lcd (dat,chn[0]);
	wr_lcd (dat,chn[1]);
}

/*---------------在(xx,yy)位置显示一个字符----------------*/
void LCD_display_a_char(uchar yy,uchar xx,uchar code *chn)
{//xx 从1到8,yy从1到2
	uchar coordinate;//坐标
	coordinate=0x80+(xx-1)+(yy-1)*16;
	wr_lcd (comm,0x30);
  	wr_lcd (comm,coordinate);
	wr_lcd (dat,chn[0]);
}

/*---------------全屏显示汉字或字符-即,显示两行---------------
void LCD_display_a_screen (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]);
}
*/


/*------------清屏--清DDRAM------------------*/
void clrscreen(void)
{
	wr_lcd (comm,0x30);
	wr_lcd (comm,0x01);/*清屏,地址指针指向00H*/
}


/*--------------结束------------以下无--------------*/

⌨️ 快捷键说明

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