📄 tuner.lst
字号:
0x21e2, // CH 17, 503.25
0x2262, // CH 18, 511.25
0x22e2, // CH 19, 519.25
0x2362, // CH 20, 527.25
0x23e2, // CH 21, 535.25
0x2462, // CH 22, 543.25
0x24e2, // CH 23, 551.25
0x2562, // CH 24, 559.25
0x2862, // CH 25, 607.25
0x28e2, // CH 26, 615.25
0x2962, // CH 27, 623.25
0x29e2, // CH 28, 631.25
0x2a62, // CH 29, 639.25
0x2ae2, // CH 30, 647.25
0x2b62, // CH 31, 655.25
0x2be2, // CH 32, 663.25
0x2c62, // CH 33, 671.25
0x2ce2, // CH 34, 679.25
0x2d62, // CH 35, 687.25
0x2de2, // CH 36, 695.25
0x2e62, // CH 37, 703.25
0x2ee2, // CH 38, 711.25
0x2f62, // CH 39, 719.25
0x2fe2, // CH 40, 727.25
0x3062, // CH 41, 735.25
0x30e2, // CH 42, 743.25
0x3162, // CH 43, 751.25
0x31e2, // CH 44, 759.25
0x3262, // CH 45, 767.25
0x32e2, // CH 46, 775.25
0x3362, // CH 47, 783.25
0x33e2, // CH 48, 791.25
0x3462, // CH 49, 799.25
0x34e2, // CH 50, 807.25
0x3562, // CH 51, 815.25
0x35e2, // CH 52, 823.25
0x3662, // CH 53, 831.25
0x36e2, // CH 54, 839.25
0x3762, // CH 55, 847.25
0x37e2, // CH 56, 855.25
0x3862, // CH 57, 863.25
/* // max. support freq : 863.25MHz
0x38e2, // CH 58, 871.25
C51 COMPILER V7.06 TUNER 06/16/2005 10:05:38 PAGE 9
0x3962, // CH 59, 879.25
0x39e2, // CH 60, 887.25
0x3a62, // CH 61, 895.25
0x3ae2, // CH 62, 903.25
0x3b62, // CH 63, 911.25
0x3be2, // CH 64, 919.25
0x3c62, // CH 65, 927.25
0x3ce2, // CH 66, 935.25
0x3d62, // CH 67, 943.25
0x3de2, // CH 68, 951.25
*/
};
#endif
#endif
#define CATV_MIN 1
#define CATV_MAX 96
#define CATV_TOTAL 96
extern uDWORD m_dwVFrameCntPre;
extern uWORD m_wHSyncPeriodPre;
extern uCHAR idata m_cBuff[4];
void AutoMemory(void)
{
uCHAR i,j;
bit bTVFound;
uWORD wTVFreq, wTVFreqMin;
uCHAR cTVNum=0;
uCHAR cTV_Max,cTV_Min;
#ifdef NTSC
uCHAR cTemp;
uWORD* DK_CCIR;
cTemp=I2CReadByte(EEPVIDEOBLOCK, idVIDEO_FLAG_INDEX);
if(cTemp&0x01)
{
cTV_Max=98;
cTV_Min=0;
DK_CCIR=DK_CCIR2;
}
else
{
cTV_Max=82;
cTV_Min=0;
DK_CCIR=DK_CCIR1;
}
#endif
#ifdef PAL
cTV_Max=TV_MAX;
cTV_Min=TV_MIN;
#endif
// TR1=0;
for(i=cTV_Min; i<=cTV_Max; i++)
{
if((ir_data==REMOTE_KEY_DEC_P)||(ir_data==REMOTE_KEY_INC_P)||(ir_data==REMOTE_KEY_DECR))break;
//p = DK_CCIR + i; //MainLand China
wTVFreq = *(DK_CCIR+i);
wTVFreqMin=wTVFreq-20;
// ClosePanel();
OSDTVShowChannel(19,5,COL_NORMAL,i+1);
C51 COMPILER V7.06 TUNER 06/16/2005 10:05:38 PAGE 10
//OSDTVShowChannel(19,5,COL_TITLE,i+1); Kuo
bTVFound=ChannelSel(&wTVFreq, wTVFreqMin);
if(bTVFound)
{
EX1=1;
twdDelay(100); //500
/*m_cBuff[3]*/j=TunerReadByte(0x86);
if(!(j&0x80))
bTVFound=0;
}
if(bTVFound)
{
//
if((I2CReadByte(VIDEO_ADDR,0x3A)&0x06)==0x06)
{
//sync ok
//GetSyncPeriodCnt(&m_dwVFrameCntPre, &m_dwVFrameCntPre);
//GetSyncPeriodCnt(&m_dwVFrameCntPre, &m_wHSyncPeriodPre);
// if(cTVNum==0)
{
EX1=1;
twdDelay(200);
// SrcControl();
SourceSelect();
}
// I2CWriteByte(TW702,0x91, 0x0c);
EEPSaveTVChannel(i, wTVFreq);
OSDTVShowChannel(19,1,COL_NORMAL,cTVNum+1);
//OSDTVShowChannel(19,1,COL_TITLE,cTVNum+1); //Kuo
cTVNum++;
OSDDrawTVFreq(wTVFreq);
#ifdef TV
OSDDrawBand(wTVFreq);
#endif
EX1=1;
twdDelay(500); //1000
}
else
{
EEPSaveTVChannel(i, wTVFreq|0x8000);
OSDDrawTVFreq(wTVFreq);
#ifdef PAL
OSDDrawBand(wTVFreq);
#endif
}
// return;
}
else
{
EEPSaveTVChannel(i, wTVFreq|0x8000);
OSDDrawTVFreq(wTVFreq);
#ifdef PAL
OSDDrawBand(wTVFreq);
#endif
}
}
// return;
C51 COMPILER V7.06 TUNER 06/16/2005 10:05:38 PAGE 11
// OpenPanel(); // ruby
I2CWriteByte(TW101,0x91, 0x0c);
I2CWriteByte(EEPVIDEOBLOCK, 0x00, cTVNum);
twdDelay(NVRDELAY);
I2CWriteByte(EEPVIDEOBLOCK, 0x01, 1);
// AdjTVChannel(0, 0);
wTVFreq=TVSetChannel(1);
SetTuner(wTVFreq);
OSDExit();
// SrcSelect(1) ;
SourceSelect();
// TR1=1;
}
/*
void AutoScan(void)
{
uWORD wTVFreq=TVFREQ_BEGIN;
uWORD wTVFreqMin;
uCHAR cTVNum=0;
bit bTVFound;
while(wTVFreq<=TVFREQ_END)
{
wTVFreqMin=wTVFreq-20;
bTVFound=ChannelSel(&wTVFreq, wTVFreqMin);
if(bTVFound)
{
twdDelay(300); //500
m_cBuff[3]=TunerReadByte(0x86);
if(!(m_cBuff[3]&0x80))
bTVFound=0;
}
if(bTVFound)
{
//twdDelay(100);
if((I2CReadByte(0x42,0x1f)&0x41)==0x01)
{
//sync ok
//GetSyncPeriodCnt(&m_dwVFrameCntPre, &m_dwVFrameCntPre);
//GetSyncPeriodCnt(&m_dwVFrameCntPre, &m_wHSyncPeriodPre);
if(cTVNum==0)
{
twdDelay(200);
SrcControl();
}
EEPSaveTVChannel(cTVNum, wTVFreq);
cTVNum++;
OSDDrawTVFreq(wTVFreq);
// OSDDrawBand(wTVFreq);
twdDelay(500); //1000
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -