📄 t112osd.c
字号:
#include <reg51.h>
#include "common.h"
#include "System.h"
#include "OSDDROW.H"
#include "TwoWire.h"
#include "TW10xReg.h"
#include "T112W12H16.h"
#include "DEF.h"
extern uCHAR Pauto;
extern uCHAR row_num;
code unsigned char font_null[]= {0, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xff};
code unsigned char font_bright[]={0,'D','E','B','R','I','G','H','T',0xff};
code unsigned char font_comp[] ={0,'F','J','C','O','N', 0 , 0 , 0 ,0xff};
code unsigned char font_color[] ={0,'K','M','C','O','L','O','R', 0 ,0xff};
code unsigned char font_ntsc[] ={0, 0 ,0,0,0,0,0, 0 ,'N','T', 4 ,'C', 0 , 0 , 0 , 0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xff};
code unsigned char font_pal[] ={0, 0 ,0,0,0,0,0, 0 , 5 ,'A','L', 0 , 0 , 0 , 0 , 0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xff};
code unsigned char font_tauto[] ={0, 0 ,0,0,0,0,0, 0 ,'A','P','T','O', 0 , 0 , 0 , 0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xff};
code unsigned char font_auto[] ={0, 0, 0,0,0, 0 , 0 , 0 ,'A','P','T','O', 0 , 0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xff};
code unsigned char font_on[] ={0,'O','N', 0 , 0 , 0 , 0 , 0 , 0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xff};
code unsigned char font_off[] ={0,'O','Q','Q' , 0 , 0 , 0 , 0 , 0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xff};
code unsigned char *page1_Fonts[]={font_null,font_bright,font_comp,font_color,font_ntsc,font_pal,font_auto,font_on,font_off,font_tauto};
void OSDInit(void)
{
unsigned int i,j;
OSDCfgWr(OSD_CTRL,0x18); ///disable osd and width*1
OSDCfgWr(CHAR_FONT_SIZE,FONT_SIZE); ///CHAR_FONT_SIZE=0x0d;FONT_SIZE=FONT_SIZE12W18H;
OSDCfgWr(CHAR_RAM_BASE_A,CHAR_MAIN_MENU_START); ///To setup character index start address.
///If start address is 0x9c0,
///You have get ((0x9c0 >> 5) & 0x7f) to store it
OSDCfgWr(CHAR_RAM_END_A,CHAR_RAM_END); ///This is to set index end address.
OSDCfgWr(BLINK_CTRL,0x09);
OSDCfgWr(ALPHA_BLD_CTRL,0x84);
OSDLoadColor();
OSDSetRamAddr(FONT_DATA_START_ADDRESS);
twdWr_Burst_A(OSD_RAM_DL);
for(j=0;j<TOTAL_FONT_NUM;j++)
{
for(i=0; i<FONT_HEIGHT; i++)
{
twdWr_Burst_D(AllFonts[j][2*i]);
twdWr_Burst_D(AllFonts[j][2*i+1]);
}
}
for(i=(TOTAL_FONT_NUM+1)*FONT_HEIGHT; i<0x400; i++)
{
twdWr_Burst_D(0);
twdWr_Burst_D(0);
}
twdWr_Burst_P();
for(i=0;i<OSD_LINE_NUM;i++)
{
OSDCleanLine(0,i,0,31);
OSDSetLineAttribute(i,0x80);
}
}
void OSDShowpage2(void) ///内部调节菜单
{
uCHAR i;
OSDDisable();
for(i=0;i<10;i++)
{
OSDCleanLine(0,i,0,30);
OSDSetLineAttribute(i,0x80);
}
OSDPosition(CENTER);
switch(row_num)
{
case 0:
OSDShowLine(page1_Fonts[4],0,1,0x06,21);
break;
case 1:
OSDShowLine(page1_Fonts[5],0,1,0x06,21);
break;
case 2:
OSDShowLine(page1_Fonts[9],0,1,0x06,21);
break;
}
OSDEnable();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -