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

📄 lcd.c

📁 用C8051F020实现的基于TCP/IP协议的虚功率源。C8051F020外接LCD,键盘,USB接口
💻 C
📖 第 1 页 / 共 2 页
字号:
#include"lcd.h"
#include"..\config\function_declaration.h"

void lcd_init(void)
{
	LCD_REQ = 0;
	LCD_RESET = 0;
	delay(1);
	LCD_RESET = 1;
}

void lcd_clear(void)
{
	write_lcd(0xF4);
}

void interface_selftest(void)
{
	uchar code *p;
	p = selftest;
	display_eng(8,56,p,14);
}

void interface_main(void)
{	
	uchar code *p1;
	uchar idata *p2;

	p1 = main1;
	display_U(9,24);
	display_eng(11,24,p1,9);
	if(Line==1)
		{
			p1 = underline5;
			display_eng(13,24,p1,5);
			Cursor = 13;
		}
	else
		{
			p2 = value_u;
			display_eng(13,24,p2,5);
		}

	p1 = main2;
	display_I(9,40);
	display_eng(11,40,p1,9);
	if(Line==2)
		{
			p1 = underline5;
			display_eng(13,40,p1,5);
			Cursor = 13;
		}
	else
		{
			p2 = value_i;
			display_eng(13,40,p2,5);
		}

	p1 = main3;
	display_f(9,56);
	display_eng(11,56,p1,7);
	if(Line==3)
		{
			p1 = underline5;
			display_eng(13,56,p1,2);
			Cursor = 13;
		}
	else
		{
			p2 = value_f;
			display_eng(13,56,p2,2);
		}

	p1 = main4;
	display_fi(9,72);
	display_eng(11,72,p1,7);
	display_degree(18,72);
	if(Line==4)
		{
			p1 = underline5;
			display_eng(13,72,p1,5);
			Cursor = 13;
		}
	else
		{
			p2 = value_fi;
			display_eng(13,72,p2,5);
		}

	p1 = main5;
	display_P(9,88);
	display_eng(11,88,p1,9);
	p2 = value_p;
	display_eng(13,88,p2,5);

	display_U(28,0);
	display_I(28,32);
	display_f(28,80);
	display_fi(28,112);
}

void display_U(uchar xx,uchar yy)	//显示斜体的'U'
{
	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x01);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x02);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x03);
	write_lcd(0x1F);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x04);
	write_lcd(0x0C);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x05);
	write_lcd(0x0C);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x06);
	write_lcd(0x0C);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x07);
	write_lcd(0x18);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x08);
	write_lcd(0x18);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x09);
	write_lcd(0x18);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0A);
	write_lcd(0x31);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0B);
	write_lcd(0x31);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0C);
	write_lcd(0x33);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0D);
	write_lcd(0x3E);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0E);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0F);
	write_lcd(0x00);

	xx = xx+1;
	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x01);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x02);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x03);
	write_lcd(0x78);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x04);
	write_lcd(0x60);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x05);
	write_lcd(0x60);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x06);
	write_lcd(0x60);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x07);
	write_lcd(0xC0);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x08);
	write_lcd(0xC0);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x09);
	write_lcd(0xC0);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0A);
	write_lcd(0x80);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0B);
	write_lcd(0x80);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0C);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0D);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0E);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0F);
	write_lcd(0x00);
}

void display_I(uchar xx,uchar yy)	//显示斜体的'I'
{
	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x01);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x02);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x03);
	write_lcd(0x07);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x04);
	write_lcd(0x03);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x05);
	write_lcd(0x03);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x06);
	write_lcd(0x03);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x07);
	write_lcd(0x06);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x08);
	write_lcd(0x06);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x09);
	write_lcd(0x06);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0A);
	write_lcd(0x0C);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0B);
	write_lcd(0x0C);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0C);
	write_lcd(0x0C);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0D);
	write_lcd(0x7E);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0E);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0F);
	write_lcd(0x00);

	xx = xx+1;
	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x01);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x02);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x03);
	write_lcd(0xE0);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x04);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x05);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x06);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x07);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x08);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x09);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0A);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0B);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0C);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0D);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0E);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0F);
	write_lcd(0x00);
}

void display_f(uchar xx,uchar yy)	//显示斜体的'f'
{
	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x01);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x02);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x03);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x04);
	write_lcd(0x03);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x05);
	write_lcd(0x03);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x06);
	write_lcd(0x03);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x07);
	write_lcd(0x1F);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x08);
	write_lcd(0x06);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x09);
	write_lcd(0x06);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0A);
	write_lcd(0x0C);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0B);
	write_lcd(0x0C);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0C);
	write_lcd(0x0C);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0D);
	write_lcd(0x7E);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0E);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0F);
	write_lcd(0x00);

	xx = xx+1;
	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x01);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x02);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x03);
	write_lcd(0xF0);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x04);
	write_lcd(0xB0);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x05);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x06);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x07);
	write_lcd(0xC0);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x08);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x09);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0A);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0B);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0C);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0D);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0E);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x0F);
	write_lcd(0x00);
}

void display_fi(uchar xx,uchar yy)	//显示斜体的'fi'
{
	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x01);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x02);
	write_lcd(0x00);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x03);
	write_lcd(0x07);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x04);
	write_lcd(0x03);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x05);
	write_lcd(0x1F);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x06);
	write_lcd(0x33);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x07);
	write_lcd(0x66);

	write_lcd(0xF3);
	write_lcd(xx);
	write_lcd(yy + 0x08);
	write_lcd(0x66);

	write_lcd(0xF3);
	write_lcd(xx);

⌨️ 快捷键说明

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