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

📄 lcd.c

📁 本人开发的测量水的浊度的仪器
💻 C
📖 第 1 页 / 共 3 页
字号:

	SEDA0 = 0;
	SEDRD = 0;
	P1 = 0xff;
	busy = P1&0x40;
	SEDRD = 1;

	return busy;
}
*/
/*
void writecmd(unsigned char cmd)
{
	P1=cmd;
	SEDA0=1;
	SEDWR=0;
	SEDWR=1;
}

void writedat(unsigned char dat)
{
	P1=dat;
	SEDA0=0;
	SEDWR=0;
	SEDWR=1;
}
*/
/*
unsigned char readdat()
{
	unsigned char dat;

	SEDA0=1;
	P1=0XFF;
	SEDRD=0;
	dat=P1;
	SEDRD=1;

	return dat;
}
*/
void clear(unsigned short addr)
{
	unsigned int i;
	writecmd(0x4c);   /// CSRDIR 代码 
	writecmd(0x46);   /// CSRW 代码 

	writedat(addr&0xff);   /// 设置参数光标指针低8位 
	writedat(addr>>8);   /// 设置参数光标指针高8位 
	writecmd(0x42);   /// MWRITE 代码 
	for(i=0;i<9600;i++)       ///清64K的显示存储器
	{
		writedat(0x00);     /// 写入数据 
	}
}
/*
void initcgram()
{
	unsigned char i,j;
	writecmd(0x5c);  /// CGRAMADR 代码 
	writedat(0x00);  /// 设置SAG=0x8000 
	writedat(0xc0);
	writecmd(0x46);  /// CSRW 代码 
	writedat(0x00);  /// 设置CSR=0x8400(字符代码=80H) 
	writedat(0xc4);
	writecmd(0x4c);  /// CSRDIR 代码 
	writecmd(0x42);  /// MWRITE 代码 
	for(j=0;j<4;j++)
	{
		for(i=0;i<32;i++)
		{
			writedat(font16[j][i]);  /// 写入字模数据 
		}
	}
}
*/
void delay(ushort dly)
{
	uchar i=0;

	while(dly--)
		while(--i);
}

void initlcd()
{
	SEDRST = 0;
	SEDCS = 0;
	delay(1);

	SEDRST = 1;
	delay(1);

	SEDDISP = 1;
	delay(1);
}

void initdisplay(SystemParam *pSysParam)
{
	writecmd(0x40);   /// SYSTEM SET代码 

	writedat(pSysParam->param);
	writedat(pSysParam->fx);
	writedat(pSysParam->fy);
	writedat(pSysParam->cr);
	writedat(pSysParam->tcr);
	writedat(pSysParam->lf);
	writedat(pSysParam->apl);
	writedat(pSysParam->aph);
}
/*
void sleepin()
{
	writecmd(0x53);
}
*/
void setdisplayon(bit bdisplay,unsigned char mode)
{
	if(bdisplay)
	{
		writecmd(0x59);
	}
	else
	{
		writecmd(0x58);
	}
	writedat(mode);
}

void setdisplayparam(DisplayParam *pDispParam)
{
	writecmd(0x44);   

	writedat(pDispParam->saddr1lo);   
	writedat(pDispParam->saddr1hi);   
	writedat(pDispParam->sl1);   
	writedat(pDispParam->saddr2lo);   
	writedat(pDispParam->saddr2hi);   
	writedat(pDispParam->sl2);   
	writedat(pDispParam->saddr3lo);   
	writedat(pDispParam->saddr3hi);   
	writedat(pDispParam->saddr4lo);   
	writedat(pDispParam->saddr4hi);   
}

void setcursorform(bit mode,unsigned char crx,unsigned char cry)
{
	writecmd(0x5d);
	writedat(crx);

	cry &= 0x0f;
	if(mode)
	{
		writedat(0x80|cry);
	}
	else
	{
		writedat(0x7f&cry);
	}
}

void setcursordirection(CursorDirection csrdrt)
{
	writecmd(csrdrt);
}

//mode 0 0 0 OV DM2 DM1 MX1 MX0
void setoverlay(unsigned char mode)
{
	writecmd(0x5b);
	writedat(mode);
}
/*
void setcgramaddr(unsigned short addr)
{
	writecmd(0x50);
	writedat(addr&0xff);
	writedat((addr>>8)&0xff);
}
*/
//dot 0 0 0 0 0 D
void sethdot(unsigned char dot)
{
	writecmd(0x5a);
	writedat(dot);
}

void setcursoraddr(unsigned short cursoraddr)
{
	writecmd(0x46);
	writedat(cursoraddr&0xff);
	writedat((cursoraddr>>8)&0xff);
}
/*
unsigned short readcursoraddr()
{
	unsigned short addr;

	writecmd(0x47);
	addr |= readdat();
	addr <<= 8;
	addr |= readdat();

	return addr;
}
*/
/*
void writedispram(unsigned char *pdat,unsigned short len)
{
	writecmd(0x42);

	while(len--)
		writedat(*pdat++);
}
*/
/*
void readdispram(unsigned char *pdat,unsigned short len)
{
	writecmd(0x43);

	while(len--)
		*pdat = readdat();
}
*/
/*
void printchar8(unsigned short addr,unsigned char ch)
{
	unsigned char i,j,idx;

	idx = 0xff;
	for(i=0;i<sizeof(font8)/sizeof(Font8);i++)

⌨️ 快捷键说明

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