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

📄 lcd12032.c

📁 单片机51环境下的字库代码122*32点阵的液晶显示
💻 C
字号:
#include "AT89X51.H"
int code MAXCOL=60;							//单片LCD控制的列数

#define A0	P3_7							//控制信号线
#define RW	P3_6							//读写信号线
#define E1	P3_4							//主片片选线		
#define E2	P3_5							//从片片选线

void LCDWriteCom1(unsigned char com)
{
	bit flag;									//flag----LCD忙标志
	A0  =  0;									
	RW=1;
	do
	{	
		P0=0xff;
		E1=1;
		flag=P0_7;
		E1=0;
	}while(flag);
	RW=0;
	P0=com;
	E1=1;
	E1=0;
}
/*向主LCD写数据 	*/
void LCDWriteDat1(unsigned char dat)
{
	bit flag;
	A0  =  0;
	RW=1;
	do
	{
		P0=0xff;
		E1=1;
		flag=P0_7;
		E1=0;
	}while(flag);		
	A0=1;
	RW=0;
	P0=dat;
	E1=1;
	E1=0;
}
unsigned char LCDReadDat1()
{
	bit flag;
	unsigned char dat;
	A0  =  0;
	RW=1;
	do
	{
		P0=0xff;
		E1=1;
		flag=P0_7;		
		E1=0;										
	}while(flag);
	E1 = 1;
	A0=1;
	RW=1;
	dat=P0;
	E1 = 0;

	RW=0;
	P0=0xff;
	RW=1;
	E1 = 1;
	dat=P0;
	E1=0;
	return dat;

}
/*向从LCD写命令 	*/
void LCDWriteCom2(unsigned char com)
{
	bit flag;
	A0  =  0;
	RW=1;
	do{
	
		P0=0xff;
		E2=1;
		flag=P0_7;
		E2=0;										

	}while(flag);
	RW=0;
	P0=com;
	E2=1;
	E2=0;
}
/*向从LCD写数据 	*/
void LCDWriteDat2(unsigned char dat)
{
	bit flag;
	A0  =  0;
	RW=1;
	do{
	
		P0=0xff;
		E2=1;
		flag=P0_7;
		E2=0;										

	}while(flag);		
	A0=1;
	RW=0;
	P0=dat;
	E2=1;
	E2=0;
}
unsigned char LCDReadDat2()
{
	bit flag;
	unsigned char dat;
	A0  =  0;
	RW=1;
	do{
	
		P0=0xff;
		E2=1;
		flag=P0_7;
		E2=0;										

	}while(flag);		
	E2 = 1;
	A0=1;
	RW=1;
	dat=P0;
	E2 = 0;

	RW=0;
	P0=0xff;
	RW=1;
	E2 = 1;
	dat=P0;
	E2=0;
	return dat;

}

⌨️ 快捷键说明

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