📄 straincollector.lst
字号:
321 3 }
322 2 if(sign1==1)
323 2 {
324 3 if(flag<30)
325 3 {
326 4 time10();
327 4 }
328 3 else if(flag>=30&&flag<60)
329 3 {
330 4 time11();
331 4 }
332 3 else if(flag>=60&&flag<90)
333 3 {
334 4 time12();
335 4 }
336 3 else if(flag>=90&&flag<120)
337 3 {
338 4 time13();
339 4 }
340 3 else if(flag>=120&&flag<150)
341 3 {
342 4 time14();
343 4 }
344 3 else if(flag>=150&&flag<180)
345 3 {
346 4 time15();
347 4 }
348 3 else if(flag>=180&&flag<210)
349 3 {
350 4 time16();
351 4 }
352 3 else if(flag>=210&&flag<240)
353 3 {
354 4 time17();
355 4 }
356 3 else if(flag>=240&&flag<270)
357 3 {
358 4 time18();
359 4 }
360 3 else if(flag>=270&&flag<300)
361 3 {
362 4 time19();
363 4 }
364 3 else
365 3 {
C51 COMPILER V8.02 STRAINCOLLECTOR 10/08/2002 23:21:00 PAGE 7
366 4 flag = 0;
367 4 sign1 = 2;
368 4 }
369 3 }
370 2 if(sign1==2)
371 2 {
372 3 if(flag<30)
373 3 {
374 4 time20();
375 4 }
376 3 else if(flag>=30&&flag<60)
377 3 {
378 4 time21();
379 4 }
380 3 else if(flag>=60&&flag<90)
381 3 {
382 4 time22();
383 4 }
384 3 else if(flag>=90&&flag<120)
385 3 {
386 4 time23();
387 4 }
388 3 else if(flag>=120&&flag<150)
389 3 {
390 4 time24();
391 4 }
392 3 else if(flag>=150&&flag<180)
393 3 {
394 4 time25();
395 4 }
396 3 else if(flag>=180&&flag<210)
397 3 {
398 4 time26();
399 4 }
400 3 else if(flag>=210&&flag<240)
401 3 {
402 4 time27();
403 4 }
404 3 else if(flag>=240&&flag<270)
405 3 {
406 4 time28();
407 4 }
408 3 else if(flag>=270&&flag<300)
409 3 {
410 4 time29();
411 4 }
412 3 else if(flag>=300&&flag<330)
413 3 {
414 4 time30();
415 4 }
416 3 else if(flag>=330&&flag<360)
417 3 {
418 4 time31();
419 4 }
420 3 else{
421 4 flag = 0;
422 4 sign1 = 3;
423 4 }
424 3 }
425 2 if(sign1==3)
426 2 {
427 3 if(flag<30)
C51 COMPILER V8.02 STRAINCOLLECTOR 10/08/2002 23:21:00 PAGE 8
428 3 {
429 4 time32();
430 4 }
431 3 else if(flag>=30&&flag<60)
432 3 {
433 4 time33();
434 4 }
435 3 else if(flag>=60&&flag<90)
436 3 {
437 4 time34();
438 4 }
439 3 else if(flag>=90&&flag<120)
440 3 {
441 4 time35();
442 4 }
443 3 else if(flag>=120&&flag<150)
444 3 {
445 4 time36();
446 4 }
447 3 else if(flag>=150&&flag<180)
448 3 {
449 4 time37();
450 4 }
451 3 else if(flag>=180&&flag<210)
452 3 {
453 4 time38();
454 4 }
455 3 else if(flag>=210&&flag<240)
456 3 {
457 4 time39();
458 4 }
459 3 else if(flag>=240&&flag<270)
460 3 {
461 4 time40();
462 4 }
463 3 else if(flag>=270&&flag<300)
464 3 {
465 4 time41();
466 4 }
467 3 else if(flag>=300&&flag<330)
468 3 {
469 4 time42();
470 4 }
471 3 else if(flag>=330&&flag<360)
472 3 {
473 4 time43();
474 4 }
475 3 else if(flag>=360&&flag<390)
476 3 {
477 4 time44();
478 4 }
479 3 else if(flag>=390&&flag<420)
480 3 {
481 4 time45();
482 4 }
483 3 else if(flag>=420&&flag<450)
484 3 {
485 4 time46();
486 4 }
487 3 else if(flag>=450&&flag<480)
488 3 {
489 4 time47();
C51 COMPILER V8.02 STRAINCOLLECTOR 10/08/2002 23:21:00 PAGE 9
490 4 }
491 3 else if(flag>=480&&flag<510)
492 3 {
493 4 time48();
494 4 }
495 3 else if(flag>=510&&flag<540)
496 3 {
497 4 time49();
498 4 }
499 3 else if(flag>=540&&flag<570)
500 3 {
501 4 time50();
502 4 }
503 3 else if(flag>=570&&flag<600)
504 3 {
505 4 time51();
506 4 }
507 3 else
508 3 {
509 4 flag = 0;
510 4 sign1 = 4;
511 4 }
512 3 }
513 2 if(sign1==4)
514 2 {
515 3 ET0 = 0;
516 3 P1_7 = 1;
517 3 sign1 = 0;
518 3 yb++;
519 3 if(yb==16)
520 3 {
521 4 yb = 0;
522 4 }
523 3 P1_4 = 0; //89c54 选通频率
524 3 P1_3 = 0; //89c54
525 3 delay10ms();
526 3 P0_5 = 1;
527 3 BSWOVER = 1;
528 3 }
529 2 }
530 1
531 1
532 1 }
533
534 /******************************************
535 EXTERNAL INT 1, using 3 grouped registers
536 外部中断1,使用第3组寄存器
537 唤醒中断
538 该中断由串口读取Timeout定时中断产生浅睡眠,
539 由管理器命令产生深睡眠。
540 外部定时器会在此产生中断唤醒chip,
541 输出: BDPSLP
542 *****************************************/
543 void External1_INT(void) interrupt 2 using 3
544 {
545 1 if(BDPSLP)
546 1 {
547 2 // 如果是深休眠,则转入浅休眠
548 2 BDPSLP = 0;
549 2 // TODO: 将定时器改为定时功能
550 2 writeData(0x01,0x11); // 定时有效
551 2 // 3s后发送警报
C51 COMPILER V8.02 STRAINCOLLECTOR 10/08/2002 23:21:00 PAGE 10
552 2 // writeData(0x0F,0xC0); // 0xc081
553 2 // writeData(0x0E,0x81);
554 2
555 2 }
556 1
557 1 // open the wireless power
558 1 P3_7 = 0;
559 1 // CLOSE THE EXTERNAL INT 1
560 1 ET0 = 0;
561 1 }
562
563 /******************************************
564 TIME INT 1, using 1 grouped registers
565 计时中断1,使用第1组寄存器
566 用于对串口Read的Timeout计时
567 输出:如果P1_0为1,则进入睡眠。
568 *****************************************/
569 void Timer1_INT(void) interrupt 3 using 1
570 {
571 1
572 1 SET50MS1();
573 1 if (--g_totimes)
574 1 {
575 2 return;
576 2 }
577 1 // todo: close the Timer1
578 1
579 1 BTIMEOUT = 1;
580 1 ET1 = 0;
581 1
582 1 if (!P1_0)
583 1 return;
584 1 // set_wake_time();
585 1 // shallow_sleep();
586 1
587 1 // todo: open the Timer1
588 1 }
589
590 ////////////////////////////////////////////////////
591 // delay functions
592 //
593 void delay10ms(void)
594 {
595 1 uchar i,j,k;
596 1 for(i=5;i>0;i--)
597 1 for(j=4;j>0;j--)
598 1 for(k=248;k>0;k--);
599 1 }
600
601
602 void delay1ms(void)
603 {
604 1 uchar i,j,k;
605 1 for(i=5;i>0;i--)
606 1 for(j=4;j>0;j--)
607 1 for(k=24;k>0;k--);
608 1 }
609
610
611
612 void delay500ms(void)
613 {
C51 COMPILER V8.02 STRAINCOLLECTOR 10/08/2002 23:21:00 PAGE 11
614 1 uchar i,j,k;
615 1 for(i=15;i>0;i--)
616 1 for(j=202;j>0;j--)
617 1 for(k=81;k>0;k--);
618 1 }
619
620 /******************************************
621 通过串口发送字符
622 用来替换Keil C中的putchar函数。
623 *****************************************/
624 char send_char (char c)
625 {
626 1 SBUF = c;
627 1 while (!TI);
628 1 TI = 0;
629 1 return c;
630 1 }
631
632 /******************************************
633 通过串口发送一条命令,命令保存在g_cmdData中
634 输入:g_cmdData。
635 *****************************************/
636 void send_cmd()
637 {
638 1 uchar crc = STARTFLAG, i;
639 1 // SBUF=STARTFLAG;
640 1 send_char(STARTFLAG);
641 1 send_char(g_cmdData[CMD]);
642 1 crc ^= g_cmdData[CMD];
643 1
644 1 send_char(TID);
645 1 crc ^= TID;
646 1
647 1 send_char(MID);
648 1 crc ^= MID;
649 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -