📄 tv.lst
字号:
C51 COMPILER V8.05a TV 01/05/2009 15:57:49 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE TV
OBJECT MODULE PLACED IN .\OBJ\Tv.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE tv\Tv.c LARGE BROWSE INCDIR(.\include) DEBUG OBJECTEXTEND PRINT(.\List\Tv.l
-st) OBJECT(.\OBJ\Tv.obj)
line level source
1 /******************************************************************************\
2 Project Version: MTKCARDVD()
3 ********************************************************************************
4 Filename: Tv.c
5
6 Author: Alan Chan
7
8 Company: CoreTek/ACT Company
9
10 ********************************************************************************
11 File Version: 1.01
12 File Created: July 2007
13
14 Compiled Using: keil uVision2 Version 2.23
15
16 ********************************************************************************
17 Files Required:
18
19 ********************************************************************************
20 File Description:
21
22 ********************************************************************************
23 File History:
24
25 --------------------------------------------------------------------------------
26 Date Name Description
27 --------------------------------------------------------------------------------
28 Mar. 2007 Alan Chan File Created
29
30 \******************************************************************************/
31 #include "global.h"
32 #include "E2prom.h"
33 #include "irkey.h"
34
35 #include "Tv.h"
36 //#ifdef OPEN_PRINTF
37 extern void DRS232LogB(BYTE bV1, BYTE bV2, BYTE bV3, BYTE bV4); //26Aug08
38 extern void DRS232LogS(char *pcStr);
39 //#endif
40
41
42 #ifdef ENABLE_TV
43 sChannelList ReadTVChannel(BYTE ChInd)
44 {
45 1 sChannelList chlist;
46 1
47 1 ReadE2prom(TV_CH_START_POS+((ChInd-1)*TV_ONE_CH_SIZE),(BYTE *) &chlist,TV_ONE_CH_SIZE);
48 1
49 1 return(chlist);
50 1 }
51
52 void WriteTVChannel(BYTE ChInd,sChannelList sCh)
53 {
54 1 WriteE2prom(TV_CH_START_POS+((ChInd-1)*TV_ONE_CH_SIZE),(BYTE *) &sCh,TV_ONE_CH_SIZE);
C51 COMPILER V8.05a TV 01/05/2009 15:57:49 PAGE 2
55 1 }
56
57 void LoadTVData(void)
58 {
59 1
60 1 BYTE bTmp;
61 1
62 1 bTunerDeafultVal=(TV_TYPE_DEFAULT <<6)||(TV_SOUND_DEFAULT <<3) ||(TV_SYSTEM_DEFAULT); //0xd0; //test
63 1 fgTunerType=TV_TYPE_DEFAULT;
64 1 ReadE2prom(TV_TUNER_TYPE_POS, &bTmp, 1); //11Sep08
65 1 bTunerDeafultVal = bTmp; //11Sep08
66 1 fgTunerType=(bTunerDeafultVal & 0x40 )>>6;
67 1 // bTunerVal =0xc0; //11Sep08
68 1 // bTunerVal |= (bTunerDeafultVal & 0x3f); //11Sep08
69 1 // IF_SWITCH_DEFAUL=bTunerVal;
70 1 bTvCurrSound=(bTunerDeafultVal & 0x38 )>>3;
71 1
72 1 ReadE2prom(TV_TOTAL_CH_POS, &bTmp, 1);
73 1 bTvTotalCh = bTmp;
74 1 if (bTvTotalCh>TV_CH_MAX)
75 1 {
76 2 bTvTotalCh = 0;
77 2 WriteE2prom(TV_TOTAL_CH_POS, &bTvTotalCh, 1);
78 2 }
79 1 if(bTvTotalCh == 0)
80 1 {
81 2 bTvTotalCh = 0;
82 2 sTvCurrChannel.bSystem=(0xc0 |bTunerDeafultVal);//bTunerVal;//11Sep08 IF_SWITCH_DEFAUL; //13A
-ug08
83 2 bTvCurrSound=(sTvCurrChannel.bSystem & 0x38) >>3; //13Aug08
84 2 bTvCurrChIndex = 1; //01Sep08 0;
85 2 sTvCurrChannel.wFreq =VHF_LOW_BOT;
86 2 }
87 1 else
88 1 {
89 2 ReadE2prom(TV_LAST_CH_POS, &bTmp, 1);
90 2 bTvCurrChIndex = bTmp;
91 2 if((bTvCurrChIndex < 0x01)||(bTvCurrChIndex > TV_CH_MAX)) //29Aug08
92 2 {
93 3 bTvCurrChIndex=0x01;
94 3 WriteE2prom(TV_LAST_CH_POS, &bTvCurrChIndex, 1);
95 3 }
96 2 if (bTvCurrChIndex <= bTvTotalCh)
97 2 {
98 3 sTvCurrChannel = ReadTVChannel(bTvCurrChIndex);
99 3 if((sTvCurrChannel.bSystem & 0x07)> SV_PAL_N) //16Sep08
100 3 {
101 4 sTvCurrChannel.bSystem =(0xc0 |bTunerDeafultVal); //bTunerVal; //16Sep08
102 4 }
103 3
104 3 bTvCurrSound=(sTvCurrChannel.bSystem & 0x38) >>3;//17Jul08 sTvCurrChannel.bSound ;
105 3 }
106 2 else
107 2 {
108 3 sTvCurrChannel.wFreq =VHF_LOW_BOT;
109 3 sTvCurrChannel.bSystem=(0xc0 |bTunerDeafultVal);//bTunerVal; //11Sep08 IF_SWITCH_DEFAUL; //13Aug08
110 3 bTvCurrSound=(sTvCurrChannel.bSystem & 0x38) >>3; //13Aug08
111 3 bTvCurrChIndex = 1; //01Sep08 0;
112 3 WriteE2prom(TV_LAST_CH_POS, &bTvCurrChIndex, 1);
113 3 }
114 2 }
115 1
C51 COMPILER V8.05a TV 01/05/2009 15:57:49 PAGE 3
116 1 #ifdef SUPPORT_UART_PRINTF
117 1 DRS232LogS("Read E2prom OK.\n");
118 1 #endif
119 1
120 1
121 1 }
122
123 void LoadDefaultTVData(void)
124 {
125 1 bTvTotalCh = 0;
126 1 bTvCurrChIndex = 1; //01Sep08 0;
127 1 bTvCurrSound = TV_SOUND_DEFAULT; //martin 14May08
128 1 WriteE2prom(TV_TOTAL_CH_POS, &bTvTotalCh, 1);
129 1 WriteE2prom(TV_LAST_CH_POS, &bTvCurrChIndex, 1);
130 1 #ifdef MARTIN_SUPPORT_SHOW_TV_VERSION //31Jul08
131 1 fgTvVersion= TV_VERSION_VALUE; //31Jul08
132 1 WriteE2prom(TV_VERSION_POS, &fgTvVersion, 1);
133 1 #else
WriteE2prom(TV_LAST_CH_AUDIO_POS, &bTvCurrSound, 1);
#endif
136 1 }
137
138 BYTE bTV_ADC_Read(void)
139 {
140 1 BYTE bTmp;
141 1
142 1 IICSW_Read(0, I2C_TVADC_ADDR,0,0,&bTmp,1);
143 1 return bTmp;
144 1 }
145
146 BYTE bTV_IF_Read(void)
147 {
148 1 BYTE bTmp;
149 1
150 1 IICSW_Read(0, I2C_TVIF_ADDR,0,0,&bTmp,1);
151 1 return bTmp;
152 1 }
153
154 BYTE bTV_PLL_Read(void)
155 {
156 1 BYTE bTmp;
157 1
158 1 IICSW_Read(0, I2C_TVPLL_ADDR,0,0,&bTmp,1);
159 1 return bTmp;
160 1 }
161
162 void vTV_PLL_Write(BYTE *databuf)
163 {
164 1 IICSW_Write(0, I2C_TVPLL_ADDR,0,0,databuf,4);
165 1 }
166
167 void vTV_IF_Write(BYTE *databuf)
168 {
169 1 IICSW_Write(0, I2C_TVIF_ADDR,0,0,databuf,4);
170 1 }
171
172 /*
173 BYTE bBand()
174 {
175 if((_sTunerPLL.wDB>=VHF_LOW_BOT) && (_sTunerPLL.wDB<VHF_LOW_TOP))
176 return (VHF_LOW_BAND);
177 else if((_sTunerPLL.wDB>=VHF_HIGH_BOT) && (_sTunerPLL.wDB<VHF_HIGH_TOP))
C51 COMPILER V8.05a TV 01/05/2009 15:57:49 PAGE 4
178 return (VHF_HIGH_BAND);
179 else if((_sTunerPLL.wDB>=UHF_BOT) &&(_sTunerPLL.wDB <UHF_TOP))
180 return (UHF_BAND);
181 else
182 return (VHF_HIGH_BAND);
183
184 }
185 */
186 #ifndef TUNER_USE_TNJ7355 //martin 14May08
void vTVTunerInit(void)
{
BYTE bData[4];
bData[0] = IF_RESERVED;
bData[1] = IF_SWITCH_PAL;
bData[2] = IF_ADJUST_DEFAUL;
if (bTvCurrSound==SV_DK) //TV_SOUND_DK
bData[3] = IF_DATA3;
else if (bTvCurrSound==SV_I) //TV_SOUND_I
bData[3] = IF_DATA2;
else
bData[3] = IF_DATA1;
vTV_IF_Write(bData);
}
#endif
203 // Init TV
204 void vInitTV(void)
205 {
206 1 #ifdef SUPPORT_UART_PRINTF
207 1 DRS232LogS("Init Tuner Start.\n");
208 1 #endif
209 1
210 1 Delay1ms(100);
211 1 mTVEnable();
212 1 Delay1ms(100);
213 1 #ifdef MARTIN_ADD_SEARCH_TUNER_MUTE
214 1 fgTVSearhMute=0; //05Aug08
215 1 #endif
216 1 if(bTvTotalCh)
217 1 {
218 2 _sTunerPLL.wDB = sTvCurrChannel.wFreq;
219 2 _sTunerPLL.bCB = TUNER_CB1;
220 2 _bSearchState = S_STATE_IDLE; //31Jul08 S_STATE_CHK_VIDEO;
221 2 _bSearchCnt = 0; //31Jul08 S_TV_VERIFY_TIME;
222 2 }
223 1 else
224 1 {
225 2 _sTunerPLL.wDB = VHF_LOW_BOT; //0x27db; ?????????? martin 12May08
226 2 sTvCurrChannel.wFreq = _sTunerPLL.wDB;
227 2 _sTunerPLL.bBB = TUNER_BB1;//TUNER_BB3; martin 14May08
228 2 sTvCurrChannel.bSystem=(0xc0 |bTunerDeafultVal);// bTunerVal; //11Seo08 IF_SWITCH_DEFAUL;
229 2 bTvCurrSound=TV_SOUND_DEFAULT;
230 2 _sTunerPLL.bCB = TUNER_CB1;
231 2 _bSearchState = S_STATE_IDLE; //13Aug08 S_STATE_CHK_VIDEO;
232 2 _bSearchCnt = 0; //13Aug08 S_TV_VERIFY_TIME;
233 2 }
234 1
235 1 _bSearchMode = SEARCH_IDLE;
236 1 fgAFCADJState=FREQUENCY_ADJ_IDLE; //13Aug08
237 1 #ifdef MARTIN_SUPPORT_SHOW_TV_VERSION
238 1 fgTvVersion= TV_VERSION_VALUE; //31Jul08
239 1 _bSearchPercent=fgTvVersion;
C51 COMPILER V8.05a TV 01/05/2009 15:57:49 PAGE 5
240 1 #else
_bSearchPercent=0x00; //01Jul08
#endif
243 1 // bDataUpdateEn=0; //04jun08
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -