亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lcd_480272.c

?? 三星處理器S3C2440的液晶源代碼
?? C
字號(hào):
#include <S3C2440.H>

#include "LCD_480272.h"
#include "caculate.h"

//#include "shu_8.h"
    int dx,dy,e;
    int temp=0;
    int X,Y;
    

volatile static unsigned short LCD_BUFER[LCD_YSIZE_TFT_480272][LCD_XSIZE_TFT_480272];
//紅色(0x1f<<11--0x01<<11)  綠色(0x7e<<5--0x02<<5) 藍(lán)色(0x1f--0x01)
const unsigned char *PicBtn;  // 指針指向底層圖片
U32 PicBtn_x1,PicBtn_x2;	  //保存底層圖片色坐標(biāo)信息
U32 PicBtn_y1,PicBtn_y2;
volatile U16 PicBac[10000];   //被覆蓋的圖片數(shù)據(jù)




/**************************************************************
480×272 16Bpp TFT LCD數(shù)據(jù)和控制端口初始化
**************************************************************/
static void Lcd_Port_Init(void)
{
    #ifdef LTV350QV_POE
	
    GPCUP=0xffffffff; // Disable Pull-up register
    GPCCON=0xaa9556a9; //Initialize VD[7:0],LCDVF[2:0],VM,VFRAME,VLINE,VCLK,LEND 
                                           //LCDVF[0],[1],[2]---output;VD[0],[1],[2]----output.
    GPDUP=0xffffffff; // Disable Pull-up register
    GPDCON=0xaaaaaaaa; //Initialize VD[15:8]     VD[8]---output

    CS_H;          //initialize the cs,scl,sdi pin for LTV350QV_POE
    SCLK_H;
    SDI_H; 
	
    #else
	
    //rGPCUP = 0xffffffff; // Disable Pull-up register
    GPCUP = 0x0; // enable Pull-up register
    GPCCON = 0xaaaa56a9; //Initialize VD[7:0],LCDVF[2:0],VM,VFRAME,VLINE,VCLK,LEND 

    //rGPDUP = 0xffffffff ; // Disable Pull-up register
    GPDUP = 0x0 ; // enable Pull-up register
    GPDCON=0xaaaaaaaa; //Initialize VD[15:8]

   #endif
}

/**************************************************************
480×272 16Bpp TFT LCD功能模塊初始化
**************************************************************/
static void Lcd_Init(void)
{
	LCDCON1=(CLKVAL_TFT_480272<<8)|(MVAL_USED<<7)|(3<<5)|(12<<1)|0;
    // TFT LCD panel,16bpp TFT,ENVID=off
	LCDCON2=(VBPD_480272<<24)|(LINEVAL_TFT_480272<<14)|(VFPD_480272<<6)|(VSPW_480272);
	LCDCON3=(HBPD_480272<<19)|(HOZVAL_TFT_480272<<8)|(HFPD_480272);
	LCDCON4=(MVAL<<8)|(HSPW_480272);
	LCDCON5=(1<<11)|(1<<10)|(1<<9)|(1<<8)|(0<<6)|(1<<3)|(BSWP<<1)|(HWSWP);	//FRM5:6:5,VCLK,HSYNC and VSYNC are inverted
	LCDSADDR1=(((U32)LCD_BUFER>>22)<<21)|M5D((U32)LCD_BUFER>>1);
	LCDSADDR2=M5D( ((U32)LCD_BUFER+(LCD_XSIZE_TFT_480272*LCD_YSIZE_TFT_480272*2))>>1 );
	LCDSADDR3=(((LCD_XSIZE_TFT_480272-LCD_XSIZE_TFT_480272)/1)<<11)|(LCD_XSIZE_TFT_480272/1);

	
	LCDINTMSK|=(3); // MASK LCD Sub Interrupt
//	TCONSEL&=(~7); // Disable LPC3600 diff 2410
	TPAL=0; // Disable Temp Palette
}

/**************************************************************
LCD視頻和控制信號(hào)輸出或者停止,1開啟視頻輸出
**************************************************************/
static void Lcd_EnvidOnOff(int onoff)
{
    if(onoff==1)
	LCDCON1|=1; // ENVID=ON
    else
	LCDCON1 =LCDCON1 & 0x3fffe; // ENVID Off
}

static void Lcd_MoveViewPort(int vx,int vy)
{
    U32 addr;

    SET_IF(); 
	#if (LCD_XSIZE_TFT_480272<32)
    	    while((LCDCON1>>18)<=1); // if x<32
	#else	
    	    while((LCDCON1>>18)==0); // if x>32
	#endif
    
    addr=(U32)LCD_BUFER+(vx*2)+vy*(SCR_XSIZE_TFT_480272*2);
	LCDSADDR1= ( (addr>>22)<<21 ) | M5D(addr>>1 );
	LCDSADDR2= M5D(((addr+(SCR_XSIZE_TFT_480272*LCD_YSIZE_TFT_480272*2))>>1));
	CLR_IF();
}    



/**************************************************************
480×272 16Bpp TFT LCD單個(gè)象素的顯示數(shù)據(jù)輸出
**************************************************************/
static void PutPixel(U32 x,U32 y,U32 c)
{
	if ( (x < SCR_XSIZE_TFT_480272) && (y < SCR_YSIZE_TFT_480272) )
	LCD_BUFER[(y)][(x)] = c;
}

/**************************************************************
480×272 16Bpp TFT LCD全屏填充特定顏色單元或清屏
**************************************************************/
static void Lcd_ClearScr(U16 c)
{
	unsigned int x,y ;
		
    for( y = 0 ; y < SCR_YSIZE_TFT_480272 ; y++ )
    {
    	for( x = 0 ; x < SCR_XSIZE_TFT_480272 ; x++ )
    	{
			LCD_BUFER[y][x] = c;
    	}
    }
}



static void Glib_FilledRectangle(int x1,int y1,int x2,int y2,int color)
{
    int i;

    for(i=y1;i<=y2;i++)
		Glib_Line(x1,i,x2,i,color);
}

/* 
 * 畫線
 * 輸入?yún)?shù):
 *     x1、y1 : 起點(diǎn)坐標(biāo)
 *     x2、y2 : 終點(diǎn)坐標(biāo)
 *     color  : 顏色值
 *         對(duì)于16BPP: color的格式為0xAARRGGBB (AA = 透明度),
 *     需要轉(zhuǎn)換為5:6:5格式
 *         對(duì)于8BPP: color為調(diào)色板中的索引值,
 *     其顏色取決于調(diào)色板中的數(shù)值
 */
void Lcd_DrawLine(int x1,int y1,int x2,int y2,U32 color)
{


    if(x2<x1){temp=x1;x1=x2;x2=temp;temp=y1;y1=y2;y2=temp;}//保證一個(gè)方向

    dy=y2-y1;
    dx=x2-x1;

    if(dx==0)
    {
	    for(Y=y1;Y<y2;Y++)
	    {
	    	PutPixel(x1,Y,color);
	    }	
    }
    else
    {
    
    	if(dy>0)    
    	{
    		if(dy>dx)
    		{
    			temp=dy/dx;	
    			for(X=x1;X<x2+1;X++)
    			{
    				for(Y=0;Y<temp;Y++)
    				{
    					PutPixel(X,y1,color);
    					y1+=1;
    				}
    			}
    		}
    		else
    		{
    		if(dy<dx)
    		{
    			temp=dx/dy;	
    			for(Y=y1;Y<y2;Y++)
    			{
    				for(X=0;X<temp;X++)
    				{
    					PutPixel(x1,Y,color);
    					x1+=1;
    				}
    			}
    		}
    		else
    		{
    			for(X=x1;X<x2+1;X++)
    			{
    				PutPixel(X,X,color);
    			}
    		}
    		}
    	}
    	
    	else
    	{
    	if(dy<0)   
    	{
    		dy=-dy;
    		if(dy>dx)
    		{
    			temp=dy/dx;	
    			for(X=x1;X<x2+1;X++)
    			{
    				for(Y=0;Y<temp;Y++)
    				{
    					PutPixel(X,y1,color);
    					y1-=1;
    				}
    			}
    		}
    		else
    		{
    		if(dy<dx)
    		{
    			temp=dx/dy;	
    			for(Y=y1;Y<y2-1;Y--)
    			{
    				for(X=0;X<temp;X++)
    				{
    					PutPixel(x1,Y,color);
    					x1+=1;
    				}
    			}
    		}
    		else
    		{
    			for(X=x1;X<x2;X++)
    			{
    				PutPixel(X,X,color);
    			}
    		}
    		}
    		
    	}
    	else
    	{
    		for(X=x1;X<x2;X++)
    		{
    			PutPixel(X,y1,color);
    		}
    	}
    	}
    }
}
/* 
 * 畫一張圖片
 * 輸入?yún)?shù):
 *     x1、y1 : 起點(diǎn)坐標(biāo)
 *     x2、y2 : 終點(diǎn)坐標(biāo)
 *     *Pic   : 圖片數(shù)據(jù)存放的數(shù)組入口
 *     Act    : 為1則需要保存覆蓋不封的數(shù)據(jù),保存格式為U16,Picbtn為需要保存的數(shù)據(jù), 地址為PicBac[10000] (大小有限制的)
 */
void Lcd_PicDraw(U32 x1,U32 y1,U32 x2,U32 y2,const unsigned char *Pic,int Act,const unsigned char *Picbtn)
{
	U32 tempX,tempY;
	U16 color;
	
	if(0==Act) //為0則不需要保存數(shù)據(jù)
	{
		for(tempY=y1;tempY<y2;tempY++)                          //畫一陣附圖片
			for(tempX=x1;tempX<x2;tempX++)
			{
				color=(Pic[(2*(x2-x1)*(tempY-y1)+(tempX-x1)*2)]<<8)+Pic[(2*(x2-x1)*(tempY-y1)+(tempX-x1)*2+1)];
				PutPixel(tempX+1,tempY+1,color);
			}
			
		PicBtn=Pic;
		PicBtn_x1=x1;
		PicBtn_y1=y1;
		PicBtn_x2=x2;
		PicBtn_y2=y2;
			
	}
	if(1==Act) //需要保存底層副高數(shù)據(jù)
	{
		for(tempY=y1;tempY<y2;tempY++)                 //保存數(shù)據(jù)       
			for(tempX=x1;tempX<x2;tempX++)
			{
				PicBac[(tempY-y1)*(x2-x1)+(tempX-x1)]=(Picbtn[(2*(PicBtn_x2-PicBtn_x1)*(tempY-PicBtn_y1)+(tempX-PicBtn_x1)*2)]<<8)+PicBtn[(2*(PicBtn_x2-PicBtn_x1)*(tempY-PicBtn_y1)+(tempX-PicBtn_x1)*2+1)];
			}
			
		for(tempY=y1;tempY<y2;tempY++)               //載入新圖片數(shù)據(jù)
			for(tempX=x1;tempX<x2;tempX++)
			{
				color=(Pic[(2*(x2-x1)*(tempY-y1)+(tempX-x1)*2)]<<8)+Pic[(2*(x2-x1)*(tempY-y1)+(tempX-x1)*2+1)];
				PutPixel(tempX+1,tempY+1,color);
			}
	}
}

/*
 *十六位圖片的顯示
 *參數(shù)與原來的一樣
 */
void Lcd_PicDraw_16(U32 x1,U32 y1,U32 x2,U32 y2,volatile U16 *PicBac)
{
	U32 tempX,tempY;
	U16 color;
	
	for(tempY=y1;tempY<y2;tempY++)
		for(tempX=x1;tempX<x2;tempX++)
		{
			color=PicBac[(tempY-y1)*(x2-x1)+(tempX-x1)];
			PutPixel(tempX+1,tempY+1,color);
		}	
}



/*
 *寫一個(gè)子,寬35,高26
 */
//void Lcd_WriteWord()
void Lcd_Write(U32 x1,U32 y1,U32 x2,U32 y2,unsigned char *Pic,unsigned char *Picbtn)
{
	U32 tempX,tempY;
	U16 color;
	
	
		for(tempY=y1;tempY<y2;tempY++)                 //保存數(shù)據(jù)       
			for(tempX=x1;tempX<x2;tempX++)
			{
				PicBac[(tempY-y1)*(x2-x1)+(tempX-x1)]=(Picbtn[(2*(PicBtn_x2-PicBtn_x1)*(tempY-PicBtn_y1)+(tempX-PicBtn_x1)*2)]<<8)+PicBtn[(2*(PicBtn_x2-PicBtn_x1)*(tempY-PicBtn_y1)+(tempX-PicBtn_x1)*2+1)];
			}
			
		for(tempY=y1;tempY<y2;tempY++)               //載入新圖片數(shù)據(jù)
			for(tempX=x1;tempX<x2;tempX++)
			{
				color=(Pic[(2*(x2-x1)*(tempY-y1)+(tempX-x1)*2)]<<8)+Pic[(2*(x2-x1)*(tempY-y1)+(tempX-x1)*2+1)];
				if(0xffff==color){color=PicBac[(tempY-y1)*(x2-x1)+(tempX-x1)];}
				else
				{
					if(0x0000==color){color=0xff00;}
				}
				PutPixel(tempX+1,tempY+1,color);
			}
}




void Lcd_Tft_480X272_Init( void )
{
	U32 tempX,tempY;
	U16 color;
	
	U16 use[2500];
	
   	Lcd_Port_Init();
	
    Lcd_Init();
    Lcd_EnvidOnOff(1);		//turn on vedio
   
	Lcd_ClearScr(0xffff);		//fill all screen with some color


	Lcd_PicDraw(0,0,480,270,caculate,0,caculate);	
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色欧美日韩亚洲| 日韩精品一区第一页| 国产精品一区免费视频| 日韩美女在线视频| 国产精品一线二线三线| 国产欧美久久久精品影院| 成人黄色片在线观看| 国产精品成人免费| 欧美四级电影在线观看| 日本免费新一区视频| 久久久久久久综合| 99久久伊人网影院| 亚洲成人一区在线| 精品电影一区二区| 成人高清伦理免费影院在线观看| 亚洲免费在线视频| 日韩一区二区三区高清免费看看 | 亚洲人成人一区二区在线观看| 91免费观看国产| 日本亚洲最大的色成网站www| 精品国产伦一区二区三区免费 | 亚洲天堂2014| 欧美日韩国产精选| 成人综合婷婷国产精品久久蜜臀| 成人欧美一区二区三区视频网页| 欧美日韩视频在线观看一区二区三区 | 国产一区免费电影| 一区二区三区欧美视频| 欧美www视频| 欧美在线一二三| 国产一区二区精品久久91| 亚洲美女淫视频| 精品少妇一区二区三区视频免付费| 成人精品免费看| 日韩精品乱码免费| 中文字幕制服丝袜一区二区三区| 欧美激情综合五月色丁香 | 午夜精品福利久久久| 2020日本不卡一区二区视频| 欧美在线免费观看亚洲| 国产98色在线|日韩| 蜜臀精品一区二区三区在线观看| 日本一二三四高清不卡| 欧美一级生活片| 91啪在线观看| 国产传媒欧美日韩成人| 人人狠狠综合久久亚洲| 亚洲一区二区四区蜜桃| 国产精品久久久久久久久久久免费看| 欧美视频中文字幕| av激情亚洲男人天堂| 精品一区二区日韩| 亚洲观看高清完整版在线观看 | 欧洲日韩一区二区三区| 国产精品亚洲人在线观看| 秋霞电影一区二区| 午夜av一区二区三区| 亚洲欧美色图小说| 中文字幕欧美一区| 日本一区二区三区久久久久久久久不 | 日韩一区二区免费视频| 欧美三级视频在线观看| 91麻豆6部合集magnet| 国产suv精品一区二区三区| 韩国毛片一区二区三区| 久久精品国产亚洲5555| 麻豆视频一区二区| 日本特黄久久久高潮| 亚洲成av人片www| 亚洲高清久久久| 日日夜夜免费精品视频| 午夜激情一区二区三区| 亚洲国产一区二区三区青草影视 | 久久精品亚洲麻豆av一区二区| 日韩欧美一区二区在线视频| 正在播放亚洲一区| 欧美肥大bbwbbw高潮| 欧美精品vⅰdeose4hd| 欧美少妇bbb| 91精品在线免费观看| 日韩一区二区三| 久久婷婷国产综合精品青草 | 99久久国产综合精品色伊| 成人黄色小视频在线观看| 99久久久精品免费观看国产蜜| 成人av免费在线观看| 91一区一区三区| 在线视频欧美精品| 欧美精品视频www在线观看| 欧美一区二区女人| 久久只精品国产| 国产精品私人自拍| 一区二区三区在线播| 午夜一区二区三区视频| 视频一区二区三区入口| 久久精品免费观看| 国产成+人+日韩+欧美+亚洲| 99re这里只有精品6| 欧美色区777第一页| 精品欧美一区二区久久| 国产精品丝袜在线| 亚洲成人综合网站| 国产精品综合在线视频| 成人国产免费视频| 欧美日韩一二三| 国产午夜一区二区三区| 亚洲免费高清视频在线| 日韩电影在线一区二区| 国产成人啪免费观看软件| 欧美亚洲日本国产| 精品欧美乱码久久久久久1区2区| 日本一区二区视频在线| 亚洲国产精品久久艾草纯爱| 久久se这里有精品| 91香蕉国产在线观看软件| 69精品人人人人| 国产精品麻豆久久久| 青青草原综合久久大伊人精品优势| 国产成人精品午夜视频免费| 欧美性色黄大片| 久久精品人人爽人人爽| 国产精品一线二线三线| 91麻豆精东视频| 欧美电影免费观看高清完整版在 | 精品日韩成人av| 欧美成人福利视频| 日韩免费观看高清完整版| 久久青草欧美一区二区三区| 亚洲欧美一区二区三区久本道91| 午夜精品久久久久久| 国产一区二区不卡老阿姨| 91国产丝袜在线播放| 2014亚洲片线观看视频免费| 精品国产乱码久久久久久图片 | 亚洲国产精品影院| 青青青伊人色综合久久| 久久99日本精品| fc2成人免费人成在线观看播放| 国产主播一区二区三区| 美腿丝袜在线亚洲一区 | 91精品啪在线观看国产60岁| 欧美日韩一区二区三区四区| 国产丝袜在线精品| 青青草成人在线观看| 欧美日韩在线一区二区| 成人免费在线播放视频| 成人黄色av电影| 国产精品剧情在线亚洲| 成人一道本在线| 中文字幕第一区第二区| 精品无码三级在线观看视频| 国产精品久久久99| 亚洲一区二区在线免费看| 韩国精品主播一区二区在线观看 | 久久久精品tv| 欧美r级在线观看| 国产精品久久久久久久久免费丝袜| 日韩激情在线观看| 精品一区二区三区在线播放视频| 日韩理论片一区二区| 久久综合九色综合97婷婷女人 | 亚洲成人动漫在线免费观看| 成人激情小说网站| 国产精品99久| 日日嗨av一区二区三区四区| 欧美一级午夜免费电影| 久久97超碰国产精品超碰| 亚洲欧美一区二区不卡| 欧美系列在线观看| 午夜视频久久久久久| 91福利在线看| 国产乱码精品一区二区三区五月婷| 久久综合九色综合欧美就去吻| 国产精品538一区二区在线| 国产在线精品一区二区夜色| 香蕉久久夜色精品国产使用方法| 亚洲色欲色欲www| 欧美极品aⅴ影院| 欧美日韩精品一区二区| 国内成人精品2018免费看| 一区二区三区产品免费精品久久75| 日韩精品中文字幕在线一区| 色综合天天综合网天天狠天天| 国产成人免费视频一区| 日日嗨av一区二区三区四区| 亚洲色欲色欲www| 国产色91在线| 一区二区三区欧美激情| 一区二区三区中文在线观看| 中文字幕一区二区三区四区| 91国产成人在线| 91久久精品一区二区| 色综合久久99| 在线看日本不卡| 日本电影亚洲天堂一区| 日本二三区不卡| 91麻豆国产香蕉久久精品| 成人综合激情网| youjizz久久| 欧美一级二级在线观看|