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

📄 lcd_auto.i

📁 液晶显示器程序代码
💻 I
📖 第 1 页 / 共 5 页
字号:
 extern unsigned char code SV_50_1[]; extern unsigned char code SV_50_2[]; extern unsigned char code SV_50_3[]; extern unsigned char code SV_50_4[]; extern unsigned char code SV_SECAM[];  extern unsigned char code VIDEO_ALL[]; extern unsigned char code VIDEO_YUV[]; extern unsigned char code VIDEO_60[]; extern unsigned char code VIDEO_50[];  extern unsigned char code TV_SOURCE_SEL[]; extern unsigned char code TV_SCAN_GAIN[]; extern unsigned char code TV_DISP_GAIN[];  #line 120 "Header\CONFIG.H" /0    #line 124 "Header\CONFIG.H" /1                                                                                                                                                                                                                                                                                                                       #line 435 "Header\CONFIG.H" /0  extern unsigned int code CAP_WIN[][5]; extern unsigned int code ADC_SD_SET[][3];  extern unsigned char code VGA_INI_SS[]; extern unsigned char code VGA_INI_CS[]; extern unsigned char code VGA_INI_SOG[]; extern unsigned char code VIDEO_INI[]; extern unsigned char code DVI_INI[]; extern unsigned char code VGA_SET_SS[]; extern unsigned char code VGA_SET_CS[]; extern unsigned char code VGA_SET_SOG[]; extern unsigned char code LVDS_POWERUP[]; extern unsigned char code LVDS_POWERDOWN[]; extern unsigned char code Palette_Open[]; extern unsigned char code Palette_Close[];  extern unsigned char code Palette_1[]; extern unsigned char code Palette_2[]; extern unsigned char code Palette_3[]; extern unsigned char code Palette_4[]; extern unsigned char code Palette_5[]; extern unsigned char code Palette_6[]; extern unsigned char code Palette_7[]; extern unsigned char code DCLK_OFFSET[16];  #line 8 "Code\Lcd_auto.c" /0   #line 1 "Header\LCD_FUNC.H" /0  #line 1 "HEADER\Main_def.h" /0  #line 1 "HEADER\CHAR_DEF.H" /0                                                                                                                         #line 1 "HEADER\Main_def.h" /0   #line 1 "HEADER\MODE_DEF.H" /0                                                                              #line 2 "HEADER\Main_def.h" /0   #line 1 "HEADER\RTD_DEF.H" /0                                                                                                                                                                                                                                 #line 3 "HEADER\Main_def.h" /0   #line 1 "HEADER\CODE_DEF.H" /0                                   #line 4 "HEADER\Main_def.h" /0                                                                                                                                     #line 144 "HEADER\Main_def.h" /1           #line 155 "HEADER\Main_def.h" /0  #line 157 "HEADER\Main_def.h" /1   #line 159 "HEADER\Main_def.h" /0    #line 163 "HEADER\Main_def.h" /1   #line 165 "HEADER\Main_def.h" /0                                                                                                         #line 270 "HEADER\Main_def.h" /1   #line 272 "HEADER\Main_def.h" /0 #line 273 "HEADER\Main_def.h" /1   #line 275 "HEADER\Main_def.h" /0 #line 276 "HEADER\Main_def.h" /1   #line 278 "HEADER\Main_def.h" /0 #line 279 "HEADER\Main_def.h" /1   #line 281 "HEADER\Main_def.h" /0                                       #line 1 "Header\LCD_FUNC.H" /0               typedef struct _GLOBAL_USER_DATA0 { unsigned char CONTRAST;           unsigned char BRIGHT;             unsigned char RTD_R_CONTRAST;     unsigned char RTD_G_CONTRAST;     unsigned char RTD_B_CONTRAST;     unsigned char RTD_R_BRIGHT;       unsigned char RTD_G_BRIGHT;       unsigned char RTD_B_BRIGHT;       } GLOBAL_USER_DATA0, *LP_GLOBAL_USER_DATA0;  typedef struct _GLOBAL_USER_DATA1 { unsigned char FUNCTION;                        unsigned char INPUT_SOURCE;                 unsigned char FILTER;             unsigned int  OSD_POSH;           unsigned char OSD_POSV;           unsigned char OSD_TIMEOUT;         unsigned char OSD_INPUT;	         } GLOBAL_USER_DATA1, *LP_GLOBAL_USER_DATA1;   typedef struct _GLOBAL_USER_DATA2 { unsigned char AD_R_GAIN;          unsigned char AD_G_GAIN;          unsigned char AD_B_GAIN;          unsigned char AD_R_OFFSET;        unsigned char AD_G_OFFSET;        unsigned char AD_B_OFFSET;        } GLOBAL_USER_DATA2, *LP_GLOBAL_USER_DATA2;  typedef struct _GLOBAL_USER_DATA3 { unsigned char VOLUME;             unsigned char CURR_CHANNEL;       unsigned char PREV_CHANNEL;       unsigned char TV_SETTING;                    unsigned char SPREAD;			  } GLOBAL_USER_DATA3, *LP_GLOBAL_USER_DATA3;  typedef struct _GLOBAL_USER_DATA4      { unsigned char C1_R;                unsigned char C1_G;                unsigned char C1_B;                unsigned char C2_R;                unsigned char C2_G;                unsigned char C2_B;                unsigned char C3_R;                unsigned char C3_G;                unsigned char C3_B;                } GLOBAL_USER_DATA4, *LP_GLOABL_USER_DATA4;  typedef struct _RGB_MODE_USER_DATA        { unsigned char H_POSITION;     unsigned char V_POSITION;     unsigned char CLOCK;          unsigned char PHASE;          } RGB_MODE_USER_DATA, *LP_RGB_MODE_USER_DATA;  typedef struct _VIDEO_MODE_USER_DATA      { unsigned char VBRIGHT;        unsigned char VCONTRAST;      unsigned char VSATURATION;    unsigned char VHUE;           } VIDEO_MODE_USER_DATA, *LP_VIDEO_MODE_USER_DATA;   #line 134 "Header\LCD_FUNC.H" /1                                                                                                                                                                                   #line 313 "Header\LCD_FUNC.H" /0     extern GLOBAL_USER_DATA0    data    stGUD0; extern GLOBAL_USER_DATA1    data    stGUD1; extern GLOBAL_USER_DATA2    data    stGUD2; extern GLOBAL_USER_DATA3    data    stGUD3; extern GLOBAL_USER_DATA4    data    stGUD4; extern RGB_MODE_USER_DATA   data    stMUD;  extern unsigned int  idata  usIPH_ACT_STA; extern unsigned int  idata  usIPV_ACT_STA; extern unsigned int  idata  usIPH_ACT_WID; extern unsigned int  idata  usIPV_ACT_LEN;  extern unsigned int  idata  usADC_Clock; extern unsigned int  idata  usDH_Total; extern unsigned int  idata  usDV_Total; extern unsigned char idata  ucDV_Delay;  extern unsigned char idata  ucV_Max_Margin; extern unsigned char idata  ucV_Min_Margin; extern unsigned char idata  ucH_Max_Margin; extern unsigned char idata  ucH_Min_Margin; extern unsigned char   idata   UartNum; extern unsigned char   idata   UartData[4];	    extern void SetMute(bit val); extern void SetVolume();  extern void WriteGamma(unsigned char code *arrayR, unsigned char code *arrayG, unsigned char code *arrayB); extern void WriteDither(unsigned char code *array); extern void WriteSU_COEF(unsigned char code *arrayH, unsigned char code *arrayV);  extern void Set_H_Position(void); extern void Set_V_Position(void); extern void Set_Clock(void); extern void Set_Phase(unsigned char phase); extern void Set_Bright_Contrast(void); extern void Set_Gamma(void); extern void Set_Dithering(void); extern void Sharpness(void); extern void Set_Mode_Params(void);  extern void SetADC_VCO(unsigned char ucRate); extern void SetADC_Gain(void); extern void SetADC_Offset(void); extern void SetADC_GainOffset(void); #line 365 "Header\LCD_FUNC.H" /1  #line 367 "Header\LCD_FUNC.H" /0  extern void Wait_For_Event(unsigned char event);    extern void Save_GUD0(void); extern void Load_GUD0(void); extern void Save_GUD1(void); extern void Load_GUD1(void); extern void Save_GUD2(void); extern void Load_GUD2(void); extern void Save_GUD3(void); extern void Load_GUD3(void); extern void Save_GUD4(void);	  extern void Load_GUD4(void);	  extern void Save_MUD(unsigned char mode_num); extern void Load_MUD(unsigned char mode_num); extern void Init_GUD(void); extern void Init_MUD(void); extern void Check_EEPROM(void); extern unsigned char code INIT_EEPROM2[];  extern void RTD_Test(void); extern void Free_Background(void); extern void Reset_Mode(void);    extern void Set_Spread(void); extern void Init_FACTORY(void); extern void Init_FRecall(void);     #line 402 "Header\LCD_FUNC.H" /1    #line 406 "Header\LCD_FUNC.H" /0  #line 9 "Code\Lcd_auto.c" /0   #line 1 "Header\LCD_AUTO.H" /0                                                                        unsigned char code  ADC_DEFAULT[] = {    9,  0,   0xE0, 0x78, 0x78, 0x78, 0x80, 0x80, 0x80, 0 };  bit bAutoInProgress = 0;  unsigned int idata  usVer_Start = 0;      unsigned int idata  usVer_End   = 0;      unsigned int idata  usH_Start   = 0;      unsigned int idata  usH_End     = 0;       void Wait_Finish(void); unsigned char Auto_Phase(void); unsigned char Auto_Phase_Do(unsigned char NM);  unsigned char Auto_Clock_Do(unsigned char NM); unsigned char Auto_Position(void); unsigned char Auto_Position_Do(unsigned char NM); unsigned char Auto_Config(void); unsigned char Auto_Balance(void);  unsigned char Measure_PositionV(unsigned char NM_V); unsigned char Measure_PositionH(unsigned char NM_H); unsigned char Measure_PositionN(unsigned char NM);  unsigned char Min_Noise_Margin(void);  unsigned char Tune_Balance(void); unsigned char Measure_Color(unsigned char color, unsigned char margin); unsigned char Change_ADC_Gain(unsigned char color, unsigned char delta, unsigned char inc); unsigned char Change_ADC_Offset(unsigned char color, unsigned char delta, unsigned char inc);  #line 107 "Header\LCD_AUTO.H" /1                 #line 10 "Code\Lcd_auto.c" /0#line 10 "Code\Lcd_auto.c" /0   #line 1 "Header\LCD_OSD.H" /0                       #line 24 "Header\LCD_OSD.H" /1                                                                  #line 90 "Header\LCD_OSD.H" /0  extern unsigned char    idata   ucOSD_Page_Index; extern unsigned char    idata   ucOSD_Item_Index0; extern unsigned char    idata   ucOSD_Item_Index1; extern unsigned char    idata   ucOSD_Item_Index2;  extern unsigned char   idata   ucOSD_Pre_Page_Index; #line 98 "Header\LCD_OSD.H" /1    #line 102 "Header\LCD_OSD.H" /0   extern void OSD_Proc(unsigned char action);   extern void OSD_Window(unsigned char win_no, unsigned int row_start, unsigned int row_end, unsigned int col_start, unsigned int col_end, unsigned char width, unsigned char height, unsigned char color, unsigned char color_sb, unsigned char gradient, unsigned char gra_level,unsigned char attr);   extern void OSD_Line(unsigned char row, unsigned char col, unsigned char length, unsigned char value, unsigned char indicate);  extern void Get_OSD_Margin(void);  extern void OSD_Opening(void); extern void OSD_Ending(void);  extern void Show_Note(void); extern void Show_Hint(void); extern void OSD_Clear(unsigned char row_start, unsigned char height, unsigned char col_start, unsigned char width);  extern void OSD_Show_Check(void); extern void rgb_OSD_Slider(unsigned char row, unsigned char col, unsigned char length, unsigned char value, unsigned char range, unsigned char color, unsigned char color_slider);    extern void OSD_Fact_Line(unsigned char row, unsigned char col, unsigned char length, unsigned char value, unsigned char indicate);  extern void OSD_Fact_Clear(unsigned char row_start, unsigned char height, unsigned char col_start, unsigned char width);  extern void OSD_Position(unsigned char para);				  extern void Value_Adjust(unsigned char *Var, unsigned char Key, unsigned char VMax, unsigned char VMin);      #line 11 "Code\Lcd_auto.c" /0    void Wait_Finish(void) { unsigned char   Wait_Time_Cnt, IVS_Event;  RTDSetByte(0x01, 0x00);    RTDSetByte(0x1F, 0x00);      Wait_Time_Cnt   = 60;             IVS_Event       = 25;             do {   Delay_Xms(1);   RTDRead(0x7F, 1, 1); } while ((Data[0] & 0x01) && (--Wait_Time_Cnt));  RTDRead(0x01, 1, 1);      if(Data[0]) RTDSetByte(0x01,0x00);          Data[0] = (Data[0] & 0x63) ? 0xfc : (0 == Wait_Time_Cnt) ? 0xfd : 0x00; }   void Wait_For_IVS(void) { unsigned char t;  t = 50;  RTDSetByte(0x1f,0x00); do { RTDRead(0x1f, 1, 0); Data[0] = Data[0] & 0x01;  Delay_Xms(1); }while((Data[0] == 0) && (t--)); }          unsigned char Measure_PositionV(unsigned char NM_V) { unsigned int    usLBound, usRBound;  RTDRead(0x51, 0x02, 0); Data[2] = Data[1] & 0x0f; Data[3] = Data[0];  usRBound    = usADC_Clock + (unsigned int)stMUD.CLOCK - 128; usLBound    = (unsigned long)usRBound * ((unsigned int *)Data)[1] / usStdHS;      usRBound    = usRBound - 2 + 10 - 6 + ucH_Min_Margin - stMUD.H_POSITION; usLBound    = usLBound + 20 + ucH_Min_Margin + 10; usLBound    = usLBound > ((unsigned int)stMUD.H_POSITION + 6) ? (usLBound - 6 - stMUD.H_POSITION) : 1;  NM_V        = NM_V & 0xfc;  Data[0]     = 6; Data[1]     = 0; Data[2]     = 0x75; Data[3]     = (unsigned char)usLBound; Data[4]     = (unsigned char)usRBound; Data[5]     = ((unsigned char)(usLBound >> 4) & 0x70) | ((unsigned char)(usRBound >> 8) & 0x0f);     Data[6]     = 8; Data[7]     = 0; Data[8]     = 0x7B; Data[9]     = NM_V; Data[10]    = NM_V | 0x00; Data[11]    = NM_V; Data[12]    = 0x00; Data[13]    = 0x01; Data[14]    = 0; RTDWrite(Data);  Wait_Finish();   if (0x00 != Data[0])   return Data[0];  RTDRead(0x80, 4, 0);   Data[6] = Data[1] & 0x0f; Data[7] = Data[0]; Data[8] = Data[3] & 0x0f; Data[9] = Data[2];   usVer_Start     = ((unsigned int *)Data)[3] ? ((unsigned int *)Data)[3] - 1 : 0; usVer_End       = ((unsigned int *)Data)[4] ? ((unsigned int *)Data)[4] - 1 : 0;   if (0x0000 == usVer_End)    return  0xf8;   if ((9 - 3) > usVer_Start) { ((unsigned int *)Data)[3]	= 9 - 3; } else {  if (usVer_End > (usVer_Start + usIPV_ACT_LEN - 1)) { usVer_End   = usVer_Start + usIPV_ACT_LEN - 1;  ((unsigned int *)Data)[4]   = usVer_End; } }   Data[0] = 6; Data[1] = 0; Data[2] = 0x78; Data[3] = Data[7];     Data[4] = Data[9]; Data[5] = (Data[6] << 4) + Data[8]; Data[6] = 0; RTDWrite(Data);  return 0x00; }         unsigned char Measure_PositionH(unsigned char NM_H) { unsigned int    usLBound, usRBound;  RTDRead(0x51, 0x02, 0); Data[2] = Data[1] & 0x0f; Data[3] = Data[0];  usRBound    = usADC_Clock + (unsigned int)stMUD.CLOCK - 128; usLBound    = (unsigned long)usRBound * ((unsigned int *)Data)[1] / usStdHS;  usRBound    = usRBound - 2 + 10 - 6 + ucH_Min_Margin - stMUD.H_POSITION;  usLBound    = usLBound + 20 + ucH_Min_Margin + 10; usLBound    = usLBound > ((unsigned int)stMUD.H_POSITION + 6) ? (usLBound - 6 - stMUD.H_POSITION) : 1;  NM_H        = NM_H & 0xfc;  Data[0]     = 6; Data[1]     = 0; Data[2]     = 0x75; Data[3]     = (unsigned char)usLBound; Data[4]     = (unsigned char)usRBound; Data[5]     = ((unsigned char)(usLBound >> 4) & 0x70) | ((unsigned char)(usRBound >> 8) & 0x0f);     Data[6]     = 8; Data[7]     = 0; Data[8]     = 0x7B; Data[9]     = NM_H; Data[10]    = NM_H; Data[11]    = NM_H; Data[12]    = 0x00; Data[13]    = 0x01; Data[14]    = 0; RTDWrite(Data);  Wait_Finish();  if (0x00 != Data[0])   return Data[0];  RTDRead(0x84, 4, 0);   Data[4] = Data[3] & 0x0f; Data[5] = Data[2]; Data[2] = Data[1] & 0x0f; Data[3] = Data[0];  if (0x07FF <= ((unsigned int *)Data)[1])     return  0xf8;  

⌨️ 快捷键说明

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