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

📄 _m150xs03.h

📁 keil c51平台,此代码可用于学习TFT LCD 之TCON,SCALER,OSD,(本人自己修改)
💻 H
📖 第 1 页 / 共 2 页
字号:
{
#if (SPREAD_SPECTRUM)
    4,  N_INC,  DPLL_CTRL_D0,       0x09,                                           // Enable DCLK
#else
    4,  N_INC,  DPLL_CTRL_D0,       0x11,                                           // Enable DCLK
#endif

    27, Y_INC,  VDIS_CTRL_20,       0x20 | DISP_BIT | DISPLAY_PORT,                 // Disable display timing
                                    DISP_INV,
                                    (STD_DH_TOTAL & 0xff), (STD_DH_TOTAL >> 8),     // DH_TOTAL
                                    STD_HSYNC_WIDTH,                                // DH_HS_END
                                    (DH_ACT_STA_POS & 0xff), (DH_ACT_STA_POS >> 8), // DH_BKGD_STA
                                    (DH_ACT_STA_POS & 0xff), (DH_ACT_STA_POS >> 8), // DH_ACT_STA
                                    (DH_ACT_END_POS & 0xff), (DH_ACT_END_POS >> 8), // DH_ACT_END
                                    (DH_ACT_END_POS & 0xff), (DH_ACT_END_POS >> 8), // DH_BKGD_END
                                    (STD_DV_TOTAL & 0xff), (STD_DV_TOTAL >> 8),     // DV_TOTAL
                                    STD_VSYNC_LENGTH,                               // DV_VS_END
                                    (DV_ACT_STA_POS & 0xff), (DV_ACT_STA_POS >> 8) | AUTO_SWITCH, // DV_BKGD_STA
                                    (DV_ACT_STA_POS & 0xff), (DV_ACT_STA_POS >> 8), // DV_ACT_STA
                                    (DV_ACT_END_POS & 0xff), (DV_ACT_END_POS >> 8), // DV_ACT_END
                                    (DV_ACT_END_POS & 0xff), (DV_ACT_END_POS >> 8), // DV_BKGD_END

    4,  N_INC,  VDIS_CTRL_20,       0x23 | DISP_BIT | DISPLAY_PORT,         // Enable free-run background

    // Force display timing start
    6,  Y_INC,  YUV2RGB_39,         0x00, 0x20 | DCLK_DELAY, 0x04 | DCLK_INV,
    4,  N_INC,  DIS_TIMING0_3A,     0x00 | DCLK_DELAY,

    4,  N_INC,  INT_FLD_DETECT_14,  0x00,
    5,  Y_INC,  IVS_DELAY_8C,       0x00, 0x00,

	4,  N_INC,  SCALE_CTRL_15,      0x00,

    4,  N_INC,  FILTER_CTRL0_1B,    0xc4,


    0
};

unsigned char code OSD_PWUP_INI[]   =
{
    5,  Y_INC,  OSD_ROW_90,     0xaf,0x0f,
    6,  N_INC,  OSD_DATA_92,    0x2c,0xf0,0xf0,

    5,  Y_INC,  OSD_ROW_90,     0xaf,0x19,
    5,  N_INC,  OSD_DATA_92,    0x00,0x88,

    0
};


///////////////////////////////////////////////////////////////////////////
//VGA mode detect range
unsigned int code VGA_Mode[][6] =
{
//      HF_min, HF_max, VL_min, VL_max, HF_std, VS+1
    {   0,      0,      0,      0,      0,      0       }, //00:No Signal

    {   764,    806,    620,    636,    781,    2+1     }, //01:VGA [640/720]*350*50Hz
    {   764,    806,    620,    636,    781,    2+1     }, //02:VGA [640/720]*400*50Hz
    {   764,    806,    516,    532,    781,    2+1     }, //03:VGA [640/720]*350*60Hz
    {   764,    806,    516,    532,    781,    2+1     }, //04:VGA [640/720]*400*60Hz

    {   969,    1021,   431,    447,    990,    8+1     }, //05:640*400*56hz
    {   768,    810,    440,    456,    785,    2+1     }, //06:640*350*70hz
    {   764,    806,    440,    456,    781,    2+1     }, //07:720*350*70hz
    {   764,    806,    440,    456,    781,    2+1     }, //08:640*400*70hz
    {   764,    806,    440,    456,    781,    2+1     }, //09:700*400*70hz
    {   635,    670,    436,    452,    649,    3+1     }, //10:640*350*85hz
    {   635,    670,    436,    452,    649,    3+1     }, //11:640*400*85hz
    {   634,    669,    437,    453,    648,    3+1     }, //12:720*400*85hz
    {   764,    806,    620,    636,    781,    2+1     }, //13:640*480*50hz
    {   764,    806,    516,    532,    781,    2+1     }, //14:640*480*60hz
    {   687,    724,    516,    532,    702,    3+1     }, //15:640*480*66hz
    {   635,    670,    511,    527,    649,    3+1     }, //16:640*480*72hz
    {   641,    676,    495,    507,    655,    3+1     }, //17:640*480*75hz
    {   556,    586,    500,    516,    568,    3+1     }, //18:640*480*85hz
    {   684,    721,    616,    632,    699,    2+1     }, //19:800*600*56hz
    {   635,    670,    619,    635,    649,    4+1     }, //20:800*600*60hz
    {   492,    519,    721,    737,    503,    6+1     }, //21:800*600*66hz
    {   500,    527,    657,    673,    511,    6+1     }, //22:800*600*72hz
    {   513,    541,    616,    632,    524,    3+1     }, //23:800*600*75hz
    {   448,    473,    622,    638,    458,    3+1     }, //24:800*600*85hz
    {   483,    510,    658,    674,    494,    3+1     }, //25:832*624*75hz
    {   497,    524,    797,    813,    508,    6+1     }, //26:1024*768*60hz
    {   493,    520,    810,    826,    504,    6+1     }, //27:1024*768*59hz
    {   445,    470,    807,    823,    455,    4+1     }, //28:1024*768*66hz
    {   425,    449,    797,    813,    435,    6+1     }, //29:1024*768*70hz
    {   399,    421,    795,    811,    408,    3+1     }, //30:1024*768*74hz
    {   400,    422,    791,    807,    409,    3+1     }, //31:1024*768*75hz
    {   350,    370,    799,    815,    358,    3+1     }, //32:1024*768*85hz
    {   339,    358,    834,    850,    347,    8+1     }, //33:1024*800*84hz
    {   356,    376,    891,    907,    364,    3+1     }, //34:1152*864*75hz
    {   350,    370,    906,    922,    358,    3+1     }, //35:1152*870*75hz
    {   389,    411,    928,    944,    398,    4+1     }, //36:1152*900*66hz
    {   335,    354,    934,    950,    343,    8+1     }, //37:1152*900*76hz
    {   401,    423,    991,    1007,   410,    3+1     }, //38:1280*960*60hz
    {   280,    295,    1002,   1018,   286,    3+1     }, //39:1280*960*85hz
    {   376,    396,    1057,   1073,   384,    3+1     }, //40:1280*1024*60hz
    {   312,    329,    1060,   1076,   319,    3+1     }, //41:1280*1024*72hz
    {   296,    313,    1057,   1073,   303,    8+1     }, //42:1280*1024*76hz
    {   300,    317,    1057,   1073,   307,    3+1     }, //43:1280*1024*75hz
    {   264,    279,    1063,   1079,   270,    3+1     }, //44:1280*1024*85hz
    {   321,    339,    1241,   1257,   328,    3+1     }, //45:1600*1200*60hz

    {   0,      0,      0,      0,      0,      0       }, //46:Mode reserved 00
    {   0,      0,      0,      0,      0,      0       }, //47:Mode reserved 01
    {   0,      0,      0,      0,      0,      0       }, //48:Mode reserved 02
    {   0,      0,      0,      0,      0,      0       }, //49:Mode reserved 03

    {   484,    1163,   418,    497,    0,      2+1     }, //50:NewMode720x400
    {   404,    969,    498,    617,    0,      2+1     }, //51:NewMode640x480
    {   323,    775,    618,    785,    0,      2+1     }, //52:NewMode800x600
    {   252,    606,    786,    881,    0,      2+1     }, //53:NewMode1024x768
    {   224,    538,    882,    917,    0,      2+1     }, //54:NewMode1152x864
    {   215,    517,    918,    977,    0,      2+1     }, //55:NewMode1152x900
    {   202,    484,    978,    1041,   0,      2+1     }, //56:NewMode1280x960
    {   189,    454,    1042,   1217,   0,      2+1     }, //57:NewMode1280x1024
    {   161,    388,    1218,   1328,   0,      2+1     }, //58:NewMode1600x1200
};

unsigned int code Mode_Preset[][5]   =
{
    //  DH_TOTAL    DH_ACT_WID  DV_ACT_LEN      DCLK_M/N    IVS_DELAY
    {   STD_DH_TOTAL,       1024,       768,            0,          0       }, //00:No Signal

    //  VGA confused mode
    {   STD_DH_TOTAL,       1024,       768,            0,          63      }, //01:VGA [640/720]*350*50Hz
    {   STD_DH_TOTAL,       1024,       768,            0,          31      }, //02:VGA [640/720]*400*50Hz
    {   STD_DH_TOTAL,       1024,       768,            0,          63      }, //03:VGA [640/720]*350*60Hz
    {   STD_DH_TOTAL,       1024,       768,            0,          31      }, //04:VGA [640/720]*400*60Hz

    //  Standard mode
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //05:640*400*56hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //06:640*350*70hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //07:720*350*70hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //08:640*400*70hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //09:700*400*70hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //10:640*350*85hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //11:640*400*85hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //12:720*400*85hz
    {   STD_DH_TOTAL,       1024,       768,            0,          31      }, //13:640*480*50hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //14:640*480*60hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //15:640*480*66hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //16:640*480*72hz
    {   STD_DH_TOTAL,       1024,       768,            0,          3       }, //17:640*480*75hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //18:640*480*85hz
    {   STD_DH_TOTAL,       1024,       768,            0,          3       }, //19:800*600*56hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //20:800*600*60hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //21:800*600*66hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //22:800*600*72hz
    {   STD_DH_TOTAL,       1024,       768,            0,          3       }, //23:800*600*75hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //24:800*600*85hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //25:832*624*75hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //26:1024*768*60hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //27:1024*768*59hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //28:1024*768*66hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //29:1024*768*70hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //30:1024*768*74hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //31:1024*768*75hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //32:1024*768*85hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //33:1024*800*84hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //34:1152*864*75hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //35:1152*870*75hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //36:1152*900*66hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //37:1152*900*76hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //38:1280*960*60hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //39:1280*960*85hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //40:1280*1024*60hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //41:1280*1024*72hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //42:1280*1024*76hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //43:1280*1024*75hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //44:1280*1024*85hz
    {   STD_DH_TOTAL,       1024,       768,            0,          7       }, //45:1600*1200*60hz

    //  Reserved mode
    {   STD_DH_TOTAL,       1024,       768,            0,          0       }, //46:Mode reserved 00
    {   STD_DH_TOTAL,       1024,       768,            0,          0       }, //47:Mode reserved 01
    {   STD_DH_TOTAL,       1024,       768,            0,          0       }, //48:Mode reserved 02
    {   STD_DH_TOTAL,       1024,       768,            0,          0       }, //49:Mode reserved 03

    //  Unknown user mode
    {   STD_DH_TOTAL,       1024,       768,            0,          3       }, //50:NewMode720x400
    {   STD_DH_TOTAL,       1024,       768,            0,          3       }, //51:NewMode640x480
    {   STD_DH_TOTAL,       1024,       768,            0,          3       }, //52:NewMode800x600
    {   STD_DH_TOTAL,       1024,       768,            0,          3       }, //53:NewMode1024x768
    {   STD_DH_TOTAL,       1024,       768,            0,          3       }, //54:NewMode1152x864
    {   STD_DH_TOTAL,       1024,       768,            0,          3       }, //55:NewMode1152x900
    {   STD_DH_TOTAL,       1024,       768,            0,          3       }, //56:NewMode1280x960
    {   STD_DH_TOTAL,       1024,       768,            0,          3       }, //57:NewMode1280x1024
    {   STD_DH_TOTAL,       1024,       768,            0,          3       }, //58:NewMode1600x1200
    
    //  Safe display mode
    {   STD_DH_TOTAL,       1024,       768,            0,          3       }, //59:Undefined SU mode
    {   STD_DH_TOTAL,       1024,       768,            0,          3       }, //60:Undefined SD mode
};

///////////////////////////////////////////////////////////////////////////////
//Video Setting
#if (VIDEO_CHIP == VDC_NONE)
// No Video Decoder
unsigned char code RTD_VIDEO_60[]   = { 0 };
unsigned char code RTD_VIDEO_50[]   = { 0 };

#else

#if (VIDEO_CHIP == VDC_SAA7114 || VIDEO_CHIP == VDC_SAA7115 )

#define H_60    0x91    // For SAA7114/7118
#define H_50    0x7c    // For SAA7114/7118

#else

#define H_60    0x56    // For SAA7111A
#define H_50    0x5e    // For SAA7111A

#endif
unsigned char code RTD_VIDEO_60[]   =
{
    11, Y_INC,  IPH_ACT_STA_06,     0x0b, 0x00, 0xb8, 0x02,
                                    0x18, 0x00, 0xec, 0x00,
    10, Y_INC,  INT_FLD_DETECT_14,  0x14, 0x03, 0x00, 0xae, 0xaa, 0x4e, 0x0a,
    4,  N_INC,  FS_FT_DELAY_1E,     0x1a,
    7,  Y_INC,  DRW_BSU_40,         0xb8, 0x02, 0xec, 0x00,
    4,  N_INC,  OP_CRC_CTRL_68,     0x48,
    4,  N_INC,  SD_CTRL_70,         0x00 | VIDEO_ICLK_DELAY,
 //   5,  Y_INC,  IVS_DELAY_8C,       0x00, 0x00,
    5,  Y_INC,  IVS_DELAY_8C,       0x00, 0x10,
#if (SPREAD_SPECTRUM)
    8,  Y_INC,  DPLL_CTRL_D0,       0x09, 0x68, 0x52, 0x0c, 0xf7,
#else    
    8,  Y_INC,  DPLL_CTRL_D0,       0x11, 0x68, 0x52, 0x2f, 0x06,
#endif
    29, Y_INC,  VDIS_CTRL_20,       0x28 | DISP_BIT | DISPLAY_PORT | DHS_MASK,
                                    DISP_INV,
                                    0xf0, 0x04,
                                    0x10,
                                    0x20, 0x00,
                                    0x20, 0x00,
                                    0x20, 0x04,
                                    0x20, 0x04,
                                    0x60, 0x03,
                                    0x03,
                                    0x0f, 0x00,
                                    0x0f, 0x00,
                                    0x0f, 0x03,
                                    0x0f, 0x03,
                                    0x15, 0x20,

    4,  N_INC,  VDIS_CTRL_20,       0x2b | DISP_BIT | DISPLAY_PORT | DHS_MASK,
    5,  Y_INC,  VGIP_CTRL_04,       0x1d, 0x04,
    0
};
unsigned char code RTD_VIDEO_50[]=
{
    11, Y_INC,  IPH_ACT_STA_06,     0x02, 0x00, 0xb8, 0x02,
                                    0x0b, 0x00, 0x1a, 0x01,
    10, Y_INC,  INT_FLD_DETECT_14,  0x14, 0x03, 0x00, 0xae, 0x00, 0x5e, 0x00,
    4,  N_INC,  FS_FT_DELAY_1E,     0x1a,
    7,  Y_INC,  DRW_BSU_40,         0xb8, 0x02, 0x1a, 0x01,
    4,  N_INC,  OP_CRC_CTRL_68,     0x48,
    4,  N_INC,  SD_CTRL_70,         0x00 | VIDEO_ICLK_DELAY,
    5,  Y_INC,  IVS_DELAY_8C,       0x00, 0x06,
#if (SPREAD_SPECTRUM)
    8,  Y_INC,  DPLL_CTRL_D0,       0x09, 0x57, 0x52, 0x0d, 0xf7,
#else    
    8,  Y_INC,  DPLL_CTRL_D0,       0x11, 0x57, 0x52, 0x2f, 0x06,
#endif
    29, Y_INC,  VDIS_CTRL_20,       0x28 | DISP_BIT | DISPLAY_PORT | DHS_MASK,
                                    DISP_INV,
                                    0x00, 0x05,
                                    0x10,
                                    0x20, 0x00,
                                    0x20, 0x00,
                                    0x20, 0x04,
                                    0x20, 0x04,
                                    0x60, 0x03,
                                    0x03,
                                    0x0f, 0x00,
                                    0x0f, 0x00,
                                    0x0f, 0x03,
                                    0x0f, 0x03,
                                    0x08, 0x20,
    4,  N_INC,  VDIS_CTRL_20,       0x2b | DISP_BIT | DISPLAY_PORT | DHS_MASK,
    5,  Y_INC,  VGIP_CTRL_04,       0x1d, 0x0c,
    0
};
#endif

#else 

extern unsigned char code RTD_PWUP_INI[];
extern unsigned char code RTD_DDC_TABLE[];
extern unsigned char code RTD_IO_INI[];
extern unsigned char code RTD_DISABLE_TCON[];
extern unsigned char code RTD_YXAO_TCON[];
extern unsigned char code RTD_ENABLE_TCON[];

extern unsigned char code FreeV[];
extern unsigned char code OSD_PWUP_INI[];

extern unsigned int code VGA_Mode[][6];
extern unsigned int code Mode_Preset[][5];

extern unsigned char code RTD_VIDEO_60[];
extern unsigned char code RTD_VIDEO_50[];

#endif

⌨️ 快捷键说明

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