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

📄 lcd_init.h

📁 PIC单片机 液晶 组成的万年历
💻 H
📖 第 1 页 / 共 2 页
字号:
	SetColumn(column);                       //设置起始列
	SetLine(line);                           //设置行
	for(i=0;i<8;i++)
	{
		if(column>=64)                       //如果列>=64,则选通右屏
		{
			SlectScreen(2);
			column=column%64;                //设置右屏起始列
			SetColumn(column);
			SetLine(line);
		}	
		WriteData(*pt|0x01);                      //写数据
		*pt++;
		column++;
	}
	SlectScreen(1);
	SetLine(line+1);                         //设置汉字下半部分显示页
	column=column_temp;
	SetColumn(column);
	for(i=0;i<8;i++)
	{
		if(column>=64)
		{
			SlectScreen(2);
			column=column%64;
			SetColumn(column);
			SetLine(line+1);
		}	
		WriteData(*pt);
		*pt++;
		column++;
	}
}
/*-------------------------------------------------------*/

//显示一个16X32的字符
void Show16X32(unsigned char line,unsigned char column,const unsigned char *pt)
{
	unsigned char i,column_temp1,column_temp2,column_temp3;
	column_temp1=column;
	column_temp2=column;
	column_temp3=column;
	SlectScreen(1);                         //选通左屏
	SetColumn(column);                      //设置起始列
	SetLine(line);                          //设置行
	for(i=0;i<16;i++)
	{
		if(column>=64)                      //如果列>=64,则选通右屏
		{
			SlectScreen(2);
			column=column%64;               //设置右屏起始列
			SetColumn(column);
			SetLine(line);
		}	
		WriteData(*pt);                     //写数据
		*pt++;
		column++;
	}
	SlectScreen(1);
	SetLine(line+1);
	column=column_temp1;
	SetColumn(column);
	for(i=0;i<16;i++)
	{
		if(column>=64)
		{
			SlectScreen(2);
			column=column%64;
			SetColumn(column);
			SetLine(line+1);
		}	
		WriteData(*pt);
		*pt++;
		column++;
	}
	SlectScreen(1);
	SetLine(line+2);
	column=column_temp2;
	SetColumn(column);
	for(i=0;i<16;i++)
	{
		if(column>=64)
		{
			SlectScreen(2);
			column=column%64;
			SetColumn(column);
			SetLine(line+2);
		}	
		WriteData(*pt);
		*pt++;
		column++;
	}
	SlectScreen(1);
	SetLine(line+3);
	column=column_temp3;
	SetColumn(column);
	for(i=0;i<16;i++)
	{
		if(column>=64)
		{
			SlectScreen(2);
			column=column%64;
			SetColumn(column);
			SetLine(line+3);
		}	
		WriteData(*pt);
		*pt++;
		column++;
	}
}
/*-------------------------------------------------------*/

//LCD初始化子程序
void LCDinit()
{
	ADCON1=0x06;
	TRISA=0x00;
	TRISB=0x00;
	PORTB=0x00;
	SetOnOff(1);
}
/*----------------------------------------------------------*/

//调用LCD显示子程序
void ChangeToLCD(uch line,uch column,uch data)
{
	int D_ge,D_shi;
	
	D_ge=data%10;                           //取个位
	D_shi=data%100/10;                      //取十位
	
	switch(D_ge)
	{
		case 0:{Show8X16(line,column+8,s0);break;}
		case 1:{Show8X16(line,column+8,s1);break;}
		case 2:{Show8X16(line,column+8,s2);break;}
		case 3:{Show8X16(line,column+8,s3);break;}
		case 4:{Show8X16(line,column+8,s4);break;}
		case 5:{Show8X16(line,column+8,s5);break;}
		case 6:{Show8X16(line,column+8,s6);break;}
		case 7:{Show8X16(line,column+8,s7);break;}
		case 8:{Show8X16(line,column+8,s8);break;}
		case 9:{Show8X16(line,column+8,s9);break;}
	}
	switch(D_shi)
	{
		case 0:{Show8X16(line,column,s0);break;}
		case 1:{Show8X16(line,column,s1);break;}
		case 2:{Show8X16(line,column,s2);break;}
		case 3:{Show8X16(line,column,s3);break;}
		case 4:{Show8X16(line,column,s4);break;}
		case 5:{Show8X16(line,column,s5);break;}
		case 6:{Show8X16(line,column,s6);break;}
		case 7:{Show8X16(line,column,s7);break;}
		case 8:{Show8X16(line,column,s8);break;}
		case 9:{Show8X16(line,column,s9);break;}
	}	
}
/*-----------------------------------------------------------------*/

void ChangeToLCD2(uch line,uch column,uch data)//带上划线
{
	int D_ge,D_shi;
	
	D_ge=data%10;                           //取个位
	D_shi=data%100/10;                      //取十位
	
	switch(D_ge)
	{
		case 0:{Show8X16_2(line,column+8,s0);break;}
		case 1:{Show8X16_2(line,column+8,s1);break;}
		case 2:{Show8X16_2(line,column+8,s2);break;}
		case 3:{Show8X16_2(line,column+8,s3);break;}
		case 4:{Show8X16_2(line,column+8,s4);break;}
		case 5:{Show8X16_2(line,column+8,s5);break;}
		case 6:{Show8X16_2(line,column+8,s6);break;}
		case 7:{Show8X16_2(line,column+8,s7);break;}
		case 8:{Show8X16_2(line,column+8,s8);break;}
		case 9:{Show8X16_2(line,column+8,s9);break;}
	}
	switch(D_shi)
	{
		case 0:{Show8X16_2(line,column,s0);break;}
		case 1:{Show8X16_2(line,column,s1);break;}
		case 2:{Show8X16_2(line,column,s2);break;}
		case 3:{Show8X16_2(line,column,s3);break;}
		case 4:{Show8X16_2(line,column,s4);break;}
		case 5:{Show8X16_2(line,column,s5);break;}
		case 6:{Show8X16_2(line,column,s6);break;}
		case 7:{Show8X16_2(line,column,s7);break;}
		case 8:{Show8X16_2(line,column,s8);break;}
		case 9:{Show8X16_2(line,column,s9);break;}
	}	
}
/*-----------------------------------------------------------------*/
void ChangeToLCD3(uch line,uch column,uch data)//带下划线
{
	int D_ge,D_shi;
	
	D_ge=data%10;                           //取个位
	D_shi=data%100/10;                      //取十位
	
	switch(D_ge)
	{
		case 0:{Show16X32(line,column+16,ss0);break;}
		case 1:{Show16X32(line,column+16,ss1);break;}
		case 2:{Show16X32(line,column+16,ss2);break;}
		case 3:{Show16X32(line,column+16,ss3);break;}
		case 4:{Show16X32(line,column+16,ss4);break;}
		case 5:{Show16X32(line,column+16,ss5);break;}
		case 6:{Show16X32(line,column+16,ss6);break;}
		case 7:{Show16X32(line,column+16,ss7);break;}
		case 8:{Show16X32(line,column+16,ss8);break;}
		case 9:{Show16X32(line,column+16,ss9);break;}
	}
	switch(D_shi)
	{
		case 0:{Show16X32(line,column,ss0);break;}
		case 1:{Show16X32(line,column,ss1);break;}
		case 2:{Show16X32(line,column,ss2);break;}
		case 3:{Show16X32(line,column,ss3);break;}
		case 4:{Show16X32(line,column,ss4);break;}
		case 5:{Show16X32(line,column,ss5);break;}
		case 6:{Show16X32(line,column,ss6);break;}
		case 7:{Show16X32(line,column,ss7);break;}
		case 8:{Show16X32(line,column,ss8);break;}
		case 9:{Show16X32(line,column,ss9);break;}
	}	
}
/*-----------------------------------------------------------------*/

void ChangeToLCD4(uch line,uch column,uch data)//星期转换
{                     
	switch(data)
	{
		case 1:{Show16X16_3(line,column,ri);break;}
		case 2:{Show16X16_3(line,column,yi);break;}
		case 3:{Show16X16_3(line,column,er);break;}
		case 4:{Show16X16_3(line,column,san);break;}
		case 5:{Show16X16_3(line,column,si);break;}
		case 6:{Show16X16_3(line,column,wu);break;}
		case 7:{Show16X16_3(line,column,liu);break;}
	}	
}
/*-----------------------------------------------------------------*/

void ChangeToLCD5(uch line,uch column,uch data)//生肖转换
{   
	data=data%12;                  
	switch(data)
	{
		case 0:{Show16X16_3(line,column,llong);break;}
		case 1:{Show16X16_3(line,column,she);break;}
		case 2:{Show16X16_3(line,column,ma);break;}
		case 3:{Show16X16_3(line,column,yang);break;}
		case 4:{Show16X16_3(line,column,hou);break;}
		case 5:{Show16X16_3(line,column,ji);break;}
		case 6:{Show16X16_3(line,column,gou);break;}
		case 7:{Show16X16_3(line,column,zhu);break;}
		case 8:{Show16X16_3(line,column,shu);break;}
		case 9:{Show16X16_3(line,column,niu);break;}
		case 10:{Show16X16_3(line,column,hu);break;}
		case 11:{Show16X16_3(line,column,tu);break;}
	}	
}
/*-----------------------------------------------------------------*/

void ChangeToLCD6(uch line,uch column,uch data)//阴历月转换
{   
	data=data%12;                  
	switch(data)
	{
		case 0:{Show16X16_2(line,column,zheng);break;}
		case 1:{Show16X16_2(line,column,er);break;}
		case 2:{Show16X16_2(line,column,san);break;}
		case 3:{Show16X16_2(line,column,si);break;}
		case 4:{Show16X16_2(line,column,wu);break;}
		case 5:{Show16X16_2(line,column,liu);break;}
		case 6:{Show16X16_2(line,column,qqi);break;}
		case 7:{Show16X16_2(line,column,ba);break;}
		case 8:{Show16X16_2(line,column,jiu);break;}
		case 9:{Show16X16_2(line,column,shi);break;}
		case 10:{Show16X16_2(line,column,shiyi);break;}
		case 11:{Show16X16_2(line,column,la);break;}
	}	
}
/*-----------------------------------------------------------------*/

void ChangeToLCD7(uch line,uch column,uch data)//阴历日
{   
	data=data%12;                  
	switch(data)
	{
		case 0:{Show16X16_2(line,column,yi);break;}
		case 1:{Show16X16_2(line,column,er);break;}
		case 2:{Show16X16_2(line,column,san);break;}
		case 3:{Show16X16_2(line,column,si);break;}
		case 4:{Show16X16_2(line,column,wu);break;}
		case 5:{Show16X16_2(line,column,liu);break;}
		case 6:{Show16X16_2(line,column,qqi);break;}
		case 7:{Show16X16_2(line,column,ba);break;}
		case 8:{Show16X16_2(line,column,jiu);break;}
		case 9:{Show16X16_2(line,column,shi);break;}
	}	
}
/*-----------------------------------------------------------------*/

void ChangeToLCD8(uch line,uch column,uch data)//阴历日十位
{   
	data=data%3;                  
	switch(data)
	{
		case 0:{Show16X16_2(line,column,chu);break;}
		case 1:{Show16X16_2(line,column,er);break;}
		case 2:{Show16X16_2(line,column,san);break;}
	}	
}
/*-----------------------------------------------------------------*/

⌨️ 快捷键说明

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