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

📄 hx8824.c

📁 一个LCD TV的源程序, 用的是realtek的IC
💻 C
📖 第 1 页 / 共 4 页
字号:
    I2CWriteByte(HX8824_ADDR, 0x97, 0x01);
    I2CWriteByte(HX8824_ADDR, 0x98, 0x07);
    I2CWriteByte(HX8824_ADDR, 0x99, 0x01);
    I2CWriteByte(HX8824_ADDR, 0x9A, 0x03);
    I2CWriteByte(HX8824_ADDR, 0x9B, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x9C, 0x0E);
    I2CWriteByte(HX8824_ADDR, 0x9D, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x9E, 0xF0);
    I2CWriteByte(HX8824_ADDR, 0x9F, 0x00);
    //*****************  PLL ********************************************************
    I2CWriteByte(HX8824_ADDR, 0xD0, 0x3C);  // P1
    I2CWriteByte(HX8824_ADDR, 0xD1, 0x1A);  // P2
    I2CWriteByte(HX8824_ADDR, 0xD2, 0x0A);  // N
    I2CWriteByte(HX8824_ADDR, 0xD3, 0x67);  // M: 360 -1
    I2CWriteByte(HX8824_ADDR, 0xD4, 0x01);  // M
    //I2CWriteByte(SAA7111_ADDR, 0x08, 0xC8);      // NTSC
    //I2CWriteByte(HX8824_ADDR, 0x12, 0x9B);
    //I2CWriteByte(HX8824_ADDR, 0x13, 0x00);

//    I2CWriteByte(PLL_ADDR, 0x0B, 0x13);
//    I2CWriteByte(PLL_ADDR, 0x0B, 0x13);         // CLKM = 14.49
//    I2CWriteByte(PLL_ADDR, 0x14, 0x2D);
//    I2CWriteByte(PLL_ADDR, 0x15, 0x18);
//    I2CWriteByte(PLL_ADDR, 0x16, 0x62);
//    I2CWriteByte(PLL_ADDR, 0x09, 0x32);         // CLKO = 6.44
//    I2CWriteByte(PLL_ADDR, 0x11, 0x26);
//    I2CWriteByte(PLL_ADDR, 0x12, 0x15);
//    I2CWriteByte(PLL_ADDR, 0x13, 0x66);

#endif
//****************************************************************************************
#if mode7228_8060
    bVideo = 1;
    S1 = 0;
    S2 = 1;
    Mode = 8;
    I2CWriteByte(HX8824_ADDR, 0x00, 0xD0);
    I2CWriteByte(HX8824_ADDR, 0x01, 0x02);
    I2CWriteByte(HX8824_ADDR, 0x02, 0x20);
    I2CWriteByte(HX8824_ADDR, 0x03, 0x01);
    I2CWriteByte(HX8824_ADDR, 0x10, 0x1C);   // input format select
    //I2CWriteByte(HX8824_ADDR, 0x11, 0x0C);  // 656
    I2CWriteByte(HX8824_ADDR, 0x11, 0x0B);  //601
    I2CWriteByte(HX8824_ADDR, 0x20, 0xAE);
    I2CWriteByte(HX8824_ADDR, 0x21, 0x07);
    I2CWriteByte(HX8824_ADDR, 0x22, 0xFF);
    I2CWriteByte(HX8824_ADDR, 0x23, 0x0F);
    I2CWriteByte(HX8824_ADDR, 0x20, 0x66);
    I2CWriteByte(HX8824_ADDR, 0x21, 0x0E);
    I2CWriteByte(HX8824_ADDR, 0x22, 0xFF);
    I2CWriteByte(HX8824_ADDR, 0x23, 0x1F);
    I2CWriteByte(HX8824_ADDR, 0x24, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x25, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x24, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x25, 0x04);
    I2CWriteByte(HX8824_ADDR, 0xA0, 0x00);
    I2CWriteByte(HX8824_ADDR, 0xA1, 0x2A);
    I2CWriteByte(HX8824_ADDR, 0xA2, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x90, 0xF8);
    I2CWriteByte(HX8824_ADDR, 0x91, 0x03);
    I2CWriteByte(HX8824_ADDR, 0x92, 0x48);
    I2CWriteByte(HX8824_ADDR, 0x93, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x94, 0x90);
    I2CWriteByte(HX8824_ADDR, 0x95, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x96, 0x20);
    I2CWriteByte(HX8824_ADDR, 0x97, 0x03);
    I2CWriteByte(HX8824_ADDR, 0x98, 0x92);
    I2CWriteByte(HX8824_ADDR, 0x99, 0x02);
    I2CWriteByte(HX8824_ADDR, 0x9A, 0x13);
    I2CWriteByte(HX8824_ADDR, 0x9B, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x9C, 0x26);
    I2CWriteByte(HX8824_ADDR, 0x9D, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x9E, 0x58);
    I2CWriteByte(HX8824_ADDR, 0x9F, 0x02);
    //I2CWriteByte(SAA7111_ADDR, 0x08, 0x88);
    //I2CWriteByte(HX8824_ADDR, 0x14, 0x00);
    //I2CWriteByte(HX8824_ADDR, 0x15, 0x00);
    //I2CWriteByte(HX8824_ADDR, 0x16, 0x00);
    //I2CWriteByte(HX8824_ADDR, 0x17, 0x00);
    //I2CWriteByte(HX8824_ADDR, 0x19, 0x01);
    //*****************  PLL ********************************************************
    I2CWriteByte(HX8824_ADDR, 0xD0, 0x0B);  // P1
    I2CWriteByte(HX8824_ADDR, 0xD1, 0x0C);  // P2
    I2CWriteByte(HX8824_ADDR, 0xD2, 0x09);  // N
    I2CWriteByte(HX8824_ADDR, 0xD3, 0x4C);  // M: 309 -1
    I2CWriteByte(HX8824_ADDR, 0xD4, 0x01);  // M
#endif
//****************************************************************************************
#if mode7228_8048
    bVideo = 1;
    S1 = 0;
    S2 = 1;
    Mode = 9;
    I2CWriteByte(HX8824_ADDR, 0x10, 0x1C);   // USE EXTERNAL SYNC AND DE
    I2CWriteByte(HX8824_ADDR, 0x11, 0x0F);  // 656
    //I2CWriteByte(HX8824_ADDR, 0x11, 0x0B);  //601
    I2CWriteByte(HX8824_ADDR, 0x20, 0x86);
    I2CWriteByte(HX8824_ADDR, 0x21, 0x09);
    I2CWriteByte(HX8824_ADDR, 0x22, 0xFF);
    I2CWriteByte(HX8824_ADDR, 0x23, 0x0F);
    I2CWriteByte(HX8824_ADDR, 0x20, 0x65);
    I2CWriteByte(HX8824_ADDR, 0x21, 0x0E);
    I2CWriteByte(HX8824_ADDR, 0x22, 0xFF);
    I2CWriteByte(HX8824_ADDR, 0x23, 0x1F);
    I2CWriteByte(HX8824_ADDR, 0x24, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x25, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x24, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x25, 0x04);	
    I2CWriteByte(HX8824_ADDR, 0x26, 0x07);
    //I2CWriteByte(HX8824_ADDR, 0x27, 0x0A);  // DELAY

    I2CWriteByte(HX8824_ADDR, 0xA0, 0xC4); //f4
    I2CWriteByte(HX8824_ADDR, 0xA1, 0x1C); //1e
    I2CWriteByte(HX8824_ADDR, 0xA2, 0x00);

    I2CWriteByte(HX8824_ADDR, 0x00, 0xD0);	// 	720
    I2CWriteByte(HX8824_ADDR, 0x01, 0x02);
    I2CWriteByte(HX8824_ADDR, 0x02, 0x20);	 // 288
    I2CWriteByte(HX8824_ADDR, 0x03, 0x01);
/*		 // for PVI
    I2CWriteByte(HX8824_ADDR, 0x90, 0x25);	  // 
    I2CWriteByte(HX8824_ADDR, 0x91, 0x04);
    I2CWriteByte(HX8824_ADDR, 0x92, 0x3F);
    I2CWriteByte(HX8824_ADDR, 0x93, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x94, 0x7A);
    I2CWriteByte(HX8824_ADDR, 0x95, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x96, 0x20);	 // 
    I2CWriteByte(HX8824_ADDR, 0x97, 0x03);
    I2CWriteByte(HX8824_ADDR, 0x98, 0x0D);
    I2CWriteByte(HX8824_ADDR, 0x99, 0x02);
    I2CWriteByte(HX8824_ADDR, 0x9A, 0x03);
    I2CWriteByte(HX8824_ADDR, 0x9B, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x9C, 0x1F);  //0x20
    I2CWriteByte(HX8824_ADDR, 0x9D, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x9E, 0xE0);
    I2CWriteByte(HX8824_ADDR, 0x9F, 0x01);
*/		 
		 // for 8819
    I2CWriteByte(HX8824_ADDR, 0x90, 0xFB);	  // 1003
    I2CWriteByte(HX8824_ADDR, 0x91, 0x03);
    I2CWriteByte(HX8824_ADDR, 0x92, 0x30);	  // 48
    I2CWriteByte(HX8824_ADDR, 0x93, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x94, 0x58);	  // 88
    I2CWriteByte(HX8824_ADDR, 0x95, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x96, 0x20);	 //  800
    I2CWriteByte(HX8824_ADDR, 0x97, 0x03);
    I2CWriteByte(HX8824_ADDR, 0x98, 0x09);	 // 521
    I2CWriteByte(HX8824_ADDR, 0x99, 0x02);
    I2CWriteByte(HX8824_ADDR, 0x9A, 0x03);	 // 3
    I2CWriteByte(HX8824_ADDR, 0x9B, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x9C, 0x1e);  // 29
    I2CWriteByte(HX8824_ADDR, 0x9D, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x9E, 0xE0);	// 480
    I2CWriteByte(HX8824_ADDR, 0x9F, 0x01);


    //I2CWriteByte(SAA7111_ADDR, 0x08, 0x88);   //  SAA7111 PAL OUTPUT
//    I2CWriteByte(HX8824_ADDR, 0x12, 0xBB);
//    I2CWriteByte(HX8824_ADDR, 0x13, 0x00);
//    I2CWriteByte(HX8824_ADDR, 0x14, 0x15);
//    I2CWriteByte(HX8824_ADDR, 0x15, 0x00);
//    I2CWriteByte(HX8824_ADDR, 0x16, 0x16);
//    I2CWriteByte(HX8824_ADDR, 0x17, 0x00);
//    I2CWriteByte(HX8824_ADDR, 0x19, 0x01);
#if IN_PLL
    //*****************  PLL ********************************************************
    I2CWriteByte(HX8824_ADDR, 0xD0, 0x05);  // P1
    I2CWriteByte(HX8824_ADDR, 0xD1, 0x06);  // P2
    I2CWriteByte(HX8824_ADDR, 0xD2, 0x09);  // N
    I2CWriteByte(HX8824_ADDR, 0xD3, 0x85);  // M: 333 -1
    I2CWriteByte(HX8824_ADDR, 0xD4, 0x00);  // M
#endif

#if EX_PLL
    I2CWriteByte(PLL_ADDR, 0x0B, 0x0f);
    I2CWriteByte(PLL_ADDR, 0x14, 0x1e);
    I2CWriteByte(PLL_ADDR, 0x15, 0xf0);
    I2CWriteByte(PLL_ADDR, 0x16, 0x5d);
    I2CWriteByte(PLL_ADDR, 0x09, 0x0e);
    I2CWriteByte(PLL_ADDR, 0x11, 0x06);
    I2CWriteByte(PLL_ADDR, 0x12, 0x7e);
    I2CWriteByte(PLL_ADDR, 0x13, 0x4c);
#endif
#endif
//****************************************************************************************
#if mode7228_6448
    bVideo = 1;
    S1 = 0;
    S2 = 1;
    Mode = 10;
    I2CWriteByte(HX8824_ADDR, 0x10, 0x1C);   // USE EXTERNAL SYNC AND DE
    //I2CWriteByte(HX8824_ADDR, 0x11, 0x0C);  // 656
    I2CWriteByte(HX8824_ADDR, 0x11, 0x0B);  //601
    I2CWriteByte(HX8824_ADDR, 0x20, 0x99);
    I2CWriteByte(HX8824_ADDR, 0x21, 0x09);
    I2CWriteByte(HX8824_ADDR, 0x22, 0xFF);
    I2CWriteByte(HX8824_ADDR, 0x23, 0x0F);
    I2CWriteByte(HX8824_ADDR, 0x20, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x21, 0x12);
    I2CWriteByte(HX8824_ADDR, 0x22, 0xFF);
    I2CWriteByte(HX8824_ADDR, 0x23, 0x1F);
    I2CWriteByte(HX8824_ADDR, 0x24, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x25, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x24, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x25, 0x04);
    //I2CWriteByte(HX8824_ADDR,(0x27, 0x0A);    // DELAY
    I2CWriteByte(HX8824_ADDR, 0xA0, 0x73);
    I2CWriteByte(HX8824_ADDR, 0xA1, 0x04);
    I2CWriteByte(HX8824_ADDR, 0xA2, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x00, 0xD0);
    I2CWriteByte(HX8824_ADDR, 0x01, 0x02);
    I2CWriteByte(HX8824_ADDR, 0x02, 0x20);
    I2CWriteByte(HX8824_ADDR, 0x03, 0x01);
    I2CWriteByte(HX8824_ADDR, 0x90, 0x20);
    I2CWriteByte(HX8824_ADDR, 0x91, 0x03);
    I2CWriteByte(HX8824_ADDR, 0x92, 0x60);
    I2CWriteByte(HX8824_ADDR, 0x93, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x94, 0x90);
    I2CWriteByte(HX8824_ADDR, 0x95, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x96, 0x80);
    I2CWriteByte(HX8824_ADDR, 0x97, 0x02);
    I2CWriteByte(HX8824_ADDR, 0x98, 0x0D);
    I2CWriteByte(HX8824_ADDR, 0x99, 0x02);
    I2CWriteByte(HX8824_ADDR, 0x9A, 0x02);
    I2CWriteByte(HX8824_ADDR, 0x9B, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x9C, 0x23);
    I2CWriteByte(HX8824_ADDR, 0x9D, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x9E, 0xE0);
    I2CWriteByte(HX8824_ADDR, 0x9F, 0x01);
    //I2CWriteByte(SAA7111_ADDR, 0x08, 0x88);    // SAA7111 PAL OUTPUT
    I2CWriteByte(HX8824_ADDR, 0x12, 0xBB);
    I2CWriteByte(HX8824_ADDR, 0x13, 0x00);
    //I2CWriteByte(HX8824_ADDR, 0x14, 0x15);
    //I2CWriteByte(HX8824_ADDR, 0x15, 0x00);
    //I2CWriteByte(HX8824_ADDR, 0x16, 0x16);
    //I2CWriteByte(HX8824_ADDR, 0x17, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x19, 0x01);
    //*****************  PLL ********************************************************
    I2CWriteByte(HX8824_ADDR, 0xD0, 0x10);  // P1
    I2CWriteByte(HX8824_ADDR, 0xD1, 0x0E);  // P2
    I2CWriteByte(HX8824_ADDR, 0xD2, 0x09);  // N
    I2CWriteByte(HX8824_ADDR, 0xD3, 0x26);  // M: 295 -1
    I2CWriteByte(HX8824_ADDR, 0xD4, 0x01);  // M
#endif
//****************************************************************************************

#if mode7228_3224
    bVideo = 1;
    S1 = 0;
    S2 = 1;
    Mode = 11;
    I2CWriteByte(HX8824_ADDR, 0x10, 0x1C);   // input format select
    I2CWriteByte(HX8824_ADDR, 0x11, 0x0F);  // 656
    //I2CWriteByte(HX8824_ADDR, 0x11, 0x0B);  //601
    I2CWriteByte(HX8824_ADDR, 0x20, 0x36);
    I2CWriteByte(HX8824_ADDR, 0x21, 0x13);
    I2CWriteByte(HX8824_ADDR, 0x22, 0xFF);
    I2CWriteByte(HX8824_ADDR, 0x23, 0x0F);
    I2CWriteByte(HX8824_ADDR, 0x20, 0x10);
    I2CWriteByte(HX8824_ADDR, 0x21, 0x24);
    I2CWriteByte(HX8824_ADDR, 0x22, 0xFF);
    I2CWriteByte(HX8824_ADDR, 0x23, 0x1F);
    I2CWriteByte(HX8824_ADDR, 0x24, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x25, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x24, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x25, 0x04);
    I2CWriteByte(HX8824_ADDR, 0x29, 0x01);  //delay
    I2CWriteByte(HX8824_ADDR, 0xA0, 0x54);  //C5
    I2CWriteByte(HX8824_ADDR, 0xA1, 0x01); //04
    I2CWriteByte(HX8824_ADDR, 0xA2, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x00, 0xD0);  // 720
    I2CWriteByte(HX8824_ADDR, 0x01, 0x02);
    I2CWriteByte(HX8824_ADDR, 0x02, 0x20);  // 288
    I2CWriteByte(HX8824_ADDR, 0x03, 0x01);
    I2CWriteByte(HX8824_ADDR, 0x90, 0x5E);   //
    I2CWriteByte(HX8824_ADDR, 0x91, 0x03);
    I2CWriteByte(HX8824_ADDR, 0x92, 0x3F);   //
    I2CWriteByte(HX8824_ADDR, 0x93, 0x00);
    I2CWriteByte(HX8824_ADDR, 0x94, 0x7A);   // 68
    I2CWriteByte(HX8824_ADDR, 0x95, 0x00);

⌨️ 快捷键说明

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