Пример #1
0
/* ----------------------------------------------------------------------------
 * Function      : void EEPROM_Write_Done(uint32_t spi_interface)
 * ----------------------------------------------------------------------------
 * Description   : Pull chip select high and delay until the EEPROM is finished
 *                 writing buffer to memory
 * Inputs        : spi_interface    - Index of SPI interface; use 0, 1
 * Outputs       : None
 * Assumptions   : None
 * ------------------------------------------------------------------------- */
void EEPROM_Write_Done(uint32_t spi_interface)
{
    uint32_t timeout;

    /* Check if SPI interface exists. If interface is invalid, return. */
    if(spi_interface > (EEPROM_SPI_NUM_INTERFACE - 1))
    {
        return;
    }

    SPI_TRANSFERCONFIG(spi_interface, EEPROM_SPI_SET_IDLE);

    for(timeout = EEPROM_spi_config[spi_interface].commit_timeout;
        timeout > 0; timeout--)
    {
        /* Dividing by 1000 to convert to a delay in milliseconds */
        Sys_Delay((EEPROM_system_frequency
                   * EEPROM_spi_config[spi_interface].commit_delay)
                   / 1000);

        if((EEPROM_Read_StatusReg(spi_interface) & EEPROM_STATUS_STATUS_Mask)
           == EEPROM_STATUS_READY)
        {
            return;
        }
    }
}
Пример #2
0
u16 Sys_GUI_LCD_Init(void)
{
	u16 Screen_Controller_ID;

	DISABLE_ALL_INTS();											          	   //Atomic Operation.

	_Sys_GUI_LCD_Pin_Init();

	Sys_Delay(50);                                                        	   //Delay For 50ms. 
	_Sys_GUI_LCD_Write_Register(0x0000,0x0001);  
	Sys_Delay(50);                                                             //Delay For 50 ms.
	
	_Sys_GUI_LCD_Pin_Input();
	Sys_Delay(10);                                                        	   //Delay 50ms For The Mode Change.
	Screen_Controller_ID=_Sys_GUI_LCD_Read_Register(0x0000);		      	   //Read Out The Screen Controller Device ID
	_Sys_GUI_LCD_Pin_Output();
	Sys_Delay(10);                                                        	   //Delay 50ms For The Mode Change.

#if (CONTROLLER_ID==0x9325||CONTROLLER_ID==0x9328)
	_Sys_GUI_LCD_Write_Register(0x00e3,0x3008);
	_Sys_GUI_LCD_Write_Register(0x00e7,0x0012);
	_Sys_GUI_LCD_Write_Register(0x00ef,0x1231);                                //Set the internal vcore voltage
  //_Sys_GUI_LCD_Write_Register(0x00e7,0x0010);      
	_Sys_GUI_LCD_Write_Register(0x0000,0x0001);  			                   //Start Internal Oscillator
	_Sys_GUI_LCD_Write_Register(0x0001,0x0100);     
	_Sys_GUI_LCD_Write_Register(0x0002,0x0700); 				          	   //Power on sequence                     
	_Sys_GUI_LCD_Write_Register(0x0003,(1<<12)|(1<<5)|(1<<4) ); 	           //65K 
	_Sys_GUI_LCD_Write_Register(0x0004,0x0000);                                   
	_Sys_GUI_LCD_Write_Register(0x0008,0x0207);	           
	_Sys_GUI_LCD_Write_Register(0x0009,0x0000);         
	_Sys_GUI_LCD_Write_Register(0x000a,0x0000); 				          	   //Display Setting         
	_Sys_GUI_LCD_Write_Register(0x000c,0x0001);				                   //Display Setting          
	_Sys_GUI_LCD_Write_Register(0x000d,0x0000); 				               //0F3C          
	_Sys_GUI_LCD_Write_Register(0x000f,0x0000);
	                                                                           //Power On sequence
	_Sys_GUI_LCD_Write_Register(0x0010,0x0000);   
	_Sys_GUI_LCD_Write_Register(0x0011,0x0007);
	_Sys_GUI_LCD_Write_Register(0x0012,0x0000);                                                                 
	_Sys_GUI_LCD_Write_Register(0x0013,0x0000); 
	                
	Sys_Delay(3);

	_Sys_GUI_LCD_Write_Register(0x0010,0x1590);   
	_Sys_GUI_LCD_Write_Register(0x0011,0x0227);

	Sys_Delay(3);

	_Sys_GUI_LCD_Write_Register(0x0012,0x009c);
	                  
	Sys_Delay(3);

	_Sys_GUI_LCD_Write_Register(0x0013,0x1900);   
	_Sys_GUI_LCD_Write_Register(0x0029,0x0023);
	_Sys_GUI_LCD_Write_Register(0x002b,0x000e);

	Sys_Delay(3);

	_Sys_GUI_LCD_Write_Register(0x0020,0x0000);                                                            
	_Sys_GUI_LCD_Write_Register(0x0021,0x0000);           
     
	Sys_Delay(3);

	_Sys_GUI_LCD_Write_Register(0x0030,0x0007); 
	_Sys_GUI_LCD_Write_Register(0x0031,0x0707);   
	_Sys_GUI_LCD_Write_Register(0x0032,0x0006);
	_Sys_GUI_LCD_Write_Register(0x0035,0x0704);
	_Sys_GUI_LCD_Write_Register(0x0036,0x1f04); 
	_Sys_GUI_LCD_Write_Register(0x0037,0x0004);
	_Sys_GUI_LCD_Write_Register(0x0038,0x0000);        
	_Sys_GUI_LCD_Write_Register(0x0039,0x0706);     
	_Sys_GUI_LCD_Write_Register(0x003c,0x0701);
	_Sys_GUI_LCD_Write_Register(0x003d,0x000f);

	Sys_Delay(3);

	_Sys_GUI_LCD_Write_Register(0x0050,0x0000);        
	_Sys_GUI_LCD_Write_Register(0x0051,0x00ef);   
	_Sys_GUI_LCD_Write_Register(0x0052,0x0000);     
	_Sys_GUI_LCD_Write_Register(0x0053,0x013f);
	_Sys_GUI_LCD_Write_Register(0x0060,0xa700);        
	_Sys_GUI_LCD_Write_Register(0x0061,0x0001); 
	_Sys_GUI_LCD_Write_Register(0x006a,0x0000);
	_Sys_GUI_LCD_Write_Register(0x0080,0x0000);
	_Sys_GUI_LCD_Write_Register(0x0081,0x0000);
	_Sys_GUI_LCD_Write_Register(0x0082,0x0000);
	_Sys_GUI_LCD_Write_Register(0x0083,0x0000);
	_Sys_GUI_LCD_Write_Register(0x0084,0x0000);
	_Sys_GUI_LCD_Write_Register(0x0085,0x0000);	
	_Sys_GUI_LCD_Write_Register(0x0090,0x0010);     
	_Sys_GUI_LCD_Write_Register(0x0092,0x0600); 
		 
	#if CONTROLLER_ID==0x9328 
		_Sys_GUI_LCD_Write_Register(0x0093,0x0003);
		_Sys_GUI_LCD_Write_Register(0x0095,0x0110);
		_Sys_GUI_LCD_Write_Register(0x0097,0x0000);        
		_Sys_GUI_LCD_Write_Register(0x0098,0x0000);  
	#endif   

	_Sys_GUI_LCD_Write_Register(0x0007,0x0133);					               //Display on sequence 
	_Sys_GUI_LCD_Write_Register(0x0020,0x0000);                                                            
	_Sys_GUI_LCD_Write_Register(0x0021,0x0000);

#elif (CONTROLLER_ID==0x9320||CONTROLLER_ID==0x9300)
	_Sys_GUI_LCD_Write_Register(0x00,0x0001);
	_Sys_GUI_LCD_Write_Register(0x01,0x0100);	                               //Driver Output Control.
	_Sys_GUI_LCD_Write_Register(0x02,0x0700);	                               //LCD Driver Waveform Control.
  //_Sys_GUI_LCD_Write_Register(0x03,0x1030);	                               //Entry Mode Set.
  //_Sys_GUI_LCD_Write_Register(0x03,0x1018);	                               //Entry Mode Set.
	_Sys_GUI_LCD_Write_Register(0x03,0x1028);	                               //Entry Mode Set.
	
	_Sys_GUI_LCD_Write_Register(0x04,0x0000);	                               //Scalling Control.
	_Sys_GUI_LCD_Write_Register(0x08,0x0202);	                               //Display Control 2.(0x0207)
	_Sys_GUI_LCD_Write_Register(0x09,0x0000);	                               //Display Control 3.(0x0000)
	_Sys_GUI_LCD_Write_Register(0x0a,0x0000);	                               //Frame Cycle Control.(0x0000)
	_Sys_GUI_LCD_Write_Register(0x0c,(1<<0));	                               //Extern Display Interface Contral 1.(0x0000)
	_Sys_GUI_LCD_Write_Register(0x0d,0x0000);	                               //Frame Maker Position.
	_Sys_GUI_LCD_Write_Register(0x0f,0x0000);	                               //Extern Display Interface Contral 2.
	
	Sys_Delay(3);

	_Sys_GUI_LCD_Write_Register(0x07,0x0101);	                               //Display Contral.

	Sys_Delay(3);
	
	_Sys_GUI_LCD_Write_Register(0x10,(1<<12)|(0<<8)|(1<<7)|(1<<6)|(0<<4));     //Power Control 1.(0x16b0)
	_Sys_GUI_LCD_Write_Register(0x11,0x0007);							       //Power Control 2.(0x0001)
	_Sys_GUI_LCD_Write_Register(0x12,(1<<8)|(1<<4)|(0<<0));				       //Power Control 3.(0x0138)
	_Sys_GUI_LCD_Write_Register(0x13,0x0b00);							       //Power Control 4.
	_Sys_GUI_LCD_Write_Register(0x29,0x0000);							       //Power Control 7.
	
	_Sys_GUI_LCD_Write_Register(0x2b,(1<<14)|(1<<4));
	
	_Sys_GUI_LCD_Write_Register(0x50,0);		                               //Set X Start.
	_Sys_GUI_LCD_Write_Register(0x51,239);	                                   //Set X End.
	_Sys_GUI_LCD_Write_Register(0x52,0);		                               //Set Y Start.
	_Sys_GUI_LCD_Write_Register(0x53,319);	                                   //Set Y End.
	
	_Sys_GUI_LCD_Write_Register(0x60,0x2700);	                               //Driver Output Control.
	_Sys_GUI_LCD_Write_Register(0x61,0x0001);	                               //Driver Output Control.
	_Sys_GUI_LCD_Write_Register(0x6a,0x0000);	                               //Vertical Srcoll Control.
	
	_Sys_GUI_LCD_Write_Register(0x80,0x0000);	                               //Display Position:Partial Display 1.
	_Sys_GUI_LCD_Write_Register(0x81,0x0000);	                               //RAM Address Start:Partial Display 1.
	_Sys_GUI_LCD_Write_Register(0x82,0x0000);	                               //RAM Address End:Partial Display 1.
	_Sys_GUI_LCD_Write_Register(0x83,0x0000);	                               //Displsy Position:Partial Display 2.
	_Sys_GUI_LCD_Write_Register(0x84,0x0000);	                               //RAM Address Start:Partial Display 2.
	_Sys_GUI_LCD_Write_Register(0x85,0x0000);	                               //RAM Address End:Partial Display 2.
	
	_Sys_GUI_LCD_Write_Register(0x90,(0<<7)|(16<<0));	                       //Frame Cycle Control.(0x0013)
	_Sys_GUI_LCD_Write_Register(0x92,0x0000);	                               //Panel Interface Control 2.(0x0000)
	_Sys_GUI_LCD_Write_Register(0x93,0x0001);	                               //Panel Interface Control 3.
	_Sys_GUI_LCD_Write_Register(0x95,0x0110);	                               //Frame Cycle Control.(0x0110)
	_Sys_GUI_LCD_Write_Register(0x97,(0<<8));	                          
	_Sys_GUI_LCD_Write_Register(0x98,0x0000);	                               //Frame Cycle Control.
	Sys_Delay(1);
	_Sys_GUI_LCD_Write_Register(0x07,0x0173);	                          	   //0x0173
	Sys_Delay(1);

#elif CONTROLLER_ID==0x9331
	_Sys_GUI_LCD_Write_Register(0x00E7, 0x1014);
	_Sys_GUI_LCD_Write_Register(0x0001, 0x0100);                          	   //Set SS and SM bit   0x0100
	_Sys_GUI_LCD_Write_Register(0x0002, 0x0200);                          	   //Set 1 line inversion
	_Sys_GUI_LCD_Write_Register(0x0003, 0x1030);                          	   //Set GRAM write direction and BGR=1.     0x1030
	_Sys_GUI_LCD_Write_Register(0x0008, 0x0202);                          	   //Set the back porch and front porch
	_Sys_GUI_LCD_Write_Register(0x0009, 0x0000);                          	   //Set non-display area refresh cycle ISC[3:0]
	_Sys_GUI_LCD_Write_Register(0x000A, 0x0000);                          	   //FMARK function
	_Sys_GUI_LCD_Write_Register(0x000C, 0x0000);                          	   //RGB interface setting
	_Sys_GUI_LCD_Write_Register(0x000D, 0x0000);                          	   //Frame marker Position
	_Sys_GUI_LCD_Write_Register(0x000F, 0x0000);                          	   //RGB interface polarity
	                                                                      	   //Power On sequence
	_Sys_GUI_LCD_Write_Register(0x0010, 0x0000);                          	   //SAP, BT[3:0], AP, DSTB, SLP, STB
	_Sys_GUI_LCD_Write_Register(0x0011, 0x0007);                          	   //DC1[2:0], DC0[2:0], VC[2:0]
	_Sys_GUI_LCD_Write_Register(0x0012, 0x0000);                          	   //VREG1OUT voltage
	_Sys_GUI_LCD_Write_Register(0x0013, 0x0000);                          	   //VDV[4:0] for VCOM amplitude

	Sys_Delay(20);                                                        	   //Dis-charge capacitor power voltage

	_Sys_GUI_LCD_Write_Register(0x0010, 0x1690);                          	   //SAP, BT[3:0], AP, DSTB, SLP, STB
	_Sys_GUI_LCD_Write_Register(0x0011, 0x0227);                          	   //DC1[2:0], DC0[2:0], VC[2:0]
	
	Sys_Delay(5);                                                         	   //Sys_Delay 50ms

	_Sys_GUI_LCD_Write_Register(0x0012, 0x000C);                          	   //Internal reference voltage= Vci;

	Sys_Delay(5);                                                         	   //Sys_Delay 50ms

	_Sys_GUI_LCD_Write_Register(0x0013, 0x0800);                          	   //Set VDV[4:0] for VCOM amplitude
	_Sys_GUI_LCD_Write_Register(0x0029, 0x0011);                          	   //Set VCM[5:0] for VCOMH
	_Sys_GUI_LCD_Write_Register(0x002B, 0x000B);                          	   //Set Frame Rate

	Sys_Delay(5);                                                         	   //Sys_Delay 50ms

	_Sys_GUI_LCD_Write_Register(0x0020, 0x0000);                          	   //GRAM horizontal Address
	_Sys_GUI_LCD_Write_Register(0x0021, 0x0000);                          	   //GRAM Vertical Address
                                              	                          	   //Adjust the Gamma Curve
	_Sys_GUI_LCD_Write_Register(0x0030, 0x0000);
	_Sys_GUI_LCD_Write_Register(0x0031, 0x0106);
	_Sys_GUI_LCD_Write_Register(0x0032, 0x0000);
	_Sys_GUI_LCD_Write_Register(0x0035, 0x0204);
	_Sys_GUI_LCD_Write_Register(0x0036, 0x160A);
	_Sys_GUI_LCD_Write_Register(0x0037, 0x0707);
	_Sys_GUI_LCD_Write_Register(0x0038, 0x0106);
	_Sys_GUI_LCD_Write_Register(0x0039, 0x0707);
	_Sys_GUI_LCD_Write_Register(0x003C, 0x0402);
	_Sys_GUI_LCD_Write_Register(0x003D, 0x0C0F);
	                                                                      	   //Set GRAM Area
	_Sys_GUI_LCD_Write_Register(0x0050, 0x0000);                          	   //Horizontal GRAM Start Address
	_Sys_GUI_LCD_Write_Register(0x0051, 0x00EF);                          	   //Horizontal GRAM End Address
	_Sys_GUI_LCD_Write_Register(0x0052, 0x0000);                          	   //Vertical GRAM Start Address
	_Sys_GUI_LCD_Write_Register(0x0053, 0x013F);                          	   //Vertical GRAM Start Address
	_Sys_GUI_LCD_Write_Register(0x0060, 0x2700);                          	   //Gate Scan Line
	_Sys_GUI_LCD_Write_Register(0x0061, 0x0001);                          	   //NDL,VLE, REV
	_Sys_GUI_LCD_Write_Register(0x006A, 0x0000);                          	   //Set scrolling line
	                                                                      	   //Partial Display Control
	_Sys_GUI_LCD_Write_Register(0x0080, 0x0000);
	_Sys_GUI_LCD_Write_Register(0x0081, 0x0000);
	_Sys_GUI_LCD_Write_Register(0x0082, 0x0000);
	_Sys_GUI_LCD_Write_Register(0x0083, 0x0000);
	_Sys_GUI_LCD_Write_Register(0x0084, 0x0000);
	_Sys_GUI_LCD_Write_Register(0x0085, 0x0000);
	                                                                      	   //Panel Control
	_Sys_GUI_LCD_Write_Register(0x0090, 0x0010);
	_Sys_GUI_LCD_Write_Register(0x0092, 0x0600);
	_Sys_GUI_LCD_Write_Register(0x0007,0x0021);		
	Sys_GUI_LCD_Delay(50);
	_Sys_GUI_LCD_Write_Register(0x0007,0x0061);
	Sys_GUI_LCD_Delay(50);
	_Sys_GUI_LCD_Write_Register(0x0007,0x0133);                           	   //262K color and display ON
	Sys_GUI_LCD_Delay(50);

#elif CONTROLLER_ID==0x9919	                                                                      
	_Sys_GUI_LCD_Write_Register(0x28,0x0006);							  	   //POWER ON &RESET DISPLAY OFF
	_Sys_GUI_LCD_Write_Register(0x00,0x0001);
	_Sys_GUI_LCD_Write_Register(0x10,0x0000);
	_Sys_GUI_LCD_Write_Register(0x01,0x72ef);
	_Sys_GUI_LCD_Write_Register(0x02,0x0600);
	_Sys_GUI_LCD_Write_Register(0x03,0x6a38);
	_Sys_GUI_LCD_Write_Register(0x11,0x6874);                              	   //70                                                        
	_Sys_GUI_LCD_Write_Register(0x0f,0x0000); 							   	   //RAM WRITE DATA MASK
	_Sys_GUI_LCD_Write_Register(0x0b,0x5308); 							   	   //RAM WRITE DATA MASK
	_Sys_GUI_LCD_Write_Register(0x0c,0x0003);
	_Sys_GUI_LCD_Write_Register(0x0d,0x000a);
	_Sys_GUI_LCD_Write_Register(0x0e,0x2e00);                             	   //0030
	_Sys_GUI_LCD_Write_Register(0x1e,0x00be);
	_Sys_GUI_LCD_Write_Register(0x25,0x8000);
	_Sys_GUI_LCD_Write_Register(0x26,0x7800);
	_Sys_GUI_LCD_Write_Register(0x27,0x0078);
	_Sys_GUI_LCD_Write_Register(0x4e,0x0000);
	_Sys_GUI_LCD_Write_Register(0x4f,0x0000);
	_Sys_GUI_LCD_Write_Register(0x12,0x08d9);
	                                                                      	   //Adjust the Gamma Curve
	_Sys_GUI_LCD_Write_Register(0x30,0x0000);	                               //0007
	_Sys_GUI_LCD_Write_Register(0x31,0x0104);	                          	   //0203
	_Sys_GUI_LCD_Write_Register(0x32,0x0100);	 	                      	   //0001
	_Sys_GUI_LCD_Write_Register(0x33,0x0305);	                          	   //0007
	_Sys_GUI_LCD_Write_Register(0x34,0x0505);	                          	   //0007
	_Sys_GUI_LCD_Write_Register(0x35,0x0305);		                      	   //0407
	_Sys_GUI_LCD_Write_Register(0x36,0x0707);		                      	   //0407
	_Sys_GUI_LCD_Write_Register(0x37,0x0300);		                      	   //0607
	_Sys_GUI_LCD_Write_Register(0x3a,0x1200);		                      	   //0106
	_Sys_GUI_LCD_Write_Register(0x3b,0x0800);		 
	_Sys_GUI_LCD_Write_Register(0x07,0x0033);

#elif CONTROLLER_ID==0x1505
	                                                                      	   //second release on 3/5,luminance is acceptable,waves appear during camera preview
	_Sys_GUI_LCD_Write_Register(0x0007,0x0000);
	Sys_Delay(3);
	_Sys_GUI_LCD_Write_Register(0x0012,0x011C);                           	   //0x011A
	_Sys_GUI_LCD_Write_Register(0x00A4,0x0001);                           	   //NVM
	_Sys_GUI_LCD_Write_Register(0x0008,0x000F);
	_Sys_GUI_LCD_Write_Register(0x000A,0x0008);
	_Sys_GUI_LCD_Write_Register(0x000D,0x0008);
		                                                                        
	_Sys_GUI_LCD_Write_Register(0x0030,0x0707);							  	   //GAMMA CONTROL
	_Sys_GUI_LCD_Write_Register(0x0031,0x0007);                           	   //0x0707
	_Sys_GUI_LCD_Write_Register(0x0032,0x0603); 
	_Sys_GUI_LCD_Write_Register(0x0033,0x0700); 
	_Sys_GUI_LCD_Write_Register(0x0034,0x0202); 
	_Sys_GUI_LCD_Write_Register(0x0035,0x0002);                           	   //?0x0606
	_Sys_GUI_LCD_Write_Register(0x0036,0x1F0F);
	_Sys_GUI_LCD_Write_Register(0x0037,0x0707);                                //0x0f0f  0x0105
	_Sys_GUI_LCD_Write_Register(0x0038,0x0000); 
	_Sys_GUI_LCD_Write_Register(0x0039,0x0000); 
	_Sys_GUI_LCD_Write_Register(0x003A,0x0707); 
	_Sys_GUI_LCD_Write_Register(0x003B,0x0000);                                //0x0303
	_Sys_GUI_LCD_Write_Register(0x003C,0x0007);                                //?0x0707
	_Sys_GUI_LCD_Write_Register(0x003D,0x0000);                                //0x1313//0x1f08

	Sys_Delay(3);

	_Sys_GUI_LCD_Write_Register(0x0007,0x0001);
	_Sys_GUI_LCD_Write_Register(0x0017,0x0001);                                //Power supply startup enable

	Sys_Delay(3);
	
	                                                                      	   //Power Control
	_Sys_GUI_LCD_Write_Register(0x0010,0x17A0); 
	_Sys_GUI_LCD_Write_Register(0x0011,0x0217);                           	   //reference voltage VC[2:0]   Vciout = 1.00*Vcivl
	_Sys_GUI_LCD_Write_Register(0x0012,0x011E);                           	   //0x011c  //Vreg1out = Vcilvl*1.80   is it the same as Vgama1out ?
	_Sys_GUI_LCD_Write_Register(0x0013,0x0F00);                           	   //VDV[4:0]-->VCOM Amplitude VcomL = VcomH - Vcom Ampl
	_Sys_GUI_LCD_Write_Register(0x002A,0x0000);  
	_Sys_GUI_LCD_Write_Register(0x0029,0x000A);                           	   //0x0001F  Vcomh = VCM1[4:0]*Vreg1out    gate source voltage??
	_Sys_GUI_LCD_Write_Register(0x0012,0x013E);                           	   //0x013C  power supply on
	                                                                           //Coordinates Control
	_Sys_GUI_LCD_Write_Register(0x0050,0x0000);                           	   //0x0e00
	_Sys_GUI_LCD_Write_Register(0x0051,0x00EF); 
	_Sys_GUI_LCD_Write_Register(0x0052,0x0000); 
	_Sys_GUI_LCD_Write_Register(0x0053,0x013F); 
	                                                                      	   //Pannel Image Control
	_Sys_GUI_LCD_Write_Register(0x0060,0x2700); 
	_Sys_GUI_LCD_Write_Register(0x0061,0x0001); 
	_Sys_GUI_LCD_Write_Register(0x006A,0x0000); 
	_Sys_GUI_LCD_Write_Register(0x0080,0x0000); 
	                                                                      	   //Partial Image Control
	_Sys_GUI_LCD_Write_Register(0x0081,0x0000); 
	_Sys_GUI_LCD_Write_Register(0x0082,0x0000); 
	_Sys_GUI_LCD_Write_Register(0x0083,0x0000); 
	_Sys_GUI_LCD_Write_Register(0x0084,0x0000); 
	_Sys_GUI_LCD_Write_Register(0x0085,0x0000); 
	                                                                       	   //Panel Interface Control
	_Sys_GUI_LCD_Write_Register(0x0090,0x0013);                            	   //0x0010 frenqucy
	_Sys_GUI_LCD_Write_Register(0x0092,0x0300); 
	_Sys_GUI_LCD_Write_Register(0x0093,0x0005); 
	_Sys_GUI_LCD_Write_Register(0x0095,0x0000); 
	_Sys_GUI_LCD_Write_Register(0x0097,0x0000); 
	_Sys_GUI_LCD_Write_Register(0x0098,0x0000); 
	
	_Sys_GUI_LCD_Write_Register(0x0001,0x0100); 
	_Sys_GUI_LCD_Write_Register(0x0002,0x0700); 
	_Sys_GUI_LCD_Write_Register(0x0003,0x1030); 
	_Sys_GUI_LCD_Write_Register(0x0004,0x0000); 
	_Sys_GUI_LCD_Write_Register(0x000C,0x0000); 
	_Sys_GUI_LCD_Write_Register(0x000F,0x0000); 
	_Sys_GUI_LCD_Write_Register(0x0020,0x0000); 
	_Sys_GUI_LCD_Write_Register(0x0021,0x0000); 
	_Sys_GUI_LCD_Write_Register(0x0007,0x0021); 
	Sys_Delay(2);
	_Sys_GUI_LCD_Write_Register(0x0007,0x0061); 
	Sys_Delay(2);
	_Sys_GUI_LCD_Write_Register(0x0007,0x0173); 
	Sys_Delay(2);

#elif CONTROLLER_ID==0x8989
	_Sys_GUI_LCD_Write_Register(0x0000,0x0001);		                      	   //Start The Osciliator
	_Sys_GUI_LCD_Write_Register(0x0003,0xA8A4);		                      	   //0xA8A4
	_Sys_GUI_LCD_Write_Register(0x000C,0x0000);        
	_Sys_GUI_LCD_Write_Register(0x000D,0x080C);        
	_Sys_GUI_LCD_Write_Register(0x000E,0x2B00);        
	_Sys_GUI_LCD_Write_Register(0x001E,0x00B0);        
	_Sys_GUI_LCD_Write_Register(0x0001,0x293F);		                      	   //Output-320*240 Control Code: 0x693F  0x2B3F
	_Sys_GUI_LCD_Write_Register(0x0002,0x0600);                        	  	   //LCD Driving Waveform control
	_Sys_GUI_LCD_Write_Register(0x0010,0x0000);     
	_Sys_GUI_LCD_Write_Register(0x0011,0x6070);		                      	   //0x4030.Define The Display Mode-16 Bit Color:0x6058
	_Sys_GUI_LCD_Write_Register(0x0005,0x0000);     
	_Sys_GUI_LCD_Write_Register(0x0006,0x0000);     
	_Sys_GUI_LCD_Write_Register(0x0016,0xEF1C);     
	_Sys_GUI_LCD_Write_Register(0x0017,0x0003);     
	_Sys_GUI_LCD_Write_Register(0x0007,0x0233);		                      	   //0x0233       
	_Sys_GUI_LCD_Write_Register(0x000B,0x0000);     
	_Sys_GUI_LCD_Write_Register(0x000F,0x0000);		                      	   //Scanning Begin Address.
	_Sys_GUI_LCD_Write_Register(0x0041,0x0000);     
	_Sys_GUI_LCD_Write_Register(0x0042,0x0000);     
	_Sys_GUI_LCD_Write_Register(0x0048,0x0000);     
	_Sys_GUI_LCD_Write_Register(0x0049,0x013F);     
	_Sys_GUI_LCD_Write_Register(0x004A,0x0000);     
	_Sys_GUI_LCD_Write_Register(0x004B,0x0000);     
	_Sys_GUI_LCD_Write_Register(0x0044,0xEF00);     
	_Sys_GUI_LCD_Write_Register(0x0045,0x0000);     
	_Sys_GUI_LCD_Write_Register(0x0046,0x013F);     
	_Sys_GUI_LCD_Write_Register(0x0030,0x0707);     
	_Sys_GUI_LCD_Write_Register(0x0031,0x0204);     
	_Sys_GUI_LCD_Write_Register(0x0032,0x0204);     
	_Sys_GUI_LCD_Write_Register(0x0033,0x0502);     
	_Sys_GUI_LCD_Write_Register(0x0034,0x0507);     
	_Sys_GUI_LCD_Write_Register(0x0035,0x0204);     
	_Sys_GUI_LCD_Write_Register(0x0036,0x0204);     
	_Sys_GUI_LCD_Write_Register(0x0037,0x0502);     
	_Sys_GUI_LCD_Write_Register(0x003A,0x0302);     
	_Sys_GUI_LCD_Write_Register(0x003B,0x0302);     
	_Sys_GUI_LCD_Write_Register(0x0023,0x0000);     
	_Sys_GUI_LCD_Write_Register(0x0024,0x0000);     
	_Sys_GUI_LCD_Write_Register(0x0025,0x8000);     
	_Sys_GUI_LCD_Write_Register(0x004e,0);                                	   //X Begin Address(0)
	_Sys_GUI_LCD_Write_Register(0x004f,0);                                	   //Y Begin Address(0)
#endif																	  	
	ENABLE_ALL_INTS();											      		   //Atomic Operation.
	return(Screen_Controller_ID);
}