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

📄 adc.c

📁 keil C51 LCD 驱动源码,其中还有I2C驱动,ADC驱动,键盘操作等,是一个完整的keil源代码,供大家参考
💻 C
📖 第 1 页 / 共 3 页
字号:
   {  0xE8, 0x0f, 0x10, 0x20 },   /* 31,1280*1024/70 */         // Modify VCO and Charge Pump
   {  0xE8, 0x0f, 0x10, 0x20 },   /* 32,1280*1024/72 */         // The value is use james ju
   {  0xE8, 0x0f, 0x10, 0x20 },   /* 33,1280*1024/75 */         // old value is 0xF0
   {  0xE8, 0x0f, 0x10, 0x20 },   /* 34,1280*1024/85 */         //

   {  0x60, 0x0f, 0x10, 0x20 },   /* 35,1024*768/66  (SUN) */
   {  0xa0, 0x0f, 0x10, 0x20 },   /* 36,1024*800/84  (SUN) */
   {  0xa0, 0x0f, 0x10, 0x20 },   /* 37,1152*900/66  (SUN) */
   {  0xf0, 0x0f, 0x10, 0x20 },   /* 38,1152*900/76  (SUN) */
   {  0xf0, 0x0f, 0x10, 0x20 },   /* 39,1280*1024/67 (SUN) */
   {  0xf0, 0x0f, 0x10, 0x20 },   /* 40,1280*1024/76 (SUN) */
   {  0xa0, 0x0f, 0x10, 0x20 },   /* 41,1024*768/87 (Interlace) */
   
   {  0xf8, 0x0f, 0x10, 0x20 },   /* 42,1600*1200/60 */
   {  0x48, 0x0f, 0x10, 0x20 },   /* 43,720*350/50   */
   {  0xA8, 0x0f, 0x10, 0x20 },   /* 44,1280*1024/60 */
   {  0x50, 0x0f, 0x10, 0x20 },   /* 45,800*600/75   */
   {  0xA0, 0x0f, 0x10, 0x20 },   /* 46,1120*750/60  */
   {  0xA8, 0x0f, 0x10, 0x20 },   /* 47,1280*720/60  */
   {  0x90, 0x0f, 0x10, 0x20 },   /* 48,1170*584/50  */
 #if (DOUBLE_SAMPLING==1)
   {  0x50, 0x0f, 0x10, 0x20 },   /*  0,640*350/70  */
   {  0x50, 0x0f, 0x10, 0x20 },   /*  1,640*400/56  */
   {  0x50, 0x0f, 0x10, 0x20 },   /*  2,640*400/70  */
   {  0x50, 0x0f, 0x10, 0x20 },   /*  3,640*400/85  */
   {  0x50, 0x0f, 0x10, 0x20 },   /*  4,640*480/60  */
   {  0x50, 0x0f, 0x10, 0x20 },   /*  5,640*480/66  */
   {  0x50, 0x0f, 0x10, 0x20 },   /*  6,640*480/72  */
   {  0x50, 0x0f, 0x10, 0x20 },   /*  7,640*480/75  */
   {  0x58, 0x0f, 0x10, 0x20 },   /*  8,640*480/85  */
 #endif
};   
#elif (ADC_CHIP==ADI_9887)
Byte RDATA Data9887[][5] =
{       
 /*  reg03,reg05,reg06,reg07,reg0e  */
   {  0xa4, 0x10, 0x10, 0x20, 0xf8  },   /*  0,640*350/70  */
   {  0xa4, 0x10, 0x10, 0x20, 0xf8  },   /*  1,640*400/56  */
   {  0xa4, 0x10, 0x10, 0x20, 0xf8  },   /*  2,640*400/70  */
   {  0xa4, 0x10, 0x10, 0x20, 0xf8  },   /*  3,640*400/85  */
   {  0xa4, 0x10, 0x10, 0x20, 0xf8  },   /*  4,640*480/60  */
   {  0xa8, 0x10, 0x10, 0x20, 0xf8  },   /*  5,640*480/66  */
   {  0xa8, 0x10, 0x10, 0x20, 0xf8  },   /*  6,640*480/72  */
   {  0xac, 0x10, 0x10, 0x20, 0xf8  },   /*  7,640*480/75  */
   {  0xcc, 0x10, 0x10, 0x20, 0xf8  },   /*  8,640*480/85  */
   {  0xa8, 0x10, 0x10, 0x20, 0xf8  },   /*  9,720*400/70  */
   {  0xcc, 0x10, 0x10, 0x20, 0xf8  },   /* 10,720*400/85  */
   {  0xcc, 0x10, 0x10, 0x20, 0xf8  },   /* 11,800*600/56  */
   {  0xcc, 0x10, 0x10, 0x20, 0xf8  },   /* 12,800*600/60  */
   {  0xd0, 0x10, 0x10, 0x20, 0xf8  },   /* 13,800*600/70  */
   {  0xd0, 0x10, 0x10, 0x20, 0xf8  },   /* 14,800*600/72  */
   {  0xd0, 0x10, 0x10, 0x20, 0xf8  },   /* 15,800*600/75  */
   {  0xa8, 0x10, 0x10, 0x20, 0xd8  },   /* 16,800*600/85  */
   {  0xa8, 0x10, 0x10, 0x20, 0xd8  },   /* 17,832*624/75  */
   {  0xa0, 0x10, 0x10, 0x20, 0xd8  },   /* 18,1024*768/43 */
   {  0xac, 0x10, 0x10, 0x20, 0xd8  },   /* 19,1024*768/60 */
   {  0xac, 0x10, 0x10, 0x20, 0xd8  },   /* 20,1024*768/70 */
   {  0xcc, 0x10, 0x10, 0x20, 0xd8  },   /* 21,1024*768/72 */
   {  0xcc, 0x10, 0x10, 0x20, 0xd8  },   /* 22,1024*768/75 */
   {  0xcc, 0x10, 0x10, 0x20, 0xd8  },   /* 23,1024*768/85 */
   {  0xcc, 0x10, 0x10, 0x20, 0xd8  },   /* 24,1024*768/75 (MAC) */

   {  0xcc, 0x10, 0x10, 0x20, 0xd8  },   /* 25,1152*864/70  */
   {  0xd0, 0x10, 0x10, 0x20, 0xd8  },   /* 26,1152*864/75  */
   {  0xf0, 0x10, 0x10, 0x20, 0xd8  },   /* 27,1152*864/85  */
   {  0xcc, 0x10, 0x10, 0x20, 0xd8  },   /* 28,1152*870/75  */
   {  0xd0, 0x10, 0x10, 0x20, 0xd8  },   /* 29,1280*960/60  */
   {  0xd0, 0x10, 0x10, 0x20, 0xd8  },   /* 30,1280*1024/60 */
   {  0xf0, 0x10, 0x10, 0x20, 0xd8  },   /* 31,1280*1024/70 */
   {  0xf0, 0x10, 0x10, 0x20, 0xd8  },   /* 32,1280*1024/72 */
   {  0xf0, 0x10, 0x10, 0x20, 0xd8  },   /* 33,1280*1024/75 */
   {  0xf4, 0x10, 0x10, 0x20, 0xd8  },   /* 34,1280*1024/85 */

   {  0xcc, 0x10, 0x10, 0x20, 0xd8  },   /* 35,1024*768/66  (SUN) */
   {  0xcc, 0x10, 0x10, 0x20, 0xd8  },   /* 36,1024*800/84  (SUN) */
   {  0xcc, 0x10, 0x10, 0x20, 0xd8  },   /* 37,1152*900/66  (SUN) */
   {  0xd0, 0x10, 0x10, 0x20, 0xd8  },   /* 38,1152*900/76  (SUN) */
   {  0xd0, 0x10, 0x10, 0x20, 0xd8  },   /* 39,1280*1024/67 (SUN) */
   {  0xf0, 0x10, 0x10, 0x20, 0xd8  },   /* 40,1280*1024/76 (SUN) */
   {  0xcc, 0x10, 0x10, 0x20, 0xd8  },   /* 41,1024*768/87 (Interlace) */
   
   {  0xf4, 0x10, 0x10, 0x20, 0xd8  },   /* 42,1600*1200/60 */
 #if (DOUBLE_SAMPLING==1)
   {  0xa4, 0x10, 0x10, 0x20, 0xf8  },   /*  0,640*350/70  */
   {  0xa4, 0x10, 0x10, 0x20, 0xf8  },   /*  1,640*400/56  */
   {  0xa4, 0x10, 0x10, 0x20, 0xf8  },   /*  2,640*400/70  */
   {  0xa4, 0x10, 0x10, 0x20, 0xf8  },   /*  3,640*400/85  */
   {  0xa4, 0x10, 0x10, 0x20, 0xf8  },   /*  4,640*480/60  */
   {  0xa8, 0x10, 0x10, 0x20, 0xf8  },   /*  5,640*480/66  */
   {  0xa8, 0x10, 0x10, 0x20, 0xf8  },   /*  6,640*480/72  */
   {  0xac, 0x10, 0x10, 0x20, 0xf8  },   /*  7,640*480/75  */
   {  0xcc, 0x10, 0x10, 0x20, 0xf8  },   /*  8,640*480/85  */
 #endif
};   
#elif (ADC_CHIP==SCL_9884)
Byte RDATA Data9884[][4] =
{
 /* reg08,reg09,reg0C,reg0C */
   { 0x10, 0x10, 0x00, 0x04 },   /*  0,640*350/70  */
   { 0x10, 0x10, 0x00, 0x04 },   /*  1,640*400/56  */
   { 0x10, 0x10, 0x00, 0x04 },   /*  2,640*400/70  */
   { 0x10, 0x10, 0x04, 0x28 },   /*  3,640*400/85  */
   { 0x10, 0x10, 0x04, 0x08 },   /*  4,640*480/60  */
   { 0x10, 0x10, 0x04, 0x28 },   /*  5,640*480/66  */
   { 0x10, 0x10, 0x04, 0x08 },   /*  6,640*480/72  */
   { 0x10, 0x10, 0x04, 0x28 },   /*  7,640*480/75  */
   { 0x10, 0x10, 0x04, 0x28 },   /*  8,640*480/85  */
   { 0x10, 0x10, 0x00, 0x08 },   /*  9,720*400/70  */
   { 0x10, 0x10, 0x04, 0x28 },   /* 10,720*400/85  */
   { 0x10, 0x10, 0x04, 0x28 },   /* 11,800*600/56  */
   { 0x10, 0x10, 0x04, 0x28 },   /* 12,800*600/60  */
   { 0x10, 0x10, 0x04, 0x2c },   /* 13,800*600/70  */
   { 0x10, 0x10, 0x08, 0x2c },   /* 14,800*600/72  */
   { 0x10, 0x10, 0x08, 0x2c },   /* 15,800*600/75  */
   { 0x10, 0x10, 0x2c, 0x2c },   /* 16,800*600/85  */
   { 0x10, 0x10, 0x2c, 0x2c },   /* 17,832*624/75  */
   { 0x10, 0x10, 0x0c, 0x0c },   /* 18,1024*768/43 */
   { 0x10, 0x10, 0x30, 0x30 },   /* 19,1024*768/60 */
   { 0x10, 0x10, 0x34, 0x30 },   /* 20,1024*768/70 */
   { 0x10, 0x10, 0x34, 0x30 },   /* 21,1024*768/72 */
   { 0x10, 0x10, 0x34, 0x30 },   /* 22,1024*768/75 */
   { 0x10, 0x10, 0x50, 0x50 },   /* 23,1024*768/85 */
   { 0x10, 0x10, 0x34, 0x30 },   /* 24,1024*768/75 (MAC) */

   { 0x10, 0x10, 0x54, 0x54 },   /* 25,1152*864/70  */
   { 0x10, 0x10, 0x54, 0x54 },   /* 26,1152*864/75  */
   { 0x10, 0x10, 0x78, 0x78 },   /* 27,1152*864/85  */
   { 0x10, 0x10, 0x54, 0x54 },   /* 28,1152*870/75  */
   { 0x10, 0x10, 0x54, 0x54 },   /* 29,1280*960/60  */
   { 0x10, 0x10, 0x54, 0x54 },   /* 30,1280*1024/60 */
   { 0x10, 0x10, 0x74, 0x74 },   /* 31,1280*1024/70 */
   { 0x10, 0x10, 0x78, 0x78 },   /* 32,1280*1024/72 */
   { 0x10, 0x10, 0x78, 0x78 },   /* 33,1280*1024/75 */
   { 0x10, 0x10, 0x78, 0x78 },   /* 34,1280*1024/85 */

   { 0x10, 0x10, 0x34, 0x34 },   /* 35,1024*768/66  (SUN) */
   { 0x10, 0x10, 0x50, 0x50 },   /* 36,1024*800/84  (SUN) */
   { 0x10, 0x10, 0x54, 0x54 },   /* 37,1152*900/66  (SUN) */
   { 0x10, 0x10, 0x54, 0x54 u,   /* 38,1152*900/76  (SUN) */
   { 0x10, 0x10, 0x54, 0x54 },   /* 39,1280*1024/67 (SUN) */
   { 0x10, 0x10, 0x78, 0x78 },   /* 40,1280*1024/76 (SUN) */
   { 0x10, 0x10, 0x0c, 0x0c },   /* 41,1024*768/87 (Interlace) */
   
   { 0x10, 0x10, 0x7C, 0x7C },   /* 42,1600*1200/60 */
 #if (DOUBLE_SAMPLING==1)
   { 0x10, 0x10, 0x04, 0x04 },   /*  0,640*350/70  */
   { 0x10, 0x10, 0x04, 0x04 },   /*  1,640*400/56  */
   { 0x10, 0x10, 0x04, 0x04 },   /*  2,640*400/70  */
   { 0x10, 0x10, 0x28, 0x28 },   /*  3,640*400/85  */
   { 0x10, 0x10, 0x08, 0x08 },   /*  4,640*480/60  */
   { 0x10, 0x10, 0x28, 0x28 },   /*  5,640*480/66  */
   { 0x10, 0x10, 0x08, 0x08 },   /*  6,640*480/72  */
   { 0x10, 0x10, 0x28, 0x28 },   /*  7,640*480/75  */
   { 0x10, 0x10, 0x28, 0x28 },   /*  8,640*480/85  */
 #endif
};
#elif (ADC_CHIP==TMI_9884)
Byte RDATA Data9884[][4] =
{
 /* reg08,reg09,reg0C,reg0C */
   { 0x10, 0x10, 0x01, 0x04 },   /*  0,640*350/70  */
   { 0x10, 0x10, 0x01, 0x04 },   /*  1,640*400/56  */
   { 0x10, 0x10, 0x02, 0x04 },   /*  2,640*400/70  */
   { 0x10, 0x10, 0x02, 0x28 },   /*  3,640*400/85  */
   { 0x10, 0x10, 0x02, 0x08 },   /*  4,640*480/60  */
   { 0x10, 0x10, 0x02, 0x28 },   /*  5,640*480/66  */
   { 0x10, 0x10, 0x02, 0x08 },   /*  6,640*480/72  */
   { 0x10, 0x10, 0x02, 0x28 },   /*  7,640*480/75  */
   { 0x10, 0x10, 0x05, 0x28 },   /*  8,640*480/85  */
   { 0x10, 0x10, 0x02, 0x08 },   /*  9,720*400/70  */
   { 0x10, 0x10, 0x04, 0x28 },   /* 10,720*400/85  */
   { 0x10, 0x10, 0x01, 0x28 },   /* 11,800*600/56  */
   { 0x10, 0x10, 0x01, 0x28 },   /* 12,800*600/60  */
   { 0x10, 0x10, 0x02, 0x2c },   /* 13,800*600/70  */
   { 0x10, 0x10, 0x02, 0x2c },   /* 14,800*600/72  */
   { 0x10, 0x10, 0x04, 0x2c },   /* 15,800*600/75  */
   { 0x10, 0x10, 0x41, 0x2c },   /* 16,800*600/85  */
   { 0x10, 0x10, 0x41, 0x2c },   /* 17,832*624/75  */
   { 0x10, 0x10, 0x02, 0x0c },   /* 18,1024*768/43 */
   { 0x10, 0x10, 0x41, 0x2c },   /* 19,1024*768/60 */
   { 0x10, 0x10, 0x41, 0x30 },   /* 20,1024*768/70 */
   { 0x10, 0x10, 0x41, 0x30 },   /* 21,1024*768/72 */
   { 0x10, 0x10, 0x42, 0x30 },   /* 22,1024*768/75 */
   { 0x10, 0x10, 0x42, 0x50 },   /* 23,1024*768/85 */
   { 0x10, 0x10, 0x42, 0x30 },   /* 24,1024*768/75 (MAC) */

   { 0x10, 0x10, 0x50, 0x50 },   /* 25,1152*864/70  */
   { 0x10, 0x10, 0x54, 0x54 },   /* 26,1152*864/75  */
   { 0x10, 0x10, 0x78, 0x78 },   /* 27,1152*864/85  */
   { 0x10, 0x10, 0x54, 0x54 },   /* 28,1152*870/75  */
   { 0x10, 0x10, 0x54, 0x54 },   /* 29,1280*960/60  */
   { 0x10, 0x10, 0x54, 0x54 },   /* 30,1280*1024/60 */
   { 0x10, 0x10, 0x74, 0x74 },   /* 31,1280*1024/70 */
   { 0x10, 0x10, 0x78, 0x78 },   /* 32,1280*1024/72 */
   { 0x10, 0x10, 0x78, 0x78 },   /* 33,1280*1024/75 */
   { 0x10, 0x10, 0x78, 0x78 },   /* 34,1280*1024/85 */

   { 0x10, 0x10, 0x41, 0x34 },   /* 35,1024*768/66  (SUN) */
   { 0x10, 0x10, 0x50, 0x50 },   /* 36,1024*800/84  (SUN) */
   { 0x10, 0x10, 0x54, 0x54 },   /* 37,1152*900/66  (SUN) */
   { 0x10, 0x10, 0x54, 0x54 },   /* 38,1152*900/76  (SUN) */
   { 0x10, 0x10, 0x54, 0x54 },   /* 39,1280*1024/67 (SUN) */
   { 0x10, 0x10, 0x78, 0x78 },   /* 40,1280*1024/76 (SUN) */
   { 0x10, 0x10, 0x0c, 0x0c },   /* 41,1024*768/87 (Interlace) */
   
   { 0x10, 0x10, 0x7C, 0x7C },   /* 42,1600*1200/60 */
 #if (DOUBLE_SAMPLING==1)
   { 0x10, 0x10, 0x04, 0x04 },   /*  0,640*350/70  */
   { 0x10, 0x10, 0x04, 0x04 },   /*  1,640*400/56  */
   { 0x10, 0x10, 0x04, 0x04 },   /*  2,640*400/70  */
   { 0x10, 0x10, 0x28, 0x28 },   /*  3,640*400/85  */
   { 0x10, 0x10, 0x08, 0x08 },   /*  4,640*480/60  */
   { 0x10, 0x10, 0x28, 0x28 },   /*  5,640*480/66  */
   { 0x10, 0x10, 0x08, 0x08 },   /*  6,640*480/72  */
   { 0x10, 0x10, 0x28, 0x28 },   /*  7,640*480/75  */
   { 0x10, 0x10, 0x28, 0x28 },   /*  8,640*480/85  */
 #endif
};   
#endif

//**************************************************************************
// PROGRAM SECTION
//**************************************************************************
void ADC9884(Byte Item)
{    
#if (ADC_CHIP==ADI_9884 || ADC_CHIP==FMS_9884 || ADC_CHIP==FMS_9874 || ADC_CHIP==SCL_9884 || ADC_CHIP==TMI_9884 )    
    Word wval;
    Byte bval;
    
    if( ModeInputport[Item]==1 )  /* 1:Single,Double-Sampling */
        wval = (ClockValue*2 - 1) << 4;
    else /* 0:Single,Normal-sampling, 2,Dual-Port-Sampling*/
        wval = (ClockValue - 1) << 4;
    
    AdcWriteWord(0x00, wval);                       // Reg00,01 clockvalue 
    AdcWriteByte(0x02, GainModify(U1RgainValue));    // Reg02 R Gain     contrast
    AdcWriteByte(0x03, GainModify(U1GgainValue));    // Reg03 G Gain     contrast
    AdcWriteByte(0x04, GainModify(U1BgainValue));    // Reg04 B Gain     contrast
    AdcWriteByte(0x05, ColorModify(M_BrightnessR,U1RgainValue));  // Reg05 R OFFSET   brightness
    AdcWriteByte(0x06, ColorModify(M_BrightnessG,U1GgainValue));  // Reg06 G OFFSET   brightness
    AdcWriteByte(0x07, ColorModify(M_BrightnessB,U1BgainValue));  // Reg07 B OFFSET   brightness
    AdcWriteByte(0x08, Data9884[Item][0]);           // Reg08 Clamp placement
    AdcWriteByte(0x09, Data9884[Item][1]);           // Reg09 Clamp duration

    if( ModeInputport[Item] == 0 )                   // normal sampling,single port
    {
 #if   ZURAC_HWMD
       if( Z2_OUTPUTHPOL )  bval = 0x30;
       else                 bval = 0x10;
 #else   
       if( CurrentHPol )    bval = 0x30;
       else                 bval = 0x10;
 #endif  
       AdcWriteByte(0x0A,bval);               // Reg0A
       AdcWriteByte(0x0B,PhaseValue<<3);      // Reg0B phase

⌨️ 快捷键说明

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