📄 fm.lst
字号:
175 1 if(AM_radio_freq >= 1538)
176 1 buffer = 0x0b;
177 1 Tun_Buff[0] |= buffer ;
178 1 }
C51 COMPILER V7.06 FM 12/11/2007 11:24:26 PAGE 4
179
180 bit stable_check(void)
181 {
182 1 data unsigned int i ,j;
183 1 j = 0;
184 1 for( i=0;i<2000;i++)
185 1 {
186 2 if (StopIn() == 1)
187 2 j++;
188 2 // Delay(500);
189 2 }
190 1 if (j>200)
191 1 return (1);
192 1 else return (0);
193 1
194 1
195 1 }
196 void Radio_FreqToPC(void)
197 {
198 1 volatile unsigned long freqbuffer ;
199 1 if(FM_AM_Mode == 1)
200 1 {
201 2 freqbuffer = ( FM_radio_freq + 10700 ) /50 -32;
202 2 // Radio_PLL_FMISet();
203 2 }
204 1 else
205 1 {
206 2
207 2 freqbuffer = ( AM_radio_freq + 10700 ) -32;
208 2 }
209 1 Tun_Buff[1] = (unsigned char)(freqbuffer);
210 1 Tun_Buff[2] = (unsigned char)(freqbuffer >> 8);
211 1
212 1 WriteTunerRegister(TUNVOLT_AREA);
213 1 WriteTunerRegister(PLL_AREA);
214 1 Tun_Buff[5] = ( Tun_Buff[5]&0x7f );
215 1 WriteTunerRegister(IF_SAMPLE_AREA);
216 1
217 1 }
218
219 void Radio_AMToPC(void)
220 {
221 1 volatile unsigned int ambuffer ;
222 1 ambuffer = ( AM_radio_freq + 10700 ) -32;
223 1
224 1 Tun_Buff[1] = (unsigned char)(ambuffer);
225 1 Tun_Buff[2] = (unsigned char)(ambuffer >> 8);
226 1
227 1 //WriteTunerRegister(TUNVOLT_AREA);
228 1 WriteTunerRegister(PLL_AREA);
229 1 // Tun_Buff[5] = ( Tun_Buff[5]&0x7f );
230 1 // WriteTunerRegister(IF_SAMPLE_AREA);
231 1
232 1 }
233
234
235 void Radio_main(void)
236 {
237 1 /***********************************
238 1 if( (Radiopwron=1)&&(first_turn=1))
239 1 {
240 1 void TunerRegister_Init();
C51 COMPILER V7.06 FM 12/11/2007 11:24:26 PAGE 5
241 1 first_turn=0;
242 1 }
243 1 **********************************/
244 1
245 1 data unsigned counter;
246 1 if (FM_AM_Mode)
247 1 {
248 2 TunerRegister_Init();
249 2 for(counter=0;counter<=1000;counter++)
250 2 {
251 3 if(FM_radio_freq > 108000) FM_radio_freq = 87500; //FM 87.5MHz-108MHz
252 3 if(FM_radio_freq < 87500) FM_radio_freq = 108000; //FM 87.5MHz-108MHz
253 3 if (Seekup==1)
254 3 {
255 4 FM_radio_freq += 100;
256 4 }
257 3 else
258 3 {
259 4 FM_radio_freq -= 100;
260 4 }
261 3
262 3 Radio_PLL_FMISet();
263 3 Radio_FreqToPC();
264 3 check = stable_check();
265 3 if (check == 1)
266 3 break;
267 3 }
268 2
269 2 }
270 1 else
271 1 {
272 2 // TunerRegister_Init();
273 2 ReadTunerEEPROM(10,49,&Tun_Buff[0]);
274 2 /************************************
275 2 Tun_Buff[0] = 0xd0;
276 2 Tun_Buff[5] &= 0x48;
277 2 Tun_Buff[5] |= 0xaa;
278 2 Tun_Buff[6] = 0x81;
279 2 // Tun_Buff[7] &= 0xf3;
280 2 Tun_Buff[7] = 0x21;
281 2 Tun_Buff[14] = 0xf5;
282 2 Tun_Buff[23] = 0x58;
283 2 ************************************/
284 2
285 2 Tun_Buff[0] = 0xd0;
286 2 Tun_Buff[5] = 0x2a;
287 2 Tun_Buff[6] = 0x01;
288 2 Tun_Buff[7] = 0x21;
289 2 Tun_Buff[14] = 0xf5;
290 2 Tun_Buff[18] = 0xf8;
291 2 Tun_Buff[23] = 0x58;
292 2 /**************************************
293 2 Tun_Buff[5] &= 0xc7;
294 2 Tun_Buff[5] |= 0x28;
295 2 Tun_Buff[6] &= 0xe0;
296 2 Tun_Buff[6] |= 0x01;
297 2 Tun_Buff[7] &= 0xf3;
298 2 Tun_Buff[14] &= 0x04;
299 2 Tun_Buff[14] |= 0xf1;
300 2 ******************************************/
301 2
302 2 WriteTunerRegister(0,31);
C51 COMPILER V7.06 FM 12/11/2007 11:24:26 PAGE 6
303 2 WriteTunerRegister(32,39);
304 2
305 2
306 2 //**********************************************************
307 2 //*********************************************************
308 2 for(counter=0;counter<=200;counter++)
309 2 {
310 3 if((AM_radio_freq > 1629)||(AM_radio_freq < 540))
311 3 AM_radio_freq = 540;
312 3 if(Seekup==1)
313 3 {
314 4 AM_radio_freq += 9;
315 4 }
316 3 else
317 3 AM_radio_freq -= 9;
318 3 LED_GrnOn();
319 3 Delay(1000);
320 3 Radio_PLL_AMISet();
321 3 Radio_AMToPC();
322 3
323 3 Tun_Buff[7] = 0x20;
324 3
325 3 Tun_Buff[23] = 0x68;
326 3 WriteTunerRegister(7,7);
327 3
328 3 WriteTunerRegister(23,23);
329 3
330 3 //Tun_Buff[5] = ( Tun_Buff[5]&0x7f );
331 3 // WriteTunerRegister(IF_SAMPLE_AREA);
332 3 check = stable_check();
333 3 if (check == 1)
334 3 break;
335 3
336 3 }
337 2
338 2 }
339 1
340 1 }
341
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1377 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 40 16
PDATA SIZE = ---- ----
DATA SIZE = 8 8
IDATA SIZE = ---- ----
BIT SIZE = 4 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -