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

📄 mode.c

📁 主要用于液晶电视解码,内置51单片机,全部代码用C编写,编译环境为KEILC
💻 C
字号:

#define _MODE_C_

#include "types.h"
#include "board.h"
#include "mode.h"
#include "ms_reg.h"
#include "panel.h"


InputResolutionType code tStandardModeResolution[]=
{
#if VGA_ENABLE
  { 640,  350}, // Res_640x350,
  { 640,  400}, // Res_640x400,
  { 720,  400}, // Res_720x400,
  { 640,  480}, // Res_640x480,
  { 800,  600}, // Res_800x600,
  { 832,  624}, // Res_832x624,
  {1024,  768}, // Res_1024x768,
  {1280, 1024}, // Res_1280x1024,
  {1600, 1200}, // Res_1600x1200,
  {1152,  864}, // Res_1152x864,
  {1152,  870}, // Res_1152x870,
  {1280,  960}, // Res_1280x960,
  {1280,  720},  //Res_1280x720
  {1920, 1080}, // Res_1920x1080
 #endif
  {720,   480}, //Res_720x480
  {720,   576}, //Res_720x576
};
//for display info
BYTE code StandardResolutionIndexText[Max_Res][11]=
{//123456789012345678901234567890
#if VGA_ENABLE
 {"640X350"},
 {"640X400"},
 {"720X400"},
 {"640X480"},
 {"800X600"},
 {"832X624"},
 {"1024X768"},
 {"1280X1024"},
 {"1600X1200"},
 {"1152X864"},
 {"1152X870"},
 {"1280X960"},
 {"1280X720"},
 {"1920X1080"},
#endif
 {"720X480"},
 {"720X576"},
};
#define HFreq_Torlance		25 // 1.5 KHz
#define VFreq_Torlance		30 // 1.5 Hz


InputModeType code tStandardMode[]=
{
#if VGA_ENABLE
// 640x350 70Hz (IMB VGA)//0
  { SyncHpVn, // Flags
    Res_640x350, // ResIndex
    315, 700, // HFreq, VFreq
    800, 449, // HTotal, VTotal
    144, 62, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 640x350 85Hz (VESA)//1
  { SyncHpVn, // Flags
//    Res_640x350, // ResIndex
    Res_640x400, // ResIndex
    379, 851, // HFreq, VFreq
    832, 445, // HTotal, VTotal
    160, 63, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 640x400 70Hz (IMB VGA)//2
  { SyncHpVp | SyncHnVp | SyncHnVn, // Flags
    Res_640x400, // ResIndex
    315, 700, // HFreq, VFreq
    800, 449, // HTotal, VTotal
    144, 37, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 640x400 85Hz (VESA)//3
  { SyncHpVp | SyncHnVp | SyncHnVn, // Flags
    Res_640x400, // ResIndex
    379, 851, // HFreq, VFreq
    832, 445, // HTotal, VTotal
    160, 44, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 720x400 70Hz (VGA)//4
  { SyncHpVp | SyncHnVp | SyncHnVn, // Flags
    Res_720x400, // ResIndex
    315, 700, // HFreq, VFreq
    900, 449, // HTotal, VTotal
    162, 37, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 720x400 85Hz (VESA)//5
  { SyncHpVp | SyncHnVp | SyncHnVn, // Flags
    Res_720x400, // ResIndex
    379, 850, // HFreq, VFreq
    936, 446, // HTotal, VTotal
    180, 45, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
#ifdef D800480PANEL
  // 640x480 60Hz (VESA)//6
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_640x480, // ResIndex
    315, 599, // HFreq, VFreq
    1056, 525, // HTotal, VTotal
    144, 35, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
    // 640x480 66Hz (MAC)//7
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_640x480, // ResIndex
    350, 667, // HFreq, VFreq
    864, 525, // HTotal, VTotal
    160, 42, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 640x480 72Hz (VESA)//8
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_640x480, // ResIndex
    379, 728, // HFreq, VFreq
    1056, 520, // HTotal, VTotal
    168, 31, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 640x480 75Hz (VESA)//9
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_640x480, // ResIndex
    375, 750, // HFreq, VFreq
    840, 500, // HTotal, VTotal
    184, 19, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
#else
  // 640x480 60Hz (VESA)//6
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_640x480, // ResIndex
    315, 599, // HFreq, VFreq
    800, 525, // HTotal, VTotal
    144, 35, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
    // 640x480 66Hz (MAC)//7
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_640x480, // ResIndex
    350, 667, // HFreq, VFreq
    864, 525, // HTotal, VTotal
    160, 42, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 640x480 72Hz (VESA)//8
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_640x480, // ResIndex
    379, 728, // HFreq, VFreq
    832, 520, // HTotal, VTotal
    168, 31, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 640x480 75Hz (VESA)//9
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_640x480, // ResIndex
    375, 750, // HFreq, VFreq
    840, 500, // HTotal, VTotal
    184, 19, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
#endif
  // 640x480 85Hz (VESA)//10
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_640x480, // ResIndex
    433, 850, // HFreq, VFreq
    832, 509, // HTotal, VTotal
    136, 28, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 800x600 56Hz (VESA)//11
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_800x600, // ResIndex
    352, 562, // HFreq, VFreq
    1024, 625, // HTotal, VTotal
    200, 24, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 800x600 60Hz (VESA)//12
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_800x600, // ResIndex
    379, 603, // HFreq, VFreq
    1056, 628, // HTotal, VTotal
    216, 27, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 800x600 72Hz (VESA)//13
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_800x600, // ResIndex
    481, 722, // HFreq, VFreq
    1040, 666, // HTotal, VTotal
    184, 29, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 800x600 75Hz (VESA)//14
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_800x600, // ResIndex
    469, 750, // HFreq, VFreq
    1056, 625, // HTotal, VTotal
    240, 24, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 800x600 85Hz (VESA)//15
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_800x600, // ResIndex
    537, 851, // HFreq, VFreq
    1048, 631, // HTotal, VTotal
    216, 30, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 832x624 75Hz (MAC)//16
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_832x624, // ResIndex
    497, 746, // HFreq, VFreq
    1152, 667, // HTotal, VTotal
    288, 42, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
#if 1
  // 1024x768 43i (VESA)//17
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn | bInterlaceMode, // Flags
    Res_1024x768, // ResIndex
    355, 868,// HFreq, VFreq
    1264, 817, // HTotal, VTotal
    232, 24, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
#endif
  // 1024x768 60Hz (VESA)//18
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_1024x768, // ResIndex
    484, 600, // HFreq, VFreq
    1344, 806, // HTotal, VTotal
    295, 35, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 1024x768 70Hz (VESA)//19
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_1024x768, // ResIndex
    565, 700, // HFreq, VFreq
    1328, 806, // HTotal, VTotal
    280, 35, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 1024x768 75Hz (VESA)//20
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_1024x768, // ResIndex
    600, 750, // HFreq, VFreq
    1312, 800, // HTotal, VTotal
    272, 31, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 1024x768 75Hz (MAC)//21
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_1024x768, // ResIndex
    602, 749, // HFreq, VFreq
    1326, 804, // HTotal, VTotal
    270, 33, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
#endif
  // 720x576i 50Hz (YCbCr)//22
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn | bInterlaceMode, // Flags
    Res_720x576, // ResIndex
    156, 500, // HFreq, VFreq
    864, 625, // HTotal, VTotal
    174, 68, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 720x480i 60Hz (YCbCr) //23
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn | bInterlaceMode, // Flags
    Res_720x480, // ResIndex
    156, 600, // HFreq, VFreq
    858, 525, // HTotal, VTotal
    169, 43,//37, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 720x576p 50Hz (YPbPr)  //24
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_720x576, // ResIndex
    315, 500, // HFreq, VFreq
    864, 625, // HTotal, VTotal
    0x9a, 0x31, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },
  // 720x480p 60Hz (YPbPr) //25
  { SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
    Res_720x480, // ResIndex
    315, 600, // HFreq, VFreq
    858, 525, // HTotal, VTotal
    0x8d, 0x28, // HStart, VStart
    HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
  },

  //=-===IMPORTANT  DON'T DELETE IT, OR IT WILL CAUSE LOOP INIFINITE//40
  { 0, // Flags
    0, // ResIndex
    0, 0, // HFreq, VFreq
    0, 0, // HTotal, VTotal
    0, 0, // HStart, VStart
    0, 0, // HSyncTolerence // VSyncTolerence
  }
};

⌨️ 快捷键说明

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