?? f334.lst
字號:
268 3
269 3 Measure();
270 3 AdR[4]=TL_Adresult;
271 3
272 3 S_AdResult0[0]=((AdR[0]/1000)+0X30); //hundred
273 3 S_AdResult0[1]=((AdR[0]%1000)/100+0X30); //hundred
274 3 S_AdResult0[2]=(((AdR[0]%1000) % 100)/10+0X30); //ten
275 3 S_AdResult0[3]=((((AdR[0]%1000) % 100) % 10)+0X30); //one
276 3
277 3 S_AdResult1[0]=((AdR[1]/1000)+0X30); //hundred
278 3 S_AdResult1[1]=((AdR[1]%1000)/100+0X30); //hundred
279 3 S_AdResult1[2]=(((AdR[1]%1000) % 100)/10+0X30); //ten
280 3 S_AdResult1[3]=((((AdR[1]%1000) % 100) % 10)+0X30); //one
281 3
282 3 S_AdResult2[0]=((AdR[2]/1000)+0X30); //hundred
283 3 S_AdResult2[1]=((AdR[2]%1000)/100+0X30); //hundred
284 3 S_AdResult2[2]=(((AdR[2]%1000) % 100)/10+0X30); //ten
285 3 S_AdResult2[3]=((((AdR[2]%1000) % 100) % 10)+0X30); //one
286 3
287 3 S_AdResult3[0]=((AdR[3]/1000)+0X30); //hundred
288 3 S_AdResult3[1]=((AdR[3]%1000)/100+0X30); //hundred
289 3 S_AdResult3[2]=(((AdR[3]%1000) % 100)/10+0X30); //ten
290 3 S_AdResult3[3]=((((AdR[3]%1000) % 100) % 10)+0X30); //one
291 3
292 3 S_AdResult4[0]=((AdR[4]/1000)+0X30); //hundred
293 3 S_AdResult4[1]=((AdR[4]%1000)/100+0X30); //hundred
294 3 S_AdResult4[2]=(((AdR[4]%1000) % 100)/10+0X30); //ten
295 3 S_AdResult4[3]=((((AdR[4]%1000) % 100) % 10)+0X30); //one
296 3
297 3 //S_AdResult4[0]=((key_press_time/1000)+0X30); //hundred
298 3 //S_AdResult4[1]=((key_press_time%1000)/100+0X30); //hundred
299 3 //S_AdResult4[2]=(((key_press_time%1000) % 100)/10+0X30); //ten
300 3 //S_AdResult4[3]=((((key_press_time%1000) % 100) % 10)+0X30); //one
301 3
302 3 count_time=0;
C51 COMPILER V8.02 F334 07/13/2006 10:09:54 PAGE 6
303 3 sample_time=0;
304 3
305 3 Send_GPS();
306 3 IsGpsFrame=0;
307 3
308 3 GPS_time=700;
309 3 }
310 2
311 2 if (GPS_time<100) IsGpsFrame=1;
312 2
313 2 if (GPS_Alarm_js==0)
314 2 {
315 3 GPS_Alarm_js=200;
316 3 if ((GPS_Current_pre>500) && (GPS_Current>500))
317 3 {
318 4 GPS_Alarm[0]=8+0x30;GPS_Alarm[1]=5+0x30;
319 4 GPS_SW=1;
320 4 GPS_Alarm_js=2000;
321 4 }
322 3 else
323 3 {
324 4 GPS_Alarm[0]=0+0x30;GPS_Alarm[1]=0+0x30;
325 4 GPS_SW=0;
326 4 }
327 3 GPS_Current_pre=GPS_Current;
328 3 }
329 2
330 2 if (SRI==1)
331 2 {
332 3 SRI=0;
333 3 fmbak=RDR;
334 3 if (fmbak==245) surt_js=1;
335 3 if ((fmbak==240) && (surt_js==1)) surt_js=2;
336 3 else if ((fmbak==204) && (surt_js==1)) surt_js=6;
337 3 if ((surt_js==2) && (fmbak<201))
338 3 {
339 4 surt_js=3;
340 4 fmbak3=fmbak;
341 4 he=229+fmbak;
342 4 }
343 3 if ((surt_js==2) && (fmbak==250))
344 3 {
345 4 surt_js=3;
346 4 fmbak3=fmbak;
347 4 he=229+fmbak;
348 4 }
349 3 if ((surt_js==6) && (fmbak<10))
350 3 {
351 4 surt_js=7;
352 4 fmbak3=fmbak;
353 4 he=193+fmbak;
354 4 }
355 3
356 3 if ((surt_js==7) && (he==fmbak))
357 3 {
358 4 surt_js=0;
359 4 if (fmbak3<10) b_light=fmbak3+0x30;
360 4 if (fmbak3>4) DAC0=(fmbak3-5)*15000;
361 4 else DAC0=0;
362 4 }
363 3 if ((surt_js==3) && (he==fmbak))
364 3 {
C51 COMPILER V8.02 F334 07/13/2006 10:09:54 PAGE 7
365 4 surt_js=0;
366 4 if (fmbak3==250)
367 4 {
368 5 fm[0]=(2+0x30); //hundred
369 5 fm[1]=(5+0x30); //ten
370 5 fm[2]=(0+0x30); //one
371 5 Control_inf(fmbak1,fmbak2,0);
372 5 }
373 4 else
374 4 {
375 5 fm[0]=(fmbak3/100+0x30); //hundred
376 5 fm[1]=((fmbak3 % 100)/10+0x30); //ten
377 5 fm[2]=(((fmbak3 % 100) % 10)+0x30); //one
378 5 fmbak1=fmbak3/10+88;
379 5 fmbak2=fm[2]-0x30;
380 5 Control_inf(fmbak1,fmbak2,1);
381 5 }
382 4 }
383 3
384 3 RDR=0;
385 3 }
386 2
387 2
388 2 if (test>500)
389 2 {
390 3 test=0;
391 3 //LED_EN=~LED_EN;
392 3 //DAC0=0x0;
393 3 //Control_inf(88,0,1);
394 3 }
395 2 /*else if (test>3000)
396 2 {
397 2 DAC0=0xffc0;
398 2 }
399 2 */
400 2
401 2
402 2 }
403 1 }
404
405 /////////////////////////////////////
406 // Config2 Code Configuration File //
407 /////////////////////////////////////
408 //----------------------------------------------------------------------------
409 // P0.0---VREF; SW_TX0(由于目前在該程序中ADC和DAC尚未初始化,所以SW_TX0暫被
410 // 分配在P0.0口上面;否則一切正常初始化完成后,已被分配
411 // 在P0.2腳上)
412 // P0.1---IDA;
413 // P0.2---GPIO; 待一切初始化正常后,將作為SW_TX0使用。
414 // P0.3---CEX0; SW_RX0
415 // P0.4---TX0;
416 // P0.5---RX0;
417 // P0.6---T0
418 // P0.7---GPIO; SW_SPI
419 // P1.0---GPIO; SW_SPI
420 // P1.1---GPIO; SW_SPI
421 // P1.2---AIN0
422 // P1.3---GPIO
423 // P1.4---GPIO
424 // P1.5---GPIO;
425 // P1.6---GPIO;
426 // P1.7---GPIO;
C51 COMPILER V8.02 F334 07/13/2006 10:09:54 PAGE 8
427 // Peripheral specific initialization functions,
428 // Called from the Init_Device() function
429 void Port_Init()
430 {
431 1 P0MDIN =0xFC;
432 1 P0SKIP = 0x07;
433 1 P0MDOUT |= 0x94;
434 1
435 1 P1MDIN = 0xFB;
436 1 P1SKIP = 0x04;
437 1 P1MDOUT |= 0x0B;
438 1
439 1 XBR0 = 0x01;
440 1 XBR1 = 0x51;
441 1 }
442
443 //-----------------------------------------------------------------------------
444 // SYSCLK_Init
445 //-----------------------------------------------------------------------------
446 //
447 // This routine initializes the system clock to use the internal oscillator
448 // at its maximum frequency.
449 // Also enables the Missing Clock Detector.
450 //
451
452 void SYSCLK_Init (void)
453 {
454 1 OSCICN |= 0x03; // Configure internal oscillator for
455 1 // its maximum frequency
456 1 RSTSRC = 0x04; // Enable missing clock detector
457 1
458 1 }
459
460 //-----------------------------------------------------------------------------
461 // UART0_Init
462 //-----------------------------------------------------------------------------
463 //
464 // Configure the UART0 using Timer1, for <BAUDRATE> and 8-N-1.
465 //
466 void UART0_Init (void)
467 {
468 1 SCON0 = 0x10; // SCON0: 8-bit variable bit rate
469 1 // level of STOP bit is ignored
470 1 // RX enabled
471 1 // ninth bits are zeros
472 1 // clear RI0 and TI0 bits
473 1 if (SYSCLK/BAUDRATE/2/256 < 1) {
474 2 TH1 = -(SYSCLK/BAUDRATE/2);
475 2 CKCON &= ~0x0B; // T1M = 1; SCA1:0 = xx
476 2 CKCON |= 0x08;
477 2 } else if (SYSCLK/BAUDRATE/2/256 < 4) {
478 2 TH1 = -(SYSCLK/BAUDRATE/2/4);
479 2 CKCON &= ~0x0B; // T1M = 0; SCA1:0 = 01
480 2 CKCON |= 0x09;
481 2 } else if (SYSCLK/BAUDRATE/2/256 < 12) {
482 2 TH1 = -(SYSCLK/BAUDRATE/2/12);
483 2 CKCON &= ~0x0B; // T1M = 0; SCA1:0 = 00
484 2 } else {
485 2 TH1 = -(SYSCLK/BAUDRATE/2/48);
486 2 CKCON &= ~0x0B; // T1M = 0; SCA1:0 = 10
487 2 CKCON |= 0x02;
488 2 }
C51 COMPILER V8.02 F334 07/13/2006 10:09:54 PAGE 9
489 1
490 1 TL1 = TH1; // init Timer1
491 1 TMOD &= ~0xf0; // TMOD: timer 1 in 8-bit autoreload
492 1 TMOD |= 0x20;
493 1 TR1 = 1; // START Timer1
494 1 TI0 = 1; // Indicate TX0 ready
495 1 }
496
497 void SW_UART_Init (void)
498 {
499 1 PCA0MD = 0x02; //PCA counter use SYSCLK/4 as timebase
500 1 PCA0CPM1 = 0x49; //PCA0CPM1:capture triggered by
501 1 //negative edge on P0.3,enable module1
502 1 //interrupt
503 1 PCA0CPM0 = 0x11; //PCA0CPM0:software timer mode,enable
504 1 //module 0 interrupt
505 1
506 1 PCA0CN |= 0x40; //enables the PCA Counter/Timer.
507 1
508 1 CCF0 = 0;
509 1 CCF1 = 0;
510 1 SRI = 0; //????????
511 1 STI = 0; // ????????
512 1 SW_TX = 1; // TX????????
513 1 STXBSY = 0; // ??SW_UART???
514 1 SREN = 1; //????
515 1 }
516
517 //-----------------------------------------------------------------------------
518 // ???0???
519 //-----------------------------------------------------------------------------
520
521 void Timer0_Init (void)
522 {
523 1 TMOD|=0X06; //COUNT0
524 1 TL0=0X0FF; //interrupt when every pulse come
525 1 TH0=0X0FF;
526 1 EA=1;
527 1 ET0=1; //COUNT0 INT ENABLE
528 1 TR0=1; //COUNT0 START
529 1 }
530
531 void Timer0_ISR (void) interrupt 1
532 {
533 1 Pulse_s++;
534 1 }
535
536 //-----------------------------------------------------------------------------
537 // ADC0_Init ADBUSY, LP tracking, no Interrupt, ADC disabled
538 //-----------------------------------------------------------------------------
539 //
540 // Configure ADC0 to use ADBUSY as conversion source, and to sense the output
541 // of the temp sensor. Disables ADC end of conversion interrupt. Leaves ADC
542 // disabled.
543 //
544 void AD_Init (void)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -