📄 tuner.lst
字号:
C51 COMPILER V7.50 TUNER 03/18/2008 22:04:57 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE TUNER
OBJECT MODULE PLACED IN .\BIN\TUNER.obj
COMPILER INVOKED BY: D:\设计软件\Keil\C51\BIN\C51.EXE SRC\TUNER.C BROWSE DEBUG OBJECTEXTEND PRINT(.\LST\TUNER.lst) OBJEC
-T(.\BIN\TUNER.obj)
line level source
1
2 //TNF8532
3
4 #include "IIC.H"
5 #include "OSD.H"
6 #include "MCU.H"
7 #include "RAM.H"
8 #include "MyDef.H"
9 #include "TUNER.H"
10 #include "F63REG.H"
11 #include "SAA7114.H"
12
13 /**************************************************************************/
14 /*** vnf variable in Main filse define ***/
15 /*** ass(); //slow search ***/
16 /*** ass1(KeyFlag, NotarizeFlag); //slender adjust ***/
17 /*** ChannelPlus(); //TV Channel Plus 1 ***/
18 /*** ChannelMinus(); //TV Channel Minus 1 ***/
19 /*** IntoTvMode(); //into TV mode ***/
20 /*** EEPROM address from 0x380 to 0x4ff ***/
21 /**************************************************************************/
22
23
24 unsigned char vnf,cf0,df1,rtf1,SearchChannel;
25 char channel;
26 unsigned int guage;
27 unsigned short StorePointer,InterruptCount;
28
29 code unsigned int Fix_Freq[] =
30 {
31 0x58A, 0x60A, 0x68A, 0x742, 0x7C2, 0x972, 0x9F2, 0xA72, 0xAF2, 0xB72,//z5
32 0xBF2, 0xC72, 0xCF2, 0xD72, 0xDF2, 0xE72, 0xef2, 0xf72, 0xFF2, 0x1072,//z8
33 0x10F2,0x1172,0x11F2,0x1272,0x12F2,0x1372,0x13F2,0x1472,0x14F2,0x1572,//z18
34 0x15F2,0x1672,0x16F2,0x1772,0x17F2,0x1872,0x18F2,0x1972,0x19F2,0x1A72,//z28
35 0x1AF2,0x1B72,0x1BF2,0x1C72,0x1CF2,0x1D72,0x1DF2,0x1E72,0x1EF2,0x1F72,//z38
36 0x1FE2,0x2062,0x20E2,0x2162,0x21E2,0x2262,0x22E2,0x2362,0x23E2,0x2462,//c22
37 0x24E2,0x2562,0x2862,0x28e2,0x2962,0x29e2,0x2a62,0x2ae2,0x2b62,0x2be2,//c32
38 0x2c62,0x2ce2,0x2d62,0x2de2,0x2e62,0x2ee2,0x2f62,0x2fe2,0x3062,0x30e2,//c42
39 0x3162,0x31e2,0x3262,0x32e2,0x3362,0x33e2,0x3462,0x34e2,0x3562,0x35e2,//c52
40 0x3662,0x36e2,0x3762,0x37e2,0x3862
41 };
42
43 void AutoSet(unsigned char CF0,unsigned char CF1)
44 {
45 1 if(CF0 < 0x0c)
46 1 {SetTuner(CF0,CF1,CONTROLBYTE0,CONTROLBYTE1);}
47 1 if(CF0 == 0x0c)
48 1 {
49 2 if (CF1 < 0xf2)
50 2 {SetTuner(CF0,CF1,CONTROLBYTE0,LOWBAND);}
51 2 else
52 2 {SetTuner(CF0,CF1,CONTROLBYTE0,MIDBAND);}
53 2 }
54 1 if(CF0 > 0x0c && CF0<0x1f)
C51 COMPILER V7.50 TUNER 03/18/2008 22:04:57 PAGE 2
55 1 {
56 2 SetTuner(CF0,CF1,CONTROLBYTE0,MIDBAND);
57 2 }
58 1 if(CF0 == 0x1f)
59 1 {
60 2 if (CF1 < 0xe2)
61 2 {SetTuner(CF0,CF1,CONTROLBYTE0,MIDBAND);}
62 2 else
63 2 {SetTuner(CF0,CF1,CONTROLBYTE0,HIGHBAND);}
64 2 }
65 1 if(CF0 > 0x1f)
66 1 {
67 2 SetTuner(CF0,CF1,CONTROLBYTE0,HIGHBAND);
68 2 }
69 1 }
70
71 void Plus_1()
72 {
73 1 unsigned char t1,Fre_H,Fre_L;
74 1
75 1 Fre_H = cf0;
76 1 Fre_L = df1;
77 1 while(rtf1 !=0x02 && t1 <5)
78 1 {
79 2 if (Fre_L == 0xff)
80 2 { Fre_L=0; Fre_H+=1; }
81 2 else
82 2 Fre_L += 1;
83 2 AutoSet(Fre_H,Fre_L);
84 2 Sleep(150);
85 2 rtf1 = ReadIIC_Tuner();
86 2 rtf1 = rtf1 & 0x07;
87 2 if(rtf1 == 0x02)
88 2 Save_Channel();
89 2 t1++;
90 2 }
91 1 }
92 void Minus_1()
93 {
94 1 unsigned char t1,Fre_H,Fre_L;
95 1
96 1 Fre_H = cf0;
97 1 Fre_L = df1;
98 1
99 1 while(rtf1!=0x02 && t1 <5)
100 1 {
101 2 if (Fre_L == 0x0)
102 2 {Fre_L = 0xff;Fre_H-=1;}
103 2 else
104 2 Fre_L--;
105 2 AutoSet(Fre_H,Fre_L);
106 2 Sleep(150);
107 2 rtf1 = ReadIIC_Tuner();
108 2 rtf1 = rtf1 & 0x07;
109 2 if(rtf1 == 0x02)
110 2 Save_Channel();
111 2 t1++;
112 2 }
113 1 }
114
115 void Save_Channel(void)
116 {
C51 COMPILER V7.50 TUNER 03/18/2008 22:04:57 PAGE 3
117 1 Write24C16(StorePointer,cf0);
118 1 StorePointer++;
119 1 Sleep(12); //delay 5ms
120 1 Write24C16(StorePointer,df1);
121 1 StorePointer++;
122 1 Sleep(12); //delay 5ms
123 1 SearchChannel++;
124 1 }
125
126 void ass(void) //slow search
127 {
128 1 unsigned char s;
129 1
130 1 InitTuner();
131 1 SearchChannel=0;
132 1 StorePointer = StaChanAddr;
133 1 AUDIO_MUTE();
134 1 SelVideoMenu = 5;
135 1 cf0 = Fix_Freq[0]/256;
136 1 df1 = Fix_Freq[0]%256;
137 1 guage = cf0 * 256 + df1;
138 1 VideoMenu0();
139 1 for(s=0;s<95;s++)
140 1 {
141 2 cf0 = Fix_Freq[s]/256;
142 2 df1 = Fix_Freq[s]%256;
143 2 AutoSet(cf0,df1);
144 2 ScanKeyPad();
145 2 if(KeyBuffer==PowerKey || KeyBuffer==UpKey || KeyBuffer==DownKey || KeyBuffer==MenuKey || KeyBuffer==So
-urceKey)
146 2 goto EXIT;
147 2 Sleep(150); //delay 150ms
148 2 rtf1 = ReadIIC_Tuner();
149 2 rtf1 = rtf1 & 0x07;
150 2 CLRWDT = 0x55;
151 2 if(rtf1 == 0x02)
152 2 Save_Channel();
153 2 Minus_1();
154 2 Plus_1();
155 2 guage = cf0 * 256 + df1;
156 2 ShowNum(1,8,3,SearchChannel);
157 2 ShowSliderBar(1,2,(unsigned char)((guage-0x058a)/130.16)); //show Search Menu
158 2 }
159 1 Write24C16(LatChanAddr,(char)((StorePointer-StaChanAddr)/2));
160 1 Sleep(50);
161 1 CLRWDT = 0x55;
162 1 EXIT:
163 1 channel = Read24C16(CurChanAddr);
164 1 if(channel==0) {channel=1;}
165 1 AutoSet(Read24C16(channel*2+0x37e),Read24C16(channel*2+0x37f));
166 1 u1=4;
167 1 ChannelNumber = Read24C16(CurChanAddr);
168 1 ShowChannel();
169 1 CLRWDT = 0x55;
170 1 if(Volume != 0) //CANCEL AUDIO MUTE
171 1 AUDIO_On();
172 1 }
173
174 void ChannelPlus(void) //TV Channel Plus 1
175 {
176 1 if (TunerMode)
177 1 {
C51 COMPILER V7.50 TUNER 03/18/2008 22:04:57 PAGE 4
178 2 AUDIO_MUTE();
179 2 channel++;
180 2 if(channel>Read24C16(LatChanAddr))
181 2 {channel=1;}
182 2 cf0 = Read24C16(channel*2+0x37e);
183 2 df1 = Read24C16(channel*2+0x37f);
184 2 AutoSet(cf0,df1);
185 2 if(channel<10)
186 2 {u1=0;ShowChannel();}
187 2 else
188 2 {u1=5;ShowChannel();}
189 2 Write24C16(CurChanAddr,channel);
190 2 Sleep(5); //delay 5ms
191 2 if(Volume !=0) //CANCEL AUDIO MUTE
192 2 { if(!MuteFlag)
193 3 AUDIO_On();
194 3 }
195 2 }
196 1 }
197
198 void ChannelMinus(void) //TV Channel Minus 1
199 {
200 1 if (TunerMode)
201 1 {
202 2 AUDIO_MUTE();
203 2 channel--;
204 2 if(channel<1)
205 2 {channel=Read24C16(LatChanAddr);}
206 2 cf0 = Read24C16(channel*2+0x37e);
207 2 df1 = Read24C16(channel*2+0x37f);
208 2 AutoSet(cf0,df1);
209 2 if(channel<10)
210 2 {u1=0;ShowChannel();}
211 2 else
212 2 {u1=5;ShowChannel();}
213 2 Write24C16(CurChanAddr,channel);
214 2 Sleep(5); //delay 5ms
215 2 if(Volume !=0) //CANCEL AUDIO MUTE
216 2 { if(!MuteFlag)
217 3 AUDIO_On();
218 3 }
219 2 }
220 1 }
221
222 void IntoTvMode(void)
223 {
224 1 CLRWDT = 0x55;
225 1 Sleep(200);
226 1 CLRWDT = 0x55;
227 1 InitTuner();
228 1 channel = Read24C16(CurChanAddr);
229 1 if(channel==0 || channel==0xff) {channel=1;}
230 1 AutoSet(Read24C16(channel*2+0x37e),Read24C16(channel*2+0x37f));
231 1 u1=4;
232 1 ChannelNumber = Read24C16(CurChanAddr);
233 1 ShowChannel();
234 1 }
235
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1088 ----
C51 COMPILER V7.50 TUNER 03/18/2008 22:04:57 PAGE 5
CONSTANT SIZE = 190 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 9
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -