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

📄 t515.c

📁 TFT LCD驱动芯片T100A+AU7" Source code
💻 C
字号:

#ifdef T515

void  switch_T515(uCHAR source)
{
	I2CWriteByte(TW101,0x31,0x10);
    if(!m_cStandard)//NTSC
	{
        switch (source)
        {
            case isrc_T515_CVIDEO1:
                T515_CVIDE_NTSC(1);
		       	break;
		
	    	case isrc_T515_CVIDEO2:
                T515_CVIDE_NTSC(2);
		       	break;
		
		    case isrc_T515_SVIDEO:

                I2CWriteByte(TW515, 0x00, 0x00);
                I2CWriteByte(TW515, 0x01, 0x00);
		    	//I2CWriteByte(TW515, 0x04, 0x2f);
		    	I2CWriteByte(TW515, 0x0A, 0x30);
		    	I2CWriteByte(TW515, 0x0B, 0x30);
		    	I2CWriteByte(TW515, 0x0D, 0x60);
		    	I2CWriteByte(TW515, 0x11, 0x00);
		    	I2CWriteByte(TW515, 0x18, 0x05);
		    	I2CWriteByte(TW515, 0x19, 0x01);
		    	I2CWriteByte(TW515, 0x1A, 0x87);
		    	//I2CWriteByte(TW515, 0x1C, 0xc0);
		    	I2CWriteByte(TW515, 0x30, 0x27);
		    	I2CWriteByte(TW515, 0x28, 0x70);
		    	I2CWriteByte(TW515, 0x29, 0x2a);//new
		    	I2CWriteByte(TW515, 0x2A, 0x55);
		    	I2CWriteByte(TW515, 0x2B, 0x30);
		    	I2CWriteByte(TW515, 0x44, 0x00);
		    	I2CWriteByte(TW515, 0x45, 0x08);
				I2CWriteByte(TW515, 0x4e, 0x88);//new
		    	I2CWriteByte(TW515, 0xE0, 0x90);
		    	I2CWriteByte(TW515, 0x22, 0x4B);
		    	I2CWriteByte(TW515, 0x27, 0x27);
		    	I2CWriteByte(TW515, 0x20, 0x01);
		    	I2CWriteByte(TW515, 0x21, 0x03);
		    	I2CWriteByte(TW515, 0x23, 0x03);
		    	I2CWriteByte(TW515, 0x5F, 0x00);
		    	I2CWriteByte(TW515, 0xD1, 0xc8);
		    	I2CWriteByte(TW515, 0xC1, 0xc8);
		    	I2CWriteByte(TW515, 0xC2, 0x01);

				I2CWriteByte(TW515, 0xa0, 0x04);//Kuo

				I2CWriteByte(TW515, 0x38, 0x21);//Kuo
				I2CWriteByte(TW515, 0x39, 0xf0);//Kuo
				I2CWriteByte(TW515, 0x3a, 0x7c);//Kuo
				I2CWriteByte(TW515, 0x3b, 0x1f);//Kuo

                I2CWriteByte(TW515, 0x50, 0x22);//Kuo
				I2CWriteByte(TW515, 0x51, 0x61);//Kuo
				I2CWriteByte(TW515, 0x5f, 0x70);//Kuo
				I2CWriteByte(TW515, 0xa2, 0x46);//Kuo

                I2CWriteByte(TW101, 0x30, 0x02);
		    	I2CWriteByte(TW101, 0x70, 0xa0);
		    	I2CWriteByte(TW101, 0x31, 0x10);
//	    		I2CWriteByte(TW101, 0x84, 0x00);
//		    	I2CWriteByte(TW101, 0x85, 0x0F);
				I2CWriteByte(TW101+2, 0xD5, 0x0c);//new
				I2CWriteByte(TW101+2, 0xD6, 0x00);//new
				I2CWriteByte(TW101+2, 0xD7, 0xC4);//new
				I2CWriteByte(TW101+2, 0xD8, 0x02);//new
		    	I2CWriteByte(TW101+2, 0xDE, 0x03);
		    	break;
        }
	}
    else
    {
        switch (source)
        {
            case isrc_T515_CVIDEO1:
                T515_CVIDE_PAL(1);
		       	break;
		
	    	case isrc_T515_CVIDEO2:
                T515_CVIDE_PAL(2);
		       	break;
		
		    case isrc_T515_SVIDEO:

    		    I2CWriteByte(TW515, 0x00, 0x00);
                I2CWriteByte(TW515, 0x01, 0x00);
		    	//I2CWriteByte(TW515, 0x04, 0x2f);
			    I2CWriteByte(TW515, 0x0A, 0x30);
		    	I2CWriteByte(TW515, 0x0B, 0x30);
	    		I2CWriteByte(TW515, 0x0D, 0x60);
		    	I2CWriteByte(TW515, 0x11, 0x00);
	    		I2CWriteByte(TW515, 0x18, 0x05);
		    	I2CWriteByte(TW515, 0x19, 0x01);
		    	I2CWriteByte(TW515, 0x1A, 0x87);
		    	//I2CWriteByte(TW515, 0x1C, 0xc0);
	    		I2CWriteByte(TW515, 0x28, 0x68);//new
	    		I2CWriteByte(TW515, 0x29, 0x45);
		    	I2CWriteByte(TW515, 0x2A, 0x35);
		    	I2CWriteByte(TW515, 0x2B, 0x20);
	    		I2CWriteByte(TW515, 0x44, 0x00);
	    		I2CWriteByte(TW515, 0x45, 0x08);
				I2CWriteByte(TW515, 0x4e, 0x8c);//new
		    	I2CWriteByte(TW515, 0xE0, 0x90);
		    	I2CWriteByte(TW515, 0x22, 0x4B);
				I2CWriteByte(TW515, 0x27, 0x26);
				I2CWriteByte(TW515, 0x20, 0x33);
				I2CWriteByte(TW515, 0x21, 0x02);
				I2CWriteByte(TW515, 0x23, 0x03);
				I2CWriteByte(TW515, 0x38, 0x2a);
				I2CWriteByte(TW515, 0x39, 0x09);
				I2CWriteByte(TW515, 0x3a, 0x8a);
				I2CWriteByte(TW515, 0x3b, 0xcb);
				I2CWriteByte(TW515, 0x50, 0x2a);
				I2CWriteByte(TW515, 0x51, 0xc1);
				I2CWriteByte(TW515, 0xa2, 0x52);
		    	I2CWriteByte(TW515, 0x5F, 0x00);
                I2CWriteByte(TW515, 0xd1, 0xc8);
		    	I2CWriteByte(TW515, 0xC1, 0xc8);
		    	I2CWriteByte(TW515, 0xC2, 0x01);
                
				I2CWriteByte(TW515, 0xa0, 0x04);//Kuo

				I2CWriteByte(TW515, 0x30, 0x0a);//Kuo
				I2CWriteByte(TW515, 0x5f, 0x00);//Kuo

                I2CWriteByte(TW101, 0x30, 0x02);
			    I2CWriteByte(TW101, 0x70, 0xa0);
    			I2CWriteByte(TW101, 0x31, 0x10);
//	    		I2CWriteByte(TW101, 0x84, 0x00);
//		    	I2CWriteByte(TW101, 0x85, 0x0F);
				I2CWriteByte(TW101+2, 0xd5, 0x08);//new
				I2CWriteByte(TW101+2, 0xd6, 0x00);//new
				I2CWriteByte(TW101+2, 0xd7, 0xc8);//new
				I2CWriteByte(TW101+2, 0xd8, 0x02);//new
				I2CWriteByte(TW101+2, 0xdb, 0x20);//new
				I2CWriteByte(TW101+2, 0xdc, 0x01);//new
		    	I2CWriteByte(TW101+2, 0xDE, 0x03);
		    	break;
		
        }     
    }   

}


void T515_CVIDE_NTSC(int temp)
{
    I2CWriteByte(TW515, 0x00, 0x00);
    I2CWriteByte(TW515, 0x01, 0x00);
    //I2CWriteByte(TW515, 0x04, 0x2f);
	I2CWriteByte(TW515, 0x0A, 0x30);
    I2CWriteByte(TW515, 0x0B, 0x30);
	I2CWriteByte(TW515, 0x0D, 0x60);
    I2CWriteByte(TW515, 0x11, 0x00);
	I2CWriteByte(TW515, 0x18, 0x00);
    //I2CWriteByte(TW515, 0x19, 0x00);
    I2CWriteByte(TW515, 0x1A, 0x87);
    //I2CWriteByte(TW515, 0x1C, 0xc0);
    I2CWriteByte(TW515, 0x21, 0x03);
    I2CWriteByte(TW515, 0x30, 0x27);
	I2CWriteByte(TW515, 0x28, 0x70);
	I2CWriteByte(TW515, 0x29, 0x29);
    I2CWriteByte(TW515, 0x2A, 0x55);
    I2CWriteByte(TW515, 0x2B, 0x30);
	I2CWriteByte(TW515, 0x44, 0x00);
	I2CWriteByte(TW515, 0x45, 0x08);
    I2CWriteByte(TW515, 0x4e, 0x88);//new
    I2CWriteByte(TW515, 0xE0, 0x90);
    I2CWriteByte(TW515, 0x22, 0x4B);
    I2CWriteByte(TW515, 0x5F, 0x00);
    I2CWriteByte(TW515, 0xa0, 0x25);
    I2CWriteByte(TW515, 0xD1, 0xc8);
    I2CWriteByte(TW515, 0xC1, 0xc8);
	I2CWriteByte(TW515, 0xC2, 0x01);
	I2CWriteByte(TW515, 0x27, 0x23);
    I2CWriteByte(TW515, 0x20, 0x00);//Kuo
    I2CWriteByte(TW515, 0x23, 0x00);//Kuo

	I2CWriteByte(TW515, 0x38, 0x21);//Kuo
	I2CWriteByte(TW515, 0x39, 0xf0);//Kuo
	I2CWriteByte(TW515, 0x3a, 0x7c);//Kuo
	I2CWriteByte(TW515, 0x3b, 0x1f);//Kuo

	I2CWriteByte(TW515, 0x51, 0x61);//Kuo
	I2CWriteByte(TW515, 0x5f, 0x00);//Kuo
	I2CWriteByte(TW515, 0xa2, 0x46);//Kuo
    I2CWriteByte(TW101, 0x30, 0x02);
	I2CWriteByte(TW101, 0x70, 0xa0);
    I2CWriteByte(TW101, 0x31, 0x10);
//	I2CWriteByte(TW101, 0x84, 0x00);
//  I2CWriteByte(TW101, 0x85, 0x0F);
	I2CWriteByte(TW101+2, 0xd5, 0x08);//new
	I2CWriteByte(TW101+2, 0xd6, 0x00);//new
	I2CWriteByte(TW101+2, 0xd7, 0xc8);//new
	I2CWriteByte(TW101+2, 0xd8, 0x02);//new
    I2CWriteByte(TW101+2, 0xDE, 0x03);

    if (temp==1)
        I2CWriteByte(TW515, 0x19, 0x00);
    else if(temp==2)
        I2CWriteByte(TW515, 0x19, 0x04);

}

void T515_CVIDE_PAL(int temp)
{
    I2CWriteByte(TW515, 0x00, 0x00);
    I2CWriteByte(TW515, 0x01, 0x00);
	//I2CWriteByte(TW515, 0x04, 0x2f);
	I2CWriteByte(TW515, 0x0A, 0x30);
	I2CWriteByte(TW515, 0x0B, 0x30);
	I2CWriteByte(TW515, 0x0D, 0x60);
	I2CWriteByte(TW515, 0x11, 0x00);
	I2CWriteByte(TW515, 0x18, 0x00);
	//I2CWriteByte(TW515, 0x19, 0x00);
	I2CWriteByte(TW515, 0x1A, 0x87);
	//I2CWriteByte(TW515, 0x1C, 0xc0);
	I2CWriteByte(TW515, 0x21, 0x02);
	I2CWriteByte(TW515, 0x28, 0x70);
	I2CWriteByte(TW515, 0x29, 0x4a);
	I2CWriteByte(TW515, 0x2A, 0x3a);
	I2CWriteByte(TW515, 0x2B, 0x30);
	I2CWriteByte(TW515, 0x44, 0x00);
	I2CWriteByte(TW515, 0x45, 0x08);
	I2CWriteByte(TW515, 0xE0, 0x90);
	I2CWriteByte(TW515, 0x22, 0x4B);
	I2CWriteByte(TW515, 0x20, 0x32);
	I2CWriteByte(TW515, 0x38, 0x2a);
	I2CWriteByte(TW515, 0x39, 0x09);
	I2CWriteByte(TW515, 0x3a, 0x8a);
	I2CWriteByte(TW515, 0x3b, 0xcb);
    I2CWriteByte(TW515, 0x4e, 0x8e);//new
	I2CWriteByte(TW515, 0x50, 0x2a);
	I2CWriteByte(TW515, 0x51, 0xc1);
	I2CWriteByte(TW515, 0xa2, 0x52);
    I2CWriteByte(TW515, 0x5F, 0x00);
    I2CWriteByte(TW515, 0xa0, 0x25);
	I2CWriteByte(TW515, 0xD1, 0xc8);
	I2CWriteByte(TW515, 0xC1, 0xc8);
	I2CWriteByte(TW515, 0xC2, 0x01);
	I2CWriteByte(TW515, 0x27, 0x24);
	I2CWriteByte(TW515, 0x23, 0x00);//Kuo

	I2CWriteByte(TW515, 0x30, 0x02);//Kuo new
	I2CWriteByte(TW515, 0x5f, 0x00);//Kuo
    I2CWriteByte(TW101, 0x30, 0x02);
	I2CWriteByte(TW101, 0x70, 0xa0);
    I2CWriteByte(TW101, 0x31, 0x10);
//	I2CWriteByte(TW101, 0x84, 0x00);
//  I2CWriteByte(TW101, 0x85, 0x0F);
	I2CWriteByte(TW101+2, 0xD5, 0x08);//new
	I2CWriteByte(TW101+2, 0xD6, 0x00);//new
 	I2CWriteByte(TW101+2, 0xD7, 0xc8);//new
    I2CWriteByte(TW101+2, 0xD8, 0x02);//new
	I2CWriteByte(TW101+2, 0xDb, 0x20);//new
    I2CWriteByte(TW101+2, 0xDc, 0x01);//new
    I2CWriteByte(TW101+2, 0xDE, 0x03);

    if (temp==1)
        I2CWriteByte(TW515, 0x19, 0x00);
    else if(temp==2)
        I2CWriteByte(TW515, 0x19, 0x04);
}
#endif

⌨️ 快捷键说明

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