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

📄 lcd_osd.h

📁 keil c51平台,此代码可用于学习TFT LCD TV 搜台等,(本人自己修改)
💻 H
字号:
#define COLOR_BLACK     0
#define COLOR_BLUE      1
#define COLOR_GREEN     2
#define COLOR_CYAN      3
#define COLOR_RED       4
#define COLOR_MAGENTA   5
#define COLOR_YELLOW    6
#define COLOR_WHITE     7

#define ALLEFT          0
#define ALRIGHT         1
#define ALCENTER        3

#define OSD_WINDOW_ENABLE       0x04
#define OSD_WINDOW_HIGHLIGHT    0x02
#define OSD_WINDOW_SHADOWING    0x01


#if (MENU_TYPE == MENU_KTC)

#ifdef __OSD__

unsigned char   idata   ucOSD_Page_Index    = 0;
unsigned char   idata   ucOSD_Item_Index0   = 0;
unsigned char   idata   ucOSD_Item_Index1   = 0;
unsigned char   idata   ucOSD_Item_Index2   = 0;

// win_no       bit 1 ~ 0   Window Number 0 ~ 3
// row_start    bit 3 ~ 0   Window Row Start Address
// row_end      bit 3 ~ 0   Window Row End Address
// col_start    bit 4 ~ 0   Window Column Start Address
// col_end      bit 4 ~ 0   Window Column End Address
// color        bit 2 ~ 0   RGB color for window
// attrib       bit 2       0 - Disable window      1 - Enable window
//              bit 1       0 - Normal intensity    1 - High color intensity
//              bit 0       0 - Disable shadowing   1 - Enable shadowing

void Get_OSD_Margin(void);
void OSD_Position(void);
void OSD_Line(unsigned char row, unsigned char col, unsigned char length, unsigned char value, unsigned char indicate);
void OSD_Clear(unsigned char row_start, unsigned char height, unsigned char col_start, unsigned char width);
void OSD_Slider(unsigned char row, unsigned char col, unsigned char length, unsigned char value, unsigned char range,
                unsigned char color);
void Show_Page1(void);
void Show_Page2(void);
void Show_Page3(void);
void Show_Page4(void);
void Show_Page8(void);

void OSD_Proc0(unsigned char action);
void OSD_Proc1(unsigned char action);
void OSD_Proc2(unsigned char action);
void OSD_Proc3(unsigned char action);
void OSD_Proc4(unsigned char action);
void OSD_Proc8(unsigned char action);

void OSD_ProcADC(unsigned char action);
void OSD_ProcVDC(unsigned char action);

void OSD_TV_Proc0(unsigned char action);
void OSD_TV_Proc2(unsigned char action);
void OSD_AV_Proc0(unsigned char action);
void OSD_AV_Proc1(unsigned char action);
void OSD_TV_Show(void);
void OSD_AV_Show(void);

void OSD_Opening(void);
void OSD_Ending(void);

void Show_Note(void);
void Show_Hint(void);

#if (VDC_NONE != VIDEO_CHIP)
void IntToStrEX(unsigned char *buf,const unsigned int Value);
unsigned char ASCToRTDChar(const unsigned char C);
unsigned char ValueInRangeChange(unsigned char ucMin,unsigned char ucMax,unsigned char ucCur,unsigned char ucOption,bit bLoop);
#endif

#if (TV_NONE != TV_CHIP)
void TV_AutoScan(void);
unsigned int Lock_Channel_UP(unsigned int Curr_Freq,char slider);
void TextOutEx(unsigned char *sText,unsigned char X,unsigned char Y,unsigned char Len,unsigned char ucAlign);
#endif

#else

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 code void (*OSD_Proc[][SOURCE_MAX + 1])(unsigned char action);

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);

#if (VDC_NONE != VIDEO_CHIP)
void IntToStrEX(unsigned char *buf,const unsigned int Value);
extern unsigned char ASCToRTDChar(const unsigned char C);
extern unsigned char ValueInRangeChange(unsigned char ucMin,unsigned char ucMax,unsigned char ucCur,unsigned char ucOption,bit bLoop);
#endif



#endif

#endif      //MENU_KTC






#if (MENU_TYPE == MENU_REL)

#ifdef __OSD__

unsigned char   idata   ucOSD_Page_Index    = 0;
unsigned char   idata   ucOSD_Item_Index0   = 0;
unsigned char   idata   ucOSD_Item_Index1   = 0;
unsigned char   idata   ucOSD_Item_Index2   = 0;

unsigned char GetNextPageIdx(unsigned char ucPageCurr);
unsigned char GetPrevPageIdx(unsigned char ucPageCurr);
void OSD_Window(unsigned char win_no, unsigned char row_start, unsigned char row_end,
                unsigned char col_start, unsigned char col_end, unsigned char attrib, unsigned char color);
void Get_OSD_Margin(void);
void OSD_Position(unsigned char x,unsigned char y);
void OSD_Line(unsigned char row, unsigned char col, unsigned char length, unsigned char value, unsigned char indicate);
void OSD_Clear(unsigned char row_start, unsigned char height, unsigned char col_start, unsigned char width);
void OSD_Slider(unsigned char row, unsigned char col, unsigned char length, unsigned char value, unsigned char range,
                unsigned char color);
void Show_Mode(void);
void OSD_Opening(void);
void OSD_Ending(void);
void Show_Note(void);// Show 'TV', 'RGB', 'AV' ...
void Show_Hint(void);// Show 'No Signal', 'Not Support', 'No Cable' ...
void Init_Page(unsigned char index);

void OSD_Proc0(unsigned char action);
void OSD_Proc1(unsigned char action);
void OSD_Proc2(unsigned char action);
void OSD_Proc3(unsigned char action);
void OSD_Proc4(unsigned char action);
void OSD_Proc5(unsigned char action);
void OSD_Proc6(unsigned char action);

void OSD_Proc1_B(unsigned char action);
void OSD_Proc4_B(unsigned char action);
void OSD_Proc5_B(unsigned char action);

void OSD_ProcADC(unsigned char action);
void OSD_ProcVDC(unsigned char action);

void OSD_TV_Proc0(unsigned char action);
void OSD_TV_Proc2(unsigned char action);
void OSD_AV_Proc0(unsigned char action);
void OSD_AV_Proc1(unsigned char action);
void OSD_TV_Show(void);
void OSD_AV_Show(void);

#if (VDC_NONE != VIDEO_CHIP)
void IntToStrEX(unsigned char *buf,const unsigned int Value);
unsigned char ASCToRTDChar(const unsigned char C);
unsigned char ValueInRangeChange(unsigned char ucMin,unsigned char ucMax,unsigned char ucCur,unsigned char ucOption,bit bLoop);
#endif

#if (TV_NONE != TV_CHIP)
void TV_AutoScan(void);
unsigned int Lock_Channel_UP(unsigned int Curr_Freq,char slider);
void TextOutEx(unsigned char *sText,unsigned char X,unsigned char Y,unsigned char Len,unsigned char ucAlign);
#endif


#else

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 code void (*OSD_Proc[][SOURCE_MAX + 1])(unsigned char action);
extern void OSD_Line(unsigned char row, unsigned char col, unsigned char length, unsigned char value, unsigned char indicate);
extern void OSD_Clear(unsigned char row_start, unsigned char height, unsigned char col_start, unsigned char width);
extern void Get_OSD_Margin(void);
extern void OSD_Position(unsigned char x,unsigned char y);
extern void OSD_Opening(void);
extern void OSD_Ending(void);
extern void Show_Note(void);
extern void Show_Hint(void);

#if (VDC_NONE != VIDEO_CHIP)
extern void IntToStrEX(unsigned char *buf,const unsigned int Value);
extern unsigned char ASCToRTDChar(const unsigned char C);
extern unsigned char ValueInRangeChange(unsigned char ucMin,unsigned char ucMax,unsigned char ucCur,unsigned char ucOption,bit bLoop);
#endif


#endif

#endif      //MENU_REL







#if (MENU_TYPE == MENU_DELL)

#ifdef __OSD__

unsigned char   idata   ucOSD_Page_Index    = 0;
unsigned char   idata   ucOSD_Item_Index0   = 0;
unsigned char   idata   ucOSD_Item_Index1   = 0;
unsigned char   idata   ucOSD_Item_Index2   = 0;

// win_no       bit 1 ~ 0   Window Number 0 ~ 3
// row_start    bit 3 ~ 0   Window Row Start Address
// row_end      bit 3 ~ 0   Window Row End Address
// col_start    bit 4 ~ 0   Window Column Start Address
// col_end      bit 4 ~ 0   Window Column End Address
// color        bit 2 ~ 0   RGB color for window
// attrib       bit 2       0 - Disable window      1 - Enable window
//              bit 1       0 - Normal intensity    1 - High color intensity
//              bit 0       0 - Disable shadowing   1 - Enable shadowing

void Get_OSD_Margin(void);
void OSD_Position(void);
void OSD_Line(unsigned char row, unsigned char col, unsigned char length, unsigned char value, unsigned char indicate);
void OSD_Clear(unsigned char row_start, unsigned char height, unsigned char col_start, unsigned char width);
void OSD_Slider(unsigned char row, unsigned char col, unsigned char length, unsigned char value, unsigned char range,
                unsigned char color);
void Show_Page1(void);
void Show_Page2(void);
void Show_Page3(void);
void Show_Page4(void);
void Show_Page5(void);
void Show_Page6(void);
void Show_Page7(void);
void Show_Page8(void);

void OSD_Proc0(unsigned char action);
void OSD_Proc1(unsigned char action);
void OSD_Proc2(unsigned char action);
void OSD_Proc3(unsigned char action);
void OSD_Proc4(unsigned char action);
void OSD_Proc5(unsigned char action);
void OSD_Proc6(unsigned char action);
void OSD_Proc7(unsigned char action);
void OSD_Proc8(unsigned char action);

void OSD_ProcADC(unsigned char action);
void OSD_ProcVDC(unsigned char action);

void OSD_TV_Proc0(unsigned char action);
void OSD_TV_Proc2(unsigned char action);
void OSD_AV_Proc0(unsigned char action);
void OSD_AV_Proc1(unsigned char action);
void OSD_TV_Show(void);
void OSD_AV_Show(void);

void OSD_Opening(void);
void OSD_Ending(void);

void Show_Note(void);
void Show_Hint(void);

#if (VDC_NONE != VIDEO_CHIP)
void IntToStrEX(unsigned char *buf,const unsigned int Value);
unsigned char ASCToRTDChar(const unsigned char C);
unsigned char ValueInRangeChange(unsigned char ucMin,unsigned char ucMax,unsigned char ucCur,unsigned char ucOption,bit bLoop);
#endif

#if (TV_NONE != TV_CHIP)
void TV_AutoScan(void);
unsigned int Lock_Channel_UP(unsigned int Curr_Freq,char slider);
void TextOutEx(unsigned char *sText,unsigned char X,unsigned char Y,unsigned char Len,unsigned char ucAlign);
#endif

#else

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 code void (*OSD_Proc[][SOURCE_MAX + 1])(unsigned char action);

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);

#if (VDC_NONE != VIDEO_CHIP)
void IntToStrEX(unsigned char *buf,const unsigned int Value);
extern unsigned char ASCToRTDChar(const unsigned char C);
extern unsigned char ValueInRangeChange(unsigned char ucMin,unsigned char ucMax,unsigned char ucCur,unsigned char ucOption,bit bLoop);
#endif

#endif


#endif      //MENU_DELL

⌨️ 快捷键说明

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