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

📄 yejing.c

📁 16*2液晶显示驱动程序
💻 C
字号:
#include"yejing.h"

void Setb_E(void)
{
	P25=0;
	P26=1;
	P27=0;
}

void Clr_E(void)
{
	P25=1;
	P26=1;
	P27=1;
}

void LCDWR(uchar n)
{
	RW=0;
	Setb_E();
	P0=n;
	Clr_E();
}

uchar LCDRD()
{
	uchar value;
	RW=1;
	P0=0xff;
	Setb_E();
	Setb_E();
	Setb_E();
	Setb_E();
	value=P0;
	Clr_E();
	return value;
}

bit busy()
{	
	RS=0;
	ACC=LCDRD();
	return A7;
}

void CmdWR(uchar v,bit flag)
{
	if(flag)
		while(busy());
	RS=0;	
	LCDWR(v);
}

void DataWR(uchar v)
{
	while(busy());
	RS=1;
	LCDWR(v);
}


void Del1MS()
{
	uint i=1000;
	while(i--);
}
void delay(uint u)
{
	while(u--)
		Del1MS();
}

void LCDInit(void)
{
	delay(400);
	CmdWR(0x38,0);
	delay(5);
	CmdWR(0x38,0);
	delay(5);
	CmdWR(0x38,0);
	delay(5);
	CmdWR(0x38,1);
	delay(5);
	CmdWR(0x08,1);
	delay(5);
	CmdWR(0x01,1);
	delay(5);
	CmdWR(0x06,1);
	delay(5);
	CmdWR(0x0c,1);
}

void LocateXY(uchar x,bit y)
{
	uchar addr;
	addr=x&0x0f;
	if(y)
		addr|=0x40;
	addr|=0x80;
	CmdWR(addr,1);
}

void PutChar(uchar x,bit y,char p)
{
	LocateXY(x,y);
	DataWR(p);
}

void PutStr(uchar x,bit y,char *s)
{
	
	while(*(++s)>=31)
	{		
		PutChar(x++,y,69);
		if(x>=16)
		{
			x=0;
			y^=1;
		}
	}
}

⌨️ 快捷键说明

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