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

📄 1.c

📁 LCD1602.rar
💻 C
📖 第 1 页 / 共 2 页
字号:
	{
	P2=0xff;
	if (right==1)
		{
		P3=0x13;
		while(!busy);
		}
	if (right==0)
		{
		P3=0x0b;
		while(!busy);
		}
	}

void cmd_w(char cmd,char right)
	{
	busy_check(right);
	if (right==1)
		{
		P3=0x10;
		}
	if (right==0)
		{
		P3=0x08;
		P3=0x08;
		}
	P2=cmd;
	pulse();
	}

void data_w(char dat,char right)
	{
	busy_check(right);
	if (right==1)
		{
		P3=0x14;
		}
	if (right==0)
		{
		P3=0x0c;
		}
	P2=dat;
	pulse();
	}

void lcd_init()
	{
	unsigned int i;
	cmd_w(0x3e+1,0);//显示开关
	cmd_w(0xc0+0,0);//修改显示起始行
	cmd_w(0xb8+0,0);//修改页地址
	cmd_w(0x40+0,0);//修改列地址
	cmd_w(0x3e+1,1);
	cmd_w(0xc0+0,1);
	cmd_w(0xb8+0,1);
	cmd_w(0x40+0,1);
	for(i=0;i<256;i++)
		{
		data_w(0x00,0);
		}

	cmd_w(0xb8+4,0);
	cmd_w(0x40+8,0);
	for(i=0;i<256;i++)
		{
		data_w(0x00,0);
		}

	for(i=0;i<256;i++)
		{
		data_w(0x00,1);
		}

	cmd_w(0xb8+4,1);
	cmd_w(0x40+8,1);
	for(i=0;i<256;i++)
		{
		data_w(0x00,1);
		}
	}

char chang(char a)
	{
	char temp,i;
	for(i=0;i<8;i++)
		{
		temp<<=1;
		temp|=(a&0x01);
		a>>=1;
		}
	return(temp);
	}

void hanzi_w(char hang,char lie,char zhi[32])
	{
	unsigned char i;
	if(lie<4)
		{
		cmd_w(0xb8+2*hang,0);
		cmd_w(0x40+16*lie,0);
		for(i=0;i<32;i+=2)
			data_w(chang(zhi[i]),0);
		}
	else
		{
		cmd_w(0xb8+2*hang,1);
		cmd_w(0x40+16*(lie-4),1);
		for(i=0;i<32;i+=2)
			data_w(chang(zhi[i]),1);
		}
	if(lie<4)
		{
		cmd_w(0xb8+2*hang+1,0);
		cmd_w(0x40+16*lie,0);
		for(i=1;i<32;i+=2)
			data_w(chang(zhi[i]),0);
		}
	else
		{
		cmd_w(0xb8+2*hang+1,1);
		cmd_w(0x40+16*(lie-4),1);
		for(i=1;i<32;i+=2)
			data_w(chang(zhi[i]),1);
		}
	}

void zifu_w(char hang,char lie,char zhi[8])
	{
	unsigned char i;
	if(lie<8)
		{
		cmd_w(0xb8+hang,0);
		cmd_w(0x40+8*lie,0);
		for(i=0;i<5;i++)
			data_w(chang(zhi[i]),0);
		}
	else
		{
		cmd_w(0xb8+hang,1);
		cmd_w(0x40+8*(lie-8),1);
		for(i=0;i<5;i++)
			data_w(chang(zhi[i]),1);
		}
	}

void bmp_w(char a[])
	{
	unsigned int i;
	cmd_w(0xb8+0,0);//修改页地址
	cmd_w(0x40+0,0);//修改列地址
	for(i=0;i<64;i++)
		{
		data_w(chang(a[i]),0);
		}
	cmd_w(0xb8+0,1);
	cmd_w(0x40+0,1);
	for(i=64;i<128;i++)
		{
		data_w(chang(a[i]),1);
		}
	cmd_w(0xb8+1,0);
	cmd_w(0x40+0,0);
	for(i=128;i<192;i++)
		{
		data_w(chang(a[i]),0);
		}
	cmd_w(0xb8+1,1);
	cmd_w(0x40+0,1);
	for(i=192;i<256;i++)
		{
		data_w(chang(a[i]),1);
		}
	cmd_w(0xb8+2,0);
	cmd_w(0x40+0,0);
	for(i=256;i<320;i++)
		{
		data_w(chang(a[i]),0);
		}
	cmd_w(0xb8+2,1);
	cmd_w(0x40+0,1);
	for(i=320;i<384;i++)
		{
		data_w(chang(a[i]),1);
		}
	cmd_w(0xb8+3,0);//修改页地址
	cmd_w(0x40+0,0);//修改列地址
	for(i=384;i<448;i++)
		{
		data_w(chang(a[i]),0);
		}
	cmd_w(0xb8+3,1);
	cmd_w(0x40+0,1);
	for(i=448;i<512;i++)
		{
		data_w(chang(a[i]),1);
		}
	cmd_w(0xb8+4,0);
	cmd_w(0x40+0,0);
	for(i=512;i<576;i++)
		{
		data_w(chang(a[i]),0);
		}
	cmd_w(0xb8+4,1);
	cmd_w(0x40+0,1);
	for(i=576;i<640;i++)
		{
		data_w(chang(a[i]),1);
		}
	cmd_w(0xb8+5,0);
	cmd_w(0x40+0,0);
	for(i=640;i<704;i++)
		{
		data_w(chang(a[i]),0);
		}
	cmd_w(0xb8+5,1);
	cmd_w(0x40+0,1);
	for(i=704;i<768;i++)
		{
		data_w(chang(a[i]),1);
		}
	cmd_w(0xb8+6,0);
	cmd_w(0x40+0,0);
	for(i=768;i<832;i++)
		{
		data_w(chang(a[i]),0);
		}
	cmd_w(0xb8+6,1);
	cmd_w(0x40+0,1);
	for(i=832;i<896;i++)
		{
		data_w(chang(a[i]),1);
		}
	cmd_w(0xb8+7,0);
	cmd_w(0x40+0,0);
	for(i=896;i<960;i++)
		{
		data_w(chang(a[i]),0);
		}
	cmd_w(0xb8+7,1);
	cmd_w(0x40+0,1);
	for(i=960;i<1024;i++)
		{
		data_w(chang(a[i]),1);
		}
	}

void delay(unsigned char a)
	{
	unsigned char i,j;
	for(i=0;i<a;i++)
		for(j=0;j<200;j++)
			;
	}

void main()
	{
	lcd_init();
	bmp_w(nBitmapDot);
	while(1)
		{
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		bmp_w(nBitmapDot1);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		bmp_w(nBitmapDot);
		}
	}

⌨️ 快捷键说明

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