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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ili932x.c

?? MINI STM32 驅動TFT屏的顯示,JPG文件的播放
?? C
?? 第 1 頁 / 共 4 頁
字號:
/******************************************************************************
* 文件名稱:ili932x.c
* 摘 要:支持ILI9320和ILI9325驅動IC控制的QVGA顯示屏,使用16位并行傳輸
  到頭文件中配置 屏幕使用方向和驅動IC類型
  注意:16位數據線色彩分布>>  BGR(565)

* 當前版本:V1.3
* 修改說明:版本修訂說明:
  1.修改翻轉模式下的ASCII字符寫Bug
  2.增加可以在翻轉模式下的自動行寫
  3.優化刷圖片 使用流水線方法提效率
*重要說明!
在.h文件中,#define Immediately時是立即顯示當前畫面
而如果#define Delay,則只有在執行了LCD_WR_REG(0x0007,0x0173);
之后才會顯示,執行一次LCD_WR_REG(0x0007,0x0173)后,所有寫入數
據都立即顯示。
#define Delay一般用在開機畫面的顯示,防止顯示出全屏圖像的刷新
過程
******************************************************************************/
#include "stm32f10x_lib.h"
#include "ili932x.h"
#include  "HzLib_65k.h"

/****************************************************************
函數名:Lcd配置函數
功能:配置所有和Lcd相關的GPIO和時鐘
引腳分配為:
PB8--PB15——16Bit數據總線低8位
PC0--PC7 ——16Bit數據總線高8位
PC8 ——Lcd_cs
PC9 ——Lcd_rs*
PC10——Lcd_wr
PC11——Lcd_rd*
PC12——Lcd_rst
PC13——Lcd_blaklight 背光靠場效應管驅動背光模塊
*****************************************************************/
void Lcd_Configuration(void)
{ 
	GPIO_InitTypeDef GPIO_InitStructure;
	/*開啟相應時鐘 */
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC, ENABLE);  
	/*所有Lcd引腳配置為推挽輸出*/
	/*16位數據低8位*/
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_Init(GPIOB, &GPIO_InitStructure);
	/*16位數據高8位*/
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
	GPIO_Init(GPIOC, &GPIO_InitStructure);
	/*控制腳*/
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12;
	GPIO_Init(GPIOC, &GPIO_InitStructure);
	/*背光控制*/
	GPIO_InitStructure.GPIO_Pin =GPIO_Pin_13;
	GPIO_Init(GPIOC, &GPIO_InitStructure);
}
 
void DataToWrite(u16 data) 
{
	u16 temp;
	temp = GPIO_ReadOutputData(GPIOB);
	GPIO_Write(GPIOB, (data<<8)|(temp&0x00ff));
	temp = GPIO_ReadOutputData(GPIOC);
	GPIO_Write(GPIOC, (data>>8)|(temp&0xff00));
}

/****************************************************************************
* 名    稱:u16 CheckController(void)
* 功    能:返回控制器代碼
* 入口參數:無
* 出口參數:控制器型號
* 說    明:調用后返回兼容型號的控制器型號
* 調用方法:code=CheckController();
****************************************************************************/
u16 CheckController(void)
{
  	u16 tmp=0,tmp1=0,tmp2=0; 
	GPIO_InitTypeDef GPIO_InitStructure;

  	DataToWrite(0xffff);//數據線全高
	Set_Rst;
	Set_nWr;
	Set_Cs;
	Set_Rs;
	Set_nRd;
	Set_Rst;
	Delay_nms(1);
	Clr_Rst;
	Delay_nms(1);
	Set_Rst;
	Delay_nms(1);
	LCD_WR_REG(0x0000,0x0001);  //start oscillation
	Delay_nms(1);

	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
	GPIO_Init(GPIOB, &GPIO_InitStructure);
	/*16位數據高8位*/
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
	GPIO_Init(GPIOC, &GPIO_InitStructure);
  
  	GPIO_ResetBits(GPIOC,GPIO_Pin_8);
  
  	GPIO_SetBits(GPIOC,GPIO_Pin_9);
  
  	GPIO_ResetBits(GPIOC,GPIO_Pin_11);

  	tmp1 = GPIO_ReadInputData(GPIOB);
	tmp2 = GPIO_ReadInputData(GPIOC);

	tmp = (tmp1>>8) | (tmp2<<8);
  
  	GPIO_SetBits(GPIOC,GPIO_Pin_11);
  
  	GPIO_SetBits(GPIOC,GPIO_Pin_8);

	/*16位數據低8位*/
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_Init(GPIOB, &GPIO_InitStructure);
	/*16位數據高8位*/
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
	GPIO_Init(GPIOC, &GPIO_InitStructure);
  
  	return tmp;
}

/**********************************************
函數名:Lcd初始化函數
功能:初始化Lcd
入口參數:無
返回值:無
***********************************************/
void Lcd_Initialize(void)
{
  	u16 i;
	Lcd_Light_ON;
	DataToWrite(0xffff);//數據線全高
	Set_Rst;
	Set_nWr;
	Set_Cs;
	Set_Rs;
	Set_nRd;
	Set_Rst;
	Delay_nms(1);
	Clr_Rst;
	Delay_nms(1);
	Set_Rst;
	Delay_nms(1); 
	
/*      
#ifdef ILI9325        
	LCD_WR_REG(0x00e3,0x3008);
	LCD_WR_REG(0x00e7,0x0010);
	LCD_WR_REG(0x00ef,0x1231);  //Set the internal vcore voltage
	LCD_WR_REG(0x0001,0x0100);	//When SS = 0, the shift direction of outputs is from S1 to S720								
#endif  					    //When SS = 1, the shift direction of outputs is from S720 to S1.
#ifdef ILI9320
	LCD_WR_REG(0x00e5,0x8000);
	LCD_WR_REG(0x0000,0x0001);
	LCD_WR_REG(0x0001,0x0100);//S
	Delay_nms(10);
#endif        
	LCD_WR_REG(0x0002,0x0700);//Line inversion        
#if   ID_AM==000       
	LCD_WR_REG(0x0003,0x0000);//屏幕旋轉控制 TFM=0,TRI=0,SWAP=1,16 bits system interface  swap RGB to BRG,此處ORG和HWM 為0
#elif ID_AM==001        
	LCD_WR_REG(0x0003,0x0008);      
#elif ID_AM==010  
	LCD_WR_REG(0x0003,0x0010);        
#elif ID_AM==011
	LCD_WR_REG(0x0003,0x0018);
#elif ID_AM==100  
	LCD_WR_REG(0x0003,0x0020);      
#elif ID_AM==101  
	LCD_WR_REG(0x0003,0x0028);      
#elif ID_AM==110  
	LCD_WR_REG(0x0003,0x0030);      
#elif ID_AM==111  
	LCD_WR_REG(0x0003,0x0038);
#endif      
	LCD_WR_REG(0x0004,0x0000);
	LCD_WR_REG(0x0008,0x0207);
	LCD_WR_REG(0x0009,0x0000);
	LCD_WR_REG(0x000a,0x0000);
	LCD_WR_REG(0x000c,0x0001);//此處配置接口類型 16位 system接口
	LCD_WR_REG(0x000d,0x0000);
	LCD_WR_REG(0x000f,0x0000);      
	//電源配置
	LCD_WR_REG(0x0010,0x0000);
	LCD_WR_REG(0x0011,0x0000);
	LCD_WR_REG(0x0012,0x0000);
	LCD_WR_REG(0x0013,0x0000);
	Delay_nms(200);
	LCD_WR_REG(0x0010,0x17b0);
	LCD_WR_REG(0x0011,0x0137);
	Delay_nms(50);
	LCD_WR_REG(0x0012,0x0139);
	Delay_nms(50);
	LCD_WR_REG(0x0013,0x1700);
	LCD_WR_REG(0x0029,0x0000);
	LCD_WR_REG(0x002b,0x0000);
	Delay_nms(50);      
#if   ID_AM==000         
	LCD_WR_REG(0x0020,0x00ef);//GRAM水平起始位置
	LCD_WR_REG(0x0021,0x013f);      
#elif ID_AM==001
	LCD_WR_REG(0x0020,0x00ef);
	LCD_WR_REG(0x0021,0x013f);      
	LCD_WR_REG(0x0020,0x0000);
	LCD_WR_REG(0x0021,0x013f);      
#elif ID_AM==011
	LCD_WR_REG(0x0020,0x0000);
	LCD_WR_REG(0x0021,0x013f);       
#elif ID_AM==100
	LCD_WR_REG(0x0020,0x00ef);
	LCD_WR_REG(0x0021,0x0000);      
#elif ID_AM==101  
	LCD_WR_REG(0x0020,0x00ef);
	LCD_WR_REG(0x0021,0x0000);      
#elif ID_AM==110
	LCD_WR_REG(0x0020,0x0000);
	LCD_WR_REG(0x0021,0x0000);      
#elif ID_AM==111
	LCD_WR_REG(0x0020,0x0000);
	LCD_WR_REG(0x0021,0x0000);         
#endif       
	LCD_WR_REG(0x0030,0x0000);
	LCD_WR_REG(0x0031,0x0507);
	LCD_WR_REG(0x0032,0x0104);
	LCD_WR_REG(0x0035,0x0105);
	LCD_WR_REG(0x0036,0x0404);
	LCD_WR_REG(0x0037,0x0603);
	LCD_WR_REG(0x0038,0x0004);
	LCD_WR_REG(0x0039,0x0007);
	LCD_WR_REG(0x003c,0x0501);
	LCD_WR_REG(0x003d,0x0404);
	LCD_WR_REG(0x0050,0x0000);//水平 GRAM起始位置
	LCD_WR_REG(0x0051,0x00ef);//水平GRAM終止位置
	LCD_WR_REG(0x0052,0x0000);//垂直GRAM起始位置
	LCD_WR_REG(0x0053,0x013f);//垂直GRAM終止位置
#ifdef ILI9325        
	LCD_WR_REG(0x0060,0xa700);//G
#endif
#ifdef ILI9320        
	LCD_WR_REG(0x0060,0x2700);//G  
#endif    
	LCD_WR_REG(0x0061,0x0001);//Enables the grayscale inversion of the image by setting REV=1.??????????????????????????????
	LCD_WR_REG(0x006a,0x0000);//不使用卷曲功能
	LCD_WR_REG(0x0080,0x0000);
	LCD_WR_REG(0x0081,0x0000);
	LCD_WR_REG(0x0082,0x0000);
	LCD_WR_REG(0x0083,0x0000);
	LCD_WR_REG(0x0084,0x0000);
	LCD_WR_REG(0x0085,0x0000);
	LCD_WR_REG(0x0090,0x0010);
	LCD_WR_REG(0x0092,0x0000);
	LCD_WR_REG(0x0093,0x0003);
	LCD_WR_REG(0x0095,0x0110);
	LCD_WR_REG(0x0097,0x0000);
	LCD_WR_REG(0x0098,0x0000);     
	//顯示畫面寫入 0x0130是不顯示當前畫面
	//0x0173是顯示當前畫面
	LCD_WR_REG(0x0007,0x0130);
#ifdef Immediately
	LCD_WR_REG(0x0007,0x0173);      
#endif        
	//第一個像素的讀取數據是無效值,這里事先讀取一次,舍去無效值
  */
	
	i = CheckController();
	if(i==0x9325)
	{
  		LCD_WR_REG(0x00e7,0x0010);      
        LCD_WR_REG(0x0000,0x0001);  			//start internal osc
        LCD_WR_REG(0x0001,0x0100);     
        LCD_WR_REG(0x0002,0x0700); 				//power on sequence                     
        LCD_WR_REG(0x0003,(1<<12)|(1<<5)|(1<<4) ); 	//65K 
        LCD_WR_REG(0x0004,0x0000);                                   
        LCD_WR_REG(0x0008,0x0207);	           
        LCD_WR_REG(0x0009,0x0000);         
        LCD_WR_REG(0x000a,0x0000); 				//display setting         
        LCD_WR_REG(0x000c,0x0001);				//display setting          
        LCD_WR_REG(0x000d,0x0000); 				//0f3c          
        LCD_WR_REG(0x000f,0x0000);
        LCD_WR_REG(0x0010,0x0000);   
        LCD_WR_REG(0x0011,0x0007);
        LCD_WR_REG(0x0012,0x0000);                                                                 
        LCD_WR_REG(0x0013,0x0000);                 
        for(i=50000;i>0;i--);
        LCD_WR_REG(0x0010,0x1590);   
        LCD_WR_REG(0x0011,0x0227);
        for(i=50000;i>0;i--);
        LCD_WR_REG(0x0012,0x009c);                 
        for(i=50000;i>0;i--);
        LCD_WR_REG(0x0013,0x1900);   
        LCD_WR_REG(0x0029,0x0023);
        LCD_WR_REG(0x002b,0x000e);
        for(i=50000;i>0;i--);
        LCD_WR_REG(0x0020,0x0000);                                                            
        LCD_WR_REG(0x0021,0x0000);                 
      
        for(i=50000;i>0;i--);
        LCD_WR_REG(0x0030,0x0007); 
        LCD_WR_REG(0x0031,0x0707);   
        LCD_WR_REG(0x0032,0x0006);
        LCD_WR_REG(0x0035,0x0704);
        LCD_WR_REG(0x0036,0x1f04); 
        LCD_WR_REG(0x0037,0x0004);
        LCD_WR_REG(0x0038,0x0000);        
        LCD_WR_REG(0x0039,0x0706);     
        LCD_WR_REG(0x003c,0x0701);
        LCD_WR_REG(0x003d,0x000f);
        for(i=50000;i>0;i--);
        LCD_WR_REG(0x0050,0x0000);        
        LCD_WR_REG(0x0051,0x00ef);   
        LCD_WR_REG(0x0052,0x0000);     
        LCD_WR_REG(0x0053,0x013f);
        LCD_WR_REG(0x0060,0xa700);        
        LCD_WR_REG(0x0061,0x0001); 
        LCD_WR_REG(0x006a,0x0000);
        LCD_WR_REG(0x0080,0x0000);
        LCD_WR_REG(0x0081,0x0000);
        LCD_WR_REG(0x0082,0x0000);
        LCD_WR_REG(0x0083,0x0000);
        LCD_WR_REG(0x0084,0x0000);
        LCD_WR_REG(0x0085,0x0000);
      
        LCD_WR_REG(0x0090,0x0010);     
        LCD_WR_REG(0x0092,0x0000);  
        LCD_WR_REG(0x0093,0x0003);
        LCD_WR_REG(0x0095,0x0110);
        LCD_WR_REG(0x0097,0x0000);        
        LCD_WR_REG(0x0098,0x0000);  
         //display on sequence     
        LCD_WR_REG(0x0007,0x0133);
    
        LCD_WR_REG(0x0020,0x0000);                                                            
        LCD_WR_REG(0x0021,0x0000);
	}
	else if(i==0x9320)
	{
		LCD_WR_REG(0x00,0x0000);
		LCD_WR_REG(0x01,0x0100);	//Driver Output Contral.
		LCD_WR_REG(0x02,0x0700);	//LCD Driver Waveform Contral.
		LCD_WR_REG(0x03,0x1030);	//Entry Mode Set.
	
		LCD_WR_REG(0x04,0x0000);	//Scalling Contral.
		LCD_WR_REG(0x08,0x0202);	//Display Contral 2.(0x0207)
		LCD_WR_REG(0x09,0x0000);	//Display Contral 3.(0x0000)
		LCD_WR_REG(0x0a,0x0000);	//Frame Cycle Contal.(0x0000)
		LCD_WR_REG(0x0c,(1<<0));	//Extern Display Interface Contral 1.(0x0000)
		LCD_WR_REG(0x0d,0x0000);	//Frame Maker Position.
		LCD_WR_REG(0x0f,0x0000);	//Extern Display Interface Contral 2.
	
		for(i=50000;i>0;i--);
		LCD_WR_REG(0x07,0x0101);	//Display Contral.
		for(i=50000;i>0;i--);
	
		LCD_WR_REG(0x10,(1<<12)|(0<<8)|(1<<7)|(1<<6)|(0<<4));	//Power Control 1.(0x16b0)
		LCD_WR_REG(0x11,0x0007);								//Power Control 2.(0x0001)
		LCD_WR_REG(0x12,(1<<8)|(1<<4)|(0<<0));					//Power Control 3.(0x0138)
		LCD_WR_REG(0x13,0x0b00);								//Power Control 4.
		LCD_WR_REG(0x29,0x0000);								//Power Control 7.
	
		LCD_WR_REG(0x2b,(1<<14)|(1<<4));
		
		LCD_WR_REG(0x50,0);		//Set X Start.
		LCD_WR_REG(0x51,239);	//Set X End.
		LCD_WR_REG(0x52,0);		//Set Y Start.
		LCD_WR_REG(0x53,319);	//Set Y End.
	
		LCD_WR_REG(0x60,0x2700);	//Driver Output Control.
		LCD_WR_REG(0x61,0x0001);	//Driver Output Control.
		LCD_WR_REG(0x6a,0x0000);	//Vertical Srcoll Control.
	
		LCD_WR_REG(0x80,0x0000);	//Display Position? Partial Display 1.
		LCD_WR_REG(0x81,0x0000);	//RAM Address Start? Partial Display 1.
		LCD_WR_REG(0x82,0x0000);	//RAM Address End-Partial Display 1.
		LCD_WR_REG(0x83,0x0000);	//Displsy Position? Partial Display 2.
		LCD_WR_REG(0x84,0x0000);	//RAM Address Start? Partial Display 2.
		LCD_WR_REG(0x85,0x0000);	//RAM Address End? Partial Display 2.
	
		LCD_WR_REG(0x90,(0<<7)|(16<<0));	//Frame Cycle Contral.(0x0013)
		LCD_WR_REG(0x92,0x0000);	//Panel Interface Contral 2.(0x0000)
		LCD_WR_REG(0x93,0x0001);	//Panel Interface Contral 3.
		LCD_WR_REG(0x95,0x0110);	//Frame Cycle Contral.(0x0110)
		LCD_WR_REG(0x97,(0<<8));	//
		LCD_WR_REG(0x98,0x0000);	//Frame Cycle Contral.

	
		LCD_WR_REG(0x07,0x0173);	//(0x0173)
	}
}


/******************************************
函數名:Lcd寫命令函數
功能:向Lcd指定位置寫入應有命令或數據
入口參數:Index 要尋址的寄存器地址
          ConfigTemp 寫入的數據或命令值
返回值:無
******************************************/
void LCD_WR_REG(u16 Index,u16 CongfigTemp)
{
	Clr_Cs;
	Clr_Rs;
	Set_nRd;
	DataToWrite(Index);
	Clr_nWr;
	Set_nWr;
	Set_Rs;       
	DataToWrite(CongfigTemp);       
	Clr_nWr;
	Set_nWr;
	Set_Cs;
}


/************************************************
函數名:Lcd寫開始函數
功能:控制Lcd控制引腳 執行寫操作
入口參數:無
返回值:無
************************************************/
void Lcd_WR_Start(void)
{
	Clr_Cs;
	Clr_Rs;
	Set_nRd;
	DataToWrite(0x0022);
	Clr_nWr;
	Set_nWr;
	Set_Rs;
}


/*************************************************
函數名:Lcd光標起點定位函數
功能:指定320240液晶上的一點作為寫數據的起始點
入口參數:x 坐標 0~239
          y 坐標 0~319
返回值:無
*************************************************/
void Lcd_SetCursor(u8 x,u16 y)
{ 
	LCD_WR_REG(0x20,x);
	LCD_WR_REG(0x21,y);    
}


/**********************************************
函數名:Lcd全屏擦除函數
功能:將Lcd整屏擦為指定顏色
入口參數:color 指定Lcd全屏顏色 RGB(5-6-5)
返回值:無
***********************************************/
void Lcd_Clear(u16 Color)
{
	u32 temp;
  
	Lcd_SetCursor(0x00, 0x0000);
	LCD_WR_REG(0x0050,0x00);//水平 GRAM起始位置
	LCD_WR_REG(0x0051,239);//水平GRAM終止位置
	LCD_WR_REG(0x0052,0x00);//垂直GRAM起始位置
	LCD_WR_REG(0x0053,319);//垂直GRAM終止位置   
	Lcd_WR_Start();
	Set_Rs;
  
	for (temp = 0; temp < 76800; temp++)
	{
		DataToWrite(Color);
		Clr_nWr;
		Set_nWr;
	}
  
	Set_Cs;
}
/**********************************************
函數名:Lcd塊選函數
功能:選定Lcd上指定的矩形區域

注意:xStart和 yStart隨著屏幕的旋轉而改變,位置是矩形框的四個角

入口參數:xStart x方向的起始點
          ySrart y方向的終止點
          xLong 要選定矩形的x方向長度
          yLong  要選定矩形的y方向長度
返回值:無
***********************************************/
void Lcd_SetBox(u8 xStart,u16 yStart,u8 xLong,u16 yLong,u16 x_offset,u16 y_offset)
{
  
#if ID_AM==000    
	Lcd_SetCursor(xStart+xLong-1+x_offset,yStart+yLong-1+y_offset);

#elif ID_AM==001
	Lcd_SetCursor(xStart+xLong-1+x_offset,yStart+yLong-1+y_offset);
     
#elif ID_AM==010
	Lcd_SetCursor(xStart+x_offset,yStart+yLong-1+y_offset);
     
#elif ID_AM==011 
	Lcd_SetCursor(xStart+x_offset,yStart+yLong-1+y_offset);
     
#elif ID_AM==100
	Lcd_SetCursor(xStart+xLong-1+x_offset,yStart+y_offset);     
     
#elif ID_AM==101
	Lcd_SetCursor(xStart+xLong-1+x_offset,yStart+y_offset);     
     
#elif ID_AM==110
	Lcd_SetCursor(xStart+x_offset,yStart+y_offset); 
     
#elif ID_AM==111
	Lcd_SetCursor(xStart+x_offset,yStart+y_offset);  
     
#endif
     
	LCD_WR_REG(0x0050,xStart+x_offset);//水平 GRAM起始位置
	LCD_WR_REG(0x0051,xStart+xLong-1+x_offset);//水平GRAM終止位置
	LCD_WR_REG(0x0052,yStart+y_offset);//垂直GRAM起始位置
	LCD_WR_REG(0x0053,yStart+yLong-1+y_offset);//垂直GRAM終止位置 
}


void Lcd_ColorBox(u8 xStart,u16 yStart,u8 xLong,u16 yLong,u16 Color)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
无码av免费一区二区三区试看| 欧美不卡123| 亚洲一区中文日韩| 欧美无砖专区一中文字| 午夜影视日本亚洲欧洲精品| 在线电影一区二区三区| 精品一区二区三区在线播放 | 免播放器亚洲一区| 欧美一区二区三区爱爱| 九九精品视频在线看| 国产色综合一区| 99久久精品免费看| 亚洲成av人片| 精品电影一区二区| www..com久久爱| 午夜精品久久久久久久久久| 日韩欧美中文一区二区| 成人免费看片app下载| 一区二区三区国产精品| 日韩女优毛片在线| 成人午夜电影网站| 亚洲国产日产av| www国产成人| 欧美午夜精品一区| 国产精品18久久久久久久久| 亚洲日本电影在线| 欧美成人午夜电影| 97久久精品人人爽人人爽蜜臀| 午夜电影网亚洲视频| 久久久久99精品国产片| 欧美在线你懂得| 国产精品一色哟哟哟| 亚洲成人综合在线| 国产日韩欧美制服另类| 欧美日韩免费观看一区二区三区| 久久99久久99精品免视看婷婷| 最近中文字幕一区二区三区| 日韩亚洲欧美一区| 欧美在线观看视频在线| 国产一区在线观看麻豆| 亚洲成精国产精品女| 国产精品久久一卡二卡| 日韩一级完整毛片| 在线观看一区日韩| 不卡一二三区首页| 九九热在线视频观看这里只有精品| 亚洲欧美另类图片小说| 久久亚洲二区三区| 91精品国产综合久久久久久漫画| 99久久婷婷国产| 国产老肥熟一区二区三区| 亚洲一区在线观看免费 | 欧美在线观看18| 国产98色在线|日韩| 美女视频免费一区| 日韩在线一二三区| 亚洲一区自拍偷拍| 亚洲日本免费电影| 国产精品国产三级国产普通话三级 | 国产精品综合二区| 精品视频免费在线| 99re66热这里只有精品3直播| 精品一区二区精品| 日本不卡一区二区| 日韩高清电影一区| 午夜精品福利一区二区蜜股av| 亚洲视频小说图片| 亚洲日本va在线观看| 中文字幕 久热精品 视频在线 | av电影在线观看一区| 国产老女人精品毛片久久| 久久99精品网久久| 免费看欧美女人艹b| 日韩黄色小视频| 日本免费在线视频不卡一不卡二| 亚洲成av人片在www色猫咪| 亚洲自拍偷拍av| 亚洲bt欧美bt精品| 日韩激情在线观看| 九九九久久久精品| 国产精品18久久久久久久久| 国产成人精品亚洲午夜麻豆| 国产成人亚洲综合a∨婷婷 | 91久久免费观看| 久久97超碰色| 日韩精品一区二区三区视频在线观看 | 亚洲v日本v欧美v久久精品| 亚洲一区二区三区四区在线观看| 最新不卡av在线| 亚洲国产精品精华液网站| 性做久久久久久免费观看欧美| 亚洲成人精品一区| 麻豆成人91精品二区三区| 韩国一区二区三区| 成人深夜福利app| 色一情一乱一乱一91av| 欧美日韩一区二区三区高清| 欧美一区二区在线免费观看| 日韩欧美一区二区三区在线| 国产色综合一区| 亚洲国产精品嫩草影院| 亚洲国产一二三| 亚洲国产精品一区二区尤物区| 午夜婷婷国产麻豆精品| 久热成人在线视频| 成人福利视频在线| 欧美日韩色综合| 久久久久9999亚洲精品| 亚洲免费电影在线| 免费精品视频最新在线| 成人在线一区二区三区| 91精品福利在线| 欧美一级日韩免费不卡| 中文字幕免费观看一区| 亚洲国产日韩一级| 国产一区二区三区四区五区美女 | 99re成人精品视频| 亚洲图片欧美色图| 中文字幕一区在线观看| 婷婷国产在线综合| 风间由美一区二区三区在线观看| 色狠狠桃花综合| 精品国产乱码久久久久久免费 | 国产一区二区三区在线观看精品 | 婷婷久久综合九色国产成人| 国产二区国产一区在线观看| 色妞www精品视频| 久久这里只精品最新地址| 一区二区三区日韩精品视频| 激情久久久久久久久久久久久久久久| 91亚洲精品久久久蜜桃网站 | 久久久亚洲精品石原莉奈| 亚洲一区二区三区三| 国产69精品久久99不卡| 欧美一区二区三区免费视频| 亚洲欧美另类小说| 懂色av中文字幕一区二区三区| 这里是久久伊人| 亚洲综合无码一区二区| 不卡电影一区二区三区| 26uuu精品一区二区在线观看| 午夜久久久久久电影| 91网站最新地址| 久久久精品黄色| 极品美女销魂一区二区三区 | 国产成人精品亚洲777人妖| 欧美一区二区三区思思人| 亚洲美女屁股眼交3| 粉嫩av一区二区三区粉嫩| 精品福利一二区| 久久精品理论片| 日韩一级欧美一级| 视频一区视频二区中文字幕| 欧美性感一区二区三区| 亚洲欧美精品午睡沙发| 成人av在线资源| 国产精品的网站| eeuss鲁片一区二区三区在线看| 国产日韩精品一区二区三区| 精品一区二区在线播放| 久久综合网色—综合色88| 久久国产精品免费| 精品日韩一区二区三区| 久久99精品国产91久久来源| 日韩精品一区二区三区在线观看| 蜜桃视频一区二区| 日韩欧美你懂的| 国产自产v一区二区三区c| 精品国产乱码久久久久久久久| 日本特黄久久久高潮| 欧美一区二区久久| 久久精品久久99精品久久| 精品处破学生在线二十三| 国产精品系列在线观看| 国产女同互慰高潮91漫画| 不卡高清视频专区| 亚洲激情综合网| 91精品午夜视频| 国产一区二区导航在线播放| 国产日韩精品一区二区浪潮av | 色综合久久久久综合体桃花网| 中文字幕综合网| 91精品福利在线| 日韩成人午夜电影| 久久网站最新地址| av中文字幕一区| 性久久久久久久| 亚洲精品在线电影| 成人黄色大片在线观看| 亚洲午夜精品17c| 日韩视频一区二区三区在线播放| 国产不卡视频在线播放| 一区二区三区在线免费| 欧美日韩一二区| 精品亚洲porn| 亚洲欧洲日韩女同| 欧美日韩久久不卡| 国产成人午夜99999| 亚洲精品国久久99热| 日韩精品中文字幕一区|