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

📄 pattern_show.c

📁 可以对UC1697V的进行连续烧录
💻 C
字号:
#include "Main.H"
#include "Time_Mode.H"
#include "Pattern_Show.H"
#include "Pitcure.H"
#include "absacc.h"

tByte RGB_Red_H			=	0xf8;//0xf0;
tByte RGB_Red_L			=	0x00;
tByte RGB_Green_H		=	0x07;//0x0f;
tByte RGB_Green_L		=	0xe0;//0x00;
tByte RGB_Blue_H		=	0x00;
tByte RGB_Blue_L		=	0x1f; //0xf0
tByte RGB_White_H		=	0xff;
tByte RGB_White_L		=	0xff;
tByte RGB_Black_H		=	0x00;
tByte RGB_Black_L		=	0x00;
tByte RGB_Pink_H		=	0xf8;
tByte RGB_Pink_L		=	0x1f;
tByte RGB_LightBlue_H	=	0x07;
tByte RGB_LightBlue_L	=	0xff;
tByte RGB_Yellow_H		=	0xff;
tByte RGB_Yellow_L		=	0xe0;
tByte RGB_Frame_H,RGB_Frame_L;
tByte RGB_Block_H,RGB_Block_L;
tByte ColorBAR_Data_H;
tByte ColorBAR_Data_L;

void RGB_Pattern_Main()
{
	tByte i,j;

	Window_Main();

	for(i=0;i<1;i++)				
	{		
		for(j=0;j<128;j++)			
		{
			WriteState_Main(RGB_Frame_H,RGB_Frame_L);
		}
	}
	for(i=1;i<127;i++)
	{
		for(j=0;j<1;j++)
		{
			WriteState_Main(RGB_Frame_H,RGB_Frame_L);
		}
		for(j=1;j<127;j++)
		{
			WriteState_Main(RGB_Block_H,RGB_Block_L);
		}
		for(j=127;j<128;j++)
		{
			WriteState_Main(RGB_Frame_H,RGB_Frame_L);
		}
	}
	for(i=127;i<128;i++)
	{		
		for(j=0;j<128;j++)
		{
			WriteState_Main(RGB_Frame_H,RGB_Frame_L);
		}
	}
}

void RGB_Pattern_Show()
{
	tByte i;

	for(i=0;i<5;i++)
	{
		switch (i)
		{
			case 0:        				// RED
					RGB_Frame_H=RGB_Green_H;
					RGB_Frame_L=RGB_Green_L;
					RGB_Block_H=RGB_Red_H;
					RGB_Block_L=RGB_Red_L;
					RGB_Pattern_Main();
					break;
			case 1:						// GREEN
					RGB_Frame_H=RGB_Blue_H;
					RGB_Frame_L=RGB_Blue_L;
					RGB_Block_H=RGB_Green_H;
					RGB_Block_L=RGB_Green_L;
					RGB_Pattern_Main();
					break;
			case 2:						// BLUE
					RGB_Frame_H=RGB_Red_H;
					RGB_Frame_L=RGB_Red_L;
					RGB_Block_H=RGB_Blue_H;
					RGB_Block_L=RGB_Blue_L;
					RGB_Pattern_Main();
					break;
			case 3:						// WHITE
					RGB_Frame_H=RGB_Black_H;
					RGB_Frame_L=RGB_Black_L;
					RGB_Block_H=RGB_White_H;
					RGB_Block_L=RGB_White_L;
					RGB_Pattern_Main();
					break;
			case 4:						// BLACK
					RGB_Frame_H=RGB_White_H;
					RGB_Frame_L=RGB_White_L;
					RGB_Block_H=RGB_Black_H;
					RGB_Block_L=RGB_Black_L;
					RGB_Pattern_Main();
					break;
			default:
					break;
		}
		Press();
	}					
}

void Other_Pattern_Show()
{
	tByte s,i,j;
	
	for(s=0;s<3;s++)
	{
		Window_Main();	
		switch (s)
		{
			case 0:									// Row Line Pattern
					for(i=0;i<64;i++)
					{
						for(j=0;j<128;j++)
						{
							WriteState_Main(RGB_White_H,RGB_White_L);
						}
						for(j=0;j<128;j++)
						{
							WriteState_Main(RGB_Black_H,RGB_Black_L);
						}
					}
					break;
			case 1:									// Column Line Pattern
					for(i=0;i<128;i++)
					{
						for(j=0;j<64;j++)
						{
							WriteState_Main(RGB_White_H,RGB_White_L);
							WriteState_Main(RGB_Black_H,RGB_Black_L);
						}
					}
					break;
			case 2:									// Dot Pattern
					for(i=0;i<64;i++)
					{
						for(j=0;j<64;j++)
						{
							WriteState_Main(RGB_White_H,RGB_White_L);
							WriteState_Main(RGB_Black_H,RGB_Black_L);
						}
						for(j=0;j<64;j++)
						{
							WriteState_Main(RGB_Black_H,RGB_Black_L);
							WriteState_Main(RGB_White_H,RGB_White_L);
						}
					}
					break;
			default:
					break;
		}
		Press();		
	}
}


void ColorBAR_Pattern_Main_Show()
{
	tByte i,j;
	tByte number;
	
	Window_Main();	

	for(i=0;i<128;i++)
	{

		for(number=0;number<8;number++)
		{
			switch(number)
			{
				case 0:
						ColorBAR_Data_H=RGB_Green_H;
						ColorBAR_Data_L=RGB_Green_L;
						break;
				case 1:
						ColorBAR_Data_H=RGB_Blue_H;
						ColorBAR_Data_L=RGB_Blue_L;
						break;
				case 2:
						ColorBAR_Data_H=RGB_Black_H;
						ColorBAR_Data_L=RGB_Black_L;
						break;
				case 3:
						ColorBAR_Data_H=RGB_White_H;
						ColorBAR_Data_L=RGB_White_L;
						break;
				case 4:
						ColorBAR_Data_H=RGB_Pink_H;
						ColorBAR_Data_L=RGB_Pink_L;
						break;
				case 5:
						ColorBAR_Data_H=RGB_LightBlue_H;
						ColorBAR_Data_L=RGB_LightBlue_L;
						break;
				case 6:
						ColorBAR_Data_H=RGB_Red_H;
						ColorBAR_Data_L=RGB_Red_L;
						break;
				case 7:
			            ColorBAR_Data_H=RGB_Yellow_H;
			            ColorBAR_Data_L=RGB_Yellow_L;
						break;
				default:
						break;
			}

			for(j=0;j<16;j++)
			{
				WriteState_Main(ColorBAR_Data_H,ColorBAR_Data_L);
			}
		}

	}
}

void Gray_Pattern_Main_Show()
{
	tByte i,j,k;
    tByte x,y;

	Window_Main();

//==========================================================
//						16 Level Gray Black
//==========================================================
 	for(i=0;i<64;i++)
    {
	//	for(j=0;j<1;j++)
//		{
//			WriteState_Main(0x00,0x00);
//		}

		x=0;
		y=1;
		for(j=0;j<16;j++)
    	{   
        	for(k=0;k<8;k++)
			{
				WriteState_Main(Gray[x],Gray[y]);
			}
			x=x+2;
        	y=y+2;
    	}

//		for(j=0;j<1;j++)
//		{
//			WriteState_Main(0xff,0xff);
//		}
    }
//==========================================================
//						1st Black
//==========================================================
	for(i=64;i<77;i++)
	{
		for(j=0;j<64;j++)
		{
			WriteState_Main(0xff,0xff);	
		}
		for(j=64;j<128;j++)
		{
			WriteState_Main(0x00,0x00);	
		}
	}
//==========================================================
//						2nd Black
//==========================================================
	for(i=77;i<116;i++)
	{
		for(j=0;j<11;j++)
		{
			WriteState_Main(0xff,0xff);	
		}
		for(j=11;j<50;j++)
		{
			WriteState_Main(0xef,0x7d);	
		}
		for(j=50;j<64;j++)
		{
			WriteState_Main(0xff,0xff);
		}
		for(j=64;j<76;j++)
		{
			WriteState_Main(0x00,0x00);	
		}
		for(j=76;j<115;j++)
		{
			WriteState_Main(0x10,0x82);	
		}
		for(j=115;j<128;j++)
		{
			WriteState_Main(0x00,0x00);
		}
	}
//==========================================================
//						3st Black
//==========================================================
	for(i=116;i<128;i++)
	{
		for(j=0;j<64;j++)
		{
			WriteState_Main(0xff,0xff);	
		}
		for(j=64;j<128;j++)
		{
			WriteState_Main(0x00,0x00);	
		}
	}
}

void Number_Pattern_Main_Show()
{
	tByte horizontal,vertical,loop;
	tWord arry_x,arry_y,arry_block=0;

	Window_Main();

//==========================================================
//						1st Number Block 
//==========================================================
	for (vertical=0;vertical<32;vertical++)
	{
		arry_block=0x20*vertical;
		for(loop=0;loop<8;loop++)
		{
			arry_x=0+arry_block;
			arry_y=1+arry_block;	
			for(horizontal=0;horizontal<16;horizontal++)
			{
				WriteState_Main(Number[arry_x],Number[arry_y]);
				arry_x=arry_x+2;
				arry_y=arry_y+2;
			}
		}
	//	for(horizontal=0;horizontal<2;horizontal++)
	//	{
	//		WriteState_Main(0xff,0xff);
	//	}
	}
//==========================================================
//						2nd Number Block 
//==========================================================
	for (vertical=0;vertical<32;vertical++)
	{
		arry_block=0x20*vertical;
		for(loop=0;loop<8;loop++)
		{
			if(loop<6)
			{
				arry_x=0+arry_block;
				arry_y=1+arry_block;	
				for(horizontal=0;horizontal<16;horizontal++)
				{
					WriteState_Main(Number[arry_x],Number[arry_y]);
					arry_x=arry_x+2;
					arry_y=arry_y+2;
				}
			}
			else if(6<loop<8)
			{
				for(horizontal=0;horizontal<16;horizontal++)
				{
					WriteState_Main(0xff,0xff);
				}
			}
		}
	//	for(horizontal=0;horizontal<2;horizontal++)
	//	{
	//		WriteState_Main(0xff,0xff);
	//	}
	}
//==========================================================
//						3st Number Block 
//==========================================================
	for (vertical=0;vertical<32;vertical++)
	{
		arry_block=0x20*vertical;
		for(loop=0;loop<8;loop++)
		{
			if(loop<4)
			{
				arry_x=0+arry_block;
				arry_y=1+arry_block;	
				for(horizontal=0;horizontal<16;horizontal++)
				{
					WriteState_Main(Number[arry_x],Number[arry_y]);
					arry_x=arry_x+2;
					arry_y=arry_y+2;
				}
			}
			else if(4<loop<8)
			{
				for(horizontal=0;horizontal<16;horizontal++)
				{
					WriteState_Main(0xff,0xff);
				}
			}
		}
	//	for(horizontal=0;horizontal<2;horizontal++)
	//	{
	//		WriteState_Main(0xff,0xff);
	//	}
	}
//==========================================================
//						4st Number Block 
//==========================================================
	for (vertical=0;vertical<32;vertical++)
	{
		arry_block=0x20*vertical;
		for(loop=0;loop<8;loop++)
		{
			if(loop<2)
			{
				arry_x=0+arry_block;
				arry_y=1+arry_block;	
				for(horizontal=0;horizontal<16;horizontal++)
				{
					WriteState_Main(Number[arry_x],Number[arry_y]);
					arry_x=arry_x+2;
					arry_y=arry_y+2;
				}
			}
			else if(2<loop<8)
			{
				for(horizontal=0;horizontal<16;horizontal++)
				{
					WriteState_Main(0xff,0xff);
				}
			}
		}
	//	for(horizontal=0;horizontal<2;horizontal++)
	//	{
	//		WriteState_Main(0xff,0xff);
	//	}
	}
//==========================================================
//						5st Number Block 
//==========================================================
	for (vertical=0;vertical<2;vertical++)
	{
		for(horizontal=0;horizontal<128;horizontal++)
		{
			WriteState_Main(0xff,0xff);
		}
	}
}

//==========================================================
//                       Show_Text
//==========================================================
void Lcd_DspAscII8X16(tWord x0, tWord y0, tWord ForeColor, tByte *s)
{
	tWord i,j,k,x,y,xx;
	tByte qm;
	tLong ulOffset;
	tByte ywbuf[32],temp[2];

	for(i = 0; i<strlen((const char*)s);i++)
	{
		if(((tByte)(*(s+i))) >= 161)
		{
			temp[0] = *(s+i);
			temp[1] = '\0';
			return;
		}
		else
		{
			qm = *(s+i);
	    	
            		ulOffset = (tLong)(qm) * 16;
            		for (j = 0; j < 16; j ++)
            		{
            			ywbuf[j]=g_auc_Ascii8x16[ulOffset+j];
             		}
            		for(y = 0;y < 16;y++)
            		{
	               		for(x=0;x<8;x++)
	               		{
                   			k=x % 8;
				       	if(ywbuf[y]&(0x80 >> k))
				       	{
				       		xx=x0+x+i*8;
				       		PutPixel(xx,y+y0,(tLong)ForeColor);
				       	}
			   	}
            		}
		   
         	}
     	}


}
//=======================================================

void PutPixel(tWord x,tWord y,tWord c)
{
   if(x<128 && y<128)
     {

#if 1

     WriteCOM_Main((0x0f&x));				//col	start
 	 WriteCOM_Main((0x07&(x>>4))|0x10); 	    //col start

	 WriteCOM_Main((0x0f&(y))|0x60);	     	//Row start
	 WriteCOM_Main((0x0f&((y)>>4))|0x70);  	//Row start

     WriteCOM_Main(0xf4);
     WriteCOM_Main(x);                  //y

     WriteCOM_Main(0xf5);  						//Row start        x
     WriteCOM_Main(y);  					//col start

     WriteCOM_Main(0xf6);
     WriteCOM_Main(x+8);

     WriteCOM_Main(0xf7);  						//Row End
     WriteCOM_Main(y+16);


     WriteCOM_Main(0xaf);

	 WriteDAT_Main(c>>8); 

     WriteDAT_Main(c);


#endif

#if	0

 WriteCOM_Main(0x2a);     //coloumn address set

 WriteDAT_Main(x);

 WriteDAT_Main(0x81);


 WriteCOM_Main(0x2b);     //line address set

 WriteDAT_Main(y);

 WriteDAT_Main(0x83);
  

 WriteCOM_Main(0x2c);

 Delay(2);

 WriteState_Main(c>>8,c);

 #endif


     }

}
//=======================================================
//         Show_Picture
//=======================================================
void Pitcure_Pattern_Main_Show()                        
{
	tWord i;
	tWord x=0,y=1;

	Window_Main();

 	for(i=0;i<128*128;i++)
	{
		WriteState_Main(Person[x],Person[y]);
		x=x+2;
        y=y+2;
	}
}
//=======================================================

//=======================================================

//         Eprom_Picture

//=======================================================
/*
void display_eprom(tByte a)
{   int i,j,k;
    tByte d1,d2;
    tWord addr;

	for(k=0;k<2;k++)
	{
	    addr=0x0000;
		for(i=0;i<128;i++)
			for(j=0;j<64;j++)
			{
				P1=(2*(a-1)+k);
				d1=XBYTE[addr++];
				d2=XBYTE[addr++];
				WriteState_Main(d1,d2);
			}
	}


}  */
//===========================================================

⌨️ 快捷键说明

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