📄 lcd_main.h
字号:
// For 24.576MHz crystal
// Timer Freq. : 24.576MHz / 12 = 2.048MHz -> 0.488us
#if (IRPOLLING)
// Timer0 Period : (0xffff - 0xfcff) / 2.048 = 375us -> 0.375ms
#define TIME0_COUNTER_LBYTE 0xFF
#define TIME0_COUNTER_HBYTE 0xFC
#else
// Timer0 Period : (0xffff - 0x63bf) * 0.488us = 20000us -> 20ms
#define TIME0_COUNTER_LBYTE 0xFF
#define TIME0_COUNTER_HBYTE 0x5F
#endif
// Timer1 Period : (0xffff - 0xf82f) * 0.5us = 1000us -> 1ms
#define TIME1_COUNTER_LBYTE 0xFF
#define TIME1_COUNTER_HBYTE 0xF7
#define TIME1_COUNTER_HHBYTE 0xFB
#define MODE_DETECT_FREQ 8 // Detect Mode every (2 + 1) * 20ms = 60ms
#define VGA_SEARCH_TIMES 3
#define DVI_SEARCH_TIMES 3
#define VIDEO_SEARCH_TIMES 5
#define NO_MODE_TIMES 5
#define NO_COLOR_TIMES 20
#define SYNC_FAIL_TIMES 2
#define STATE_POWERUP 0 // Reserved for system use
#define STATE_SOURCECHANGE 1 // Reserved for system use
#define STATE_MODECHANGE 2 // Reserved for system use
#define STATE_POWERDOWN 3 // Reserved for system use
#define BEGIN_POWERUP 500 // Task State0 Period : (500 - 350) * 20ms = 3sec
#define BEGIN_SOURCECHANGE 500 // Task State0 Period : (500 - 350) * 20ms = 3sec
#define BEGIN_MODECHANGE 350 // Task State1 Period : (350 - 250) * 20ms = 2sec
#define BEGIN_SHOWHINT 250 // Task State2 Period : (250 - 0) * 20ms = 5sec
#define OSD_TO_HINT_DELAY 5 // The delay from OSD window closed to 'No Signal' hint text shown
#ifdef __MAIN__
#if (IRPOLLING)
unsigned char data ucIR_Cmd[2] = { 0x00, 0x00 };
unsigned char data ucIR_State = 0x00;
unsigned char data ucIR_Seq = 0xFF;
#endif
// Global Variables
bit bNotify_Timer0_Int = 0;
bit bNotify_Timer1_Int = 0;
bit bPower_Status = 0; // 1 - ON, 0 - OFF
bit bVpole_Prev = 0;
bit bHpole_Prev = 0;
bit bVpole_Curr = 0;
bit bHpole_Curr = 0;
bit bStable = 0; // 0 - input not stable, 1 - input stable
bit bReload = 0; // 1 - reload user's font
bit bFrameSync = 0; // 1 - OK , 0 - Fail
bit bOverSpec = 0;
bit bTVFlag = 0;
bit bFreeRun = 0;
bit bTV_Chanel = 0; // 1 - two number , 0 - one number
bit bTV_Autoscan = 0; // 1 - enable , 0 - disable
bit bChanel_Show = 0; // 1 - enable , 0 - disable
bit bChanel_adj = 0; // 1 - chanel enable , 0 - disable
bit bVolume_adj = 0; // 1 - volume enable , 0 - disable
bit bBlueScreen = 0; // 1 - blue enable , 0 - disable
#if(SOURCE_AUTO_SCAN)
bit bSourceScanEnable = 0; // 1 : Start the source auto scan function
// 0 : Disable the source auto scan function
#endif
#if (DISP_BIT == DISP_18BIT)
bit bDitherTable = 0;
bit bDitherToggle = 0;
#endif
unsigned int idata usOSD_Timer = 0;
unsigned char idata ucInputSrc = SOURCE_VGA; // Used to change input source. You can only set ucInputSrc through
// Change_Source() outside lcd_main.c
unsigned char idata ucSync_Type = SYNC_SS;
unsigned char idata ucAV_Mode = 0; // AV/S-Video mode, 0x00:Not Detect Frequency
// 0x01:NTSC 60 Hz(bit 0)
// 0x02:PAL 50 Hz(bit 1)
// 0x03:SECAM 50 Hz(bit 1)
// Color standard 0x00/0x10/0x20/0x30/0x40
// 0x80 : color unlocked
unsigned char idata ucMode_Curr = MODE_NOSIGNAL;
unsigned char idata ucMode_Found = MODE_NOSIGNAL;
unsigned char idata ucMode_Times = 0;
unsigned int idata usHsync = 0;
unsigned int idata usVsync = 0;
unsigned int idata usStdHS = 0;
unsigned int idata usStdVS = 0;
unsigned char idata ucRefresh = 0;
unsigned char idata ucStatus = 0;
unsigned char idata ucSyncErrorCnt = 0;
unsigned int idata usTaskCnt = BEGIN_POWERUP; // For Task State Machine
unsigned char idata ucPE_Level = 0;
unsigned char idata ucCE_Value = 0;
unsigned char idata ucI_Code = 0;
unsigned char idata ucP_Corr = 0;
unsigned char idata ucPE_Max = 0;
unsigned char idata ucID_Code = 0;
unsigned char idata ucTimerCounter = 0;
unsigned char xdata test_timer _at_ 0x801;
unsigned char xdata test_color _at_ 0x803;
unsigned char xdata fac_bright _at_ 0x804;
unsigned char xdata fac_contrast _at_ 0x805;
unsigned char xdata fac_light _at_ 0x806;
unsigned char xdata test_mode _at_ 0x807;
unsigned char xdata Auto_mode _at_ 0x808;
unsigned char xdata fac_timer _at_ 0x809;
unsigned char xdata ucDebug_Value0 _at_ 0x80a;
unsigned char xdata ucDebug_Value1 _at_ 0x80b;
unsigned char xdata ucDebug_Value2 _at_ 0x80c;
#if(TV_CHIP != TV_NONE)
unsigned char idata ucTVType = 0;
#endif
// Function Prototype
void RTD_Test(void);
void PowerDown_ADC(void);
void PowerUp_ADC(void);
void PowerDown_VDC(void);
void PowerUp_VDC(void);
void PowerDown_LVDS(void);
void PowerUp_LVDS(void);
void Set_Panel(unsigned char status);
void ISP_Check_Sum(void);
void Firmware_Init(void);
void Power_Up_Init(void);
void Reset_RTD(void);
void Init_Input_Source(void);
void Free_Background(void);
void Mode_Detector(void);
void Measure_Mode(void);
void Detect_VGA_Mode(void);
void Check_VGA_Mode(void);
void Detect_DVI_Mode(void);
void Check_DVI_Mode(void);
void Detect_Video_Mode(void);
void Check_Video_Mode(void);
void Detect_TV_Mode(void);
void Check_TV_Mode(void);
unsigned char Seek_DVI_Mode(unsigned char mode);
void I2CWrite_TW990X(unsigned char address,unsigned char wdata);
unsigned char I2CRead_TW990X(unsigned char address);
void Reset_TW9905(void);
void Initial_Mode(void);
void Display_VGA_Set(void);
void Display_DVI_Set(void);
void Display_Video_Set(void);
void Set_Video_Mode(void);
void AbortSync(void);
unsigned char TestSync(unsigned int buffer, unsigned char fine);
unsigned char TuneLastLine(void);
unsigned char Frame_Sync(void);
void Delay_Xms(unsigned char x); // For delay 0 ~ 255 ms
void Change_Source(unsigned char source);
void Reset_Mode(void);
void Set_Task(unsigned char state);
void Run_Task(void);
void OSD_Dispatcher(unsigned char message);
#else // __MAIN__
extern bit bNotify_Timer1_Int;
extern bit bPower_Status;
extern bit bFrameSync;
extern bit bStable;
extern bit bOverSpec;
extern bit bTVFlag;
extern bit bFreeRun;
extern bit bTV_Chanel; // 1 - two number , 0 - one number
extern bit bTV_Autoscan;
extern bit bChanel_Show;
extern bit bChanel_adj;
extern bit bVolume_adj;
extern bit bBlueScreen;
// Public Global Variables
#if (IRPOLLING)
extern unsigned char data ucIR_Cmd[2];
extern unsigned char data ucIR_State;
extern unsigned char data ucIR_Seq;
#endif
extern unsigned int idata usOSD_Timer;
extern unsigned char idata ucMode_Curr;
extern unsigned char idata ucAV_Mode;
extern unsigned char idata ucRefresh;
extern unsigned int idata usStdHS;
extern unsigned int idata usVsync;
extern unsigned char idata ucPE_Level;
extern unsigned char idata ucPE_Max;
extern unsigned char idata ucInputSrc;
extern unsigned char idata ucP_Corr;
extern unsigned char idata ucI_Code;
extern unsigned char idata ucID_Code;
extern unsigned char xdata test_timer;
extern unsigned char xdata test_color;
extern unsigned char xdata fac_bright;
extern unsigned char xdata fac_contrast;
extern unsigned char xdata fac_light;
extern unsigned char xdata test_mode;
extern unsigned char xdata Auto_mode;
extern unsigned char xdata fac_timer;
extern unsigned char xdata ucDebug_Value0;
extern unsigned char xdata ucDebug_Value1;
extern unsigned char xdata ucDebug_Value2;
#if(TV_CHIP != TV_NONE)
extern unsigned char idata ucTVType;
#endif
// Function Prototype
extern unsigned char I2CRead_TW990X(unsigned char address);
extern void I2CWrite_TW990X(unsigned char address,unsigned char wdata);
extern void Set_Panel(unsigned char status);
extern void Delay_Xms(unsigned char x); // For delay 0 ~ 255 ms
extern void Change_Source(unsigned char source);
extern void PowerUp_ADC(void);
extern void RTD_Test(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -