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

📄 lib_lcd_320.c

📁 iso2120的tft的3.2寸tft的驱动程序 用16bit实现262k色
💻 C
📖 第 1 页 / 共 2 页
字号:
		for(j=80;j<160;j++)		{	writ_data_18bit(White); }  //
		for(j=160;j<240;j++)   	{	writ_data_18bit(Gray);	 }//
   	}
	for(i=200;i<320;i++)
	{
		for(j=0;j<80;j++)       {	writ_data_18bit(Cyan);}//ok
		for(j=80;j<160;j++)   	{	writ_data_18bit(Red);}//ok
		for(j=160;j<240;j++)	{	writ_data_18bit(Yellow);}//ok
	}
}
//************************************************************
void tftcolor_RGB1(void)
{
   unsigned int 	i,j;
    writ_command(0x42EF);
  	writ_command(0x4300);
  	writ_command(0x4400);
  
	for(i=0;i<100;i++)
    	{
		for(j=0;j<80;j++)       {	writ_data_18bit(Black);}
		for(j=80;j<160;j++)   	{	writ_data_18bit(White); }
		for(j=160;j<240;j++) 	{	writ_data_18bit(Black); }
    	}
	for(i=100;i<200;i++)   
	{     
		for(j=0;j<80;j++)		{	writ_data_18bit(White);	}
		for(j=80;j<160;j++)		{	writ_data_18bit(Black); }
		for(j=160;j<240;j++)   	{	writ_data_18bit(White); }
   	}
	for(i=200;i<320;i++)
	{
		for(j=0;j<80;j++)       {	writ_data_18bit(Black);}
		for(j=80;j<160;j++)   	{	writ_data_18bit(White);	}
		for(j=160;j<240;j++)	{	writ_data_18bit(Black); }
	}
}
/*********************************************************************************************************
** 函数名称: tftcolorbar
** 功能描述: 
** 输      入: 
** 输      出:  无
** 全局变量: 
** 调用模块:  无
**
** 作      者:  董传玺
** 日      期:  2005年6月25日
**------------------------------------------------------------------------------------------------------
** 修      改:
** 日      期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void tftcolorbar(unsigned short high, unsigned short width)
{
 U16 i,j;

	writ_command(0x42EF);
    writ_command(0x4300);
    writ_command(0x4400);
 
 for(i=0;i<high;i++)
	{
		for(j=0;j<(U16)(width/8);j++)					{	writ_data_18bit(Black);	}
		for(j=(U16)(width/8);j<(U16)(width/8)*2;j++)	{	writ_data_18bit(Cyan);	}
		for(j=(U16)(width/8)*2;j<(U16)(width/8)*3;j++)	{	writ_data_18bit(Green);	}
		for(j=(U16)(width/8)*3;j<(U16)(width/8)*4;j++)	{	writ_data_18bit(Blue);}
		for(j=(U16)(width/8)*4;j<(U16)(width/8)*5;j++)	{	writ_data_18bit(Red);}
		for(j=(U16)(width/8)*5;j<(U16)(width/8)*6;j++)	{	writ_data_18bit(Magenta);}
		for(j=(U16)(width/8)*6;j<(U16)(width/8)*7;j++)	{	writ_data_18bit(Yellow);}
		for(j=(U16)(width/8)*7;j<(U16)(width/8)*8;j++)	{	writ_data_18bit(Gray);}
	}
}

/*********************************************************************************************************
** 函数名称: tftcolorbar
** 功能描述: 
** 输      入: 
** 输      出:  无
** 全局变量: 
** 调用模块:  无
**
** 作      者:  董传玺
** 日      期:  2005年6月25日
**------------------------------------------------------------------------------------------------------
** 修      改:
** 日      期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void tftgrcy(unsigned short high, unsigned short width,U32 color_v)
{
 U16 i,j;

	writ_command(0x42EF);
    writ_command(0x4300);
    writ_command(0x4400);
  for(i=0;i<32;i++){
  	for(j=0;j<width*(high/32);j++){	
  	    writ_data_18bit(color_v/i);
  		//writ_data((U16)((color_v/i)>>2));
  		//writ_data((U16)((color_v/i)&0x0003));	
  	}
  }     
 
}

/*********************************************************************************************************
** 函数名称: tftcolor
** 功能描述: 
** 输      入: 
** 输      出:  无
** 全局变量: 
** 调用模块:  无
**
** 作      者:  董传玺
** 日      期:  2005年6月25日
**------------------------------------------------------------------------------------------------------
** 修      改:
** 日      期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/

void tftcolor(unsigned int color)
{
   unsigned int 	i,j;  
    	writ_command(0x42EF);
  	writ_command(0x4300);
  	writ_command(0x4400);
   
    for(i=0;i<320;i++){
      for(j=0;j<240;j++){
         writ_data_18bit(color);
         //writ_data((U16)(color>>2));
         //writ_data((U16)(color&0x0003));
       }
    }
}
/*********************************************************************************************************
** 函数名称: testtft_16bit_arry
** 功能描述: 
** 输      入: 
** 输      出:  无
** 全局变量: 
** 调用模块:  无
**
** 作      者:  董传玺
** 日      期:  2005年6月25日
**------------------------------------------------------------------------------------------------------
** 修      改:
** 日      期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
/*void testtft_16bit_arry(unsigned short *photo)
{ 
    unsigned int 	i,j; 
	writ_command(0x42EF);
  	writ_command(0x4300);Delay(1);
  	writ_command(0x4400);Delay(1);

	for(i=0;i<320;i++){
      for(j=0;j<240;j++){
         writ_data(photo[i*320+j]);
       }
    }
 //   Delay(10);LedDisp();		//LED来回闪烁显示
}*/
/*********************************************************************************************************
** 函数名称: testtft_8bit_arry
** 功能描述: 
** 输      入: 
** 输      出:  无
** 全局变量: 
** 调用模块:  无
**
** 作      者:  董传玺
** 日      期:  2005年6月25日
**------------------------------------------------------------------------------------------------------
** 修      改:
** 日      期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
/*void testtft_8bit_arry(unsigned char *photo1)
{ 
    unsigned int 	i,j; 
// 	writ_command(0x4200);
// 	writ_command(0x4300);Delay(1);
// 	writ_command(0x4400);Delay(1);
   	
	for(i=0;i<320;i++){
      for(j=0;j<240*2;j=j+2){
         writ_data((U16)(photo1[i*240*2+j]<<8)|(U16)photo1[i*240*2+j+1]);
       }
    }
}
*/
void testtft_18bit_arry(unsigned char *photo3)
{ 
    unsigned int 	i,j; 
 	writ_command(0x42EF);
  	writ_command(0x4300);
  	writ_command(0x4400);

   	
	for(i=0;i<320;i++){
      for(j=0;j<240*3;j=j+3){
         writ_data( (U16)(photo3[i*240*3+j]<<10)	| 
         			(U16)(photo3[i*240*3+j+1]<<4) 	| 
         			(U16)(photo3[i*240*3+j+2]>>2) 	);
         
         writ_data( (U16)(photo3[i*240*3+j+2]&0x03) );
       }
     }
    
}

/*********************************************************************************************************
** 函数名称: lcm_UpdateScreen
** 功能描述: 
** 输      入: 
** 输      出:  无
** 全局变量: 
** 调用模块:  无
**
** 作      者:  董传玺
** 日      期:  2005年6月25日
**------------------------------------------------------------------------------------------------------
** 修      改:
** 日      期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void lcm_UpdateScreen(U8 startx, U8 starty, U8 width, U8 height,U16 color1)
{
 U16 tmp16;
 U8 i,j;
  tmp16 = (U16)(startx + width+2 - 1);				//0+128+2-1=129
  Init_data(0x0016,(tmp16<<8)|((U16)(startx+2)));	//0x8102
  tmp16 = (U16)(starty + height - 1);				//20+120-1=139
  Init_data(0x0017,(tmp16<<8)|((U16)starty));		//0x8B14
  
  //Init_data(0x0021,(tmp16<<8)|((U16)(startx+2)));  
  Init_data(0x0021,(starty<<8)|((U16)(startx+2)));  //0x1402
  Init_data(0x0022,0x0000);
  
  for(i=0;i<(height-starty);i++){
      for(j=0;j<128;j++){
         LCD_DATA  = color1;
       }
    }

}
//***************end    *********************************

⌨️ 快捷键说明

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