📄 baojian.lst
字号:
446 5 {
447 6 TR0=0;
448 6 heathigh=0;
449 6 time_start=0x00;
450 6 step++;
451 6 TR0=1;
452 6 }
453 5 break;
454 5 }
455 4 case 0x02:
456 4 { P3M1=_bin(1,0,1,0,1,1,0,0);
457 5 if(time_start>_60S)
458 5 {
459 6 heathigh=1;
460 6 time_start=0x00;
461 6 step=0x01;
462 6 }
463 5 break;
464 5 }
465 4 default : break;
466 4 }
467 3 break;
468 3 }
469 2
470 2 default:break;
471 2 }
472 1 }
473 //键盘扫描void key(void);
474 ///////////////////////////////////////////////////////
475 void key(void)
476 {
477 1 bit temp;
478 1 temp=on_off;
479 1 _nop_();
480 1 P3M1=0xa8;//_bin(1,0,1,0,1,0,0,0);
481 1 _nop_();
482 1 P3M0=0x00;//_bin(0,0,0,0,0,0,0,0);
483 1 _nop_();
484 1 // P1M1=_bin(0,1,1,0,0,0,0,0);
485 1 // P1M0=_bin(0,0,0,0,0,0,0,0);
486 1 on_off=1;
487 1 _nop_();
488 1 while(!on_off)
489 1 { _nop_();
C51 COMPILER V7.07 BAOJIAN 10/12/2007 13:39:15 PAGE 9
490 2 while(!on_off);
491 2 power();
492 2 }
493 1 on_off=temp;
494 1 if(power_flag)
495 1 {
496 2 temp=strong_key;
497 2 // P3M1=_bin(1,0,1,0,1,1,0,0);
498 2 // P3M0=_bin(0,0,0,0,0,0,0,0);
499 2 P1M1=_bin(1,1,0,0,0,0,0,0);
500 2 _nop_();
501 2 strong_key=1;
502 2 _nop_();
503 2 while(!strong_key)
504 2 { _nop_();
505 3 while(!strong_key);
506 3 strong();
507 3 }
508 2 _nop_();
509 2 strong_key=temp;
510 2 _nop_();
511 2
512 2 temp=mid_key;
513 2 _nop_();
514 2 // P3M1=_bin(1,0,1,0,1,1,0,0);
515 2 // P3M0=_bin(0,0,0,0,0,0,0,0);
516 2 P1M1=_bin(1,0,1,0,0,0,0,0);
517 2 // _nop_();
518 2 // P1M0=0x00;//_bin(0,0,0,0,0,0,0,0);
519 2 _nop_();
520 2 mid_key=1;
521 2 _nop_();
522 2 while(!mid_key)
523 2 { _nop_();
524 3 while(!mid_key);
525 3 mid();
526 3 }
527 2 mid_key=temp;
528 2 _nop_();
529 2 temp=lack_key;
530 2 _nop_();
531 2 P3M1=_bin(1,0,1,0,0,1,0,0);
532 2 _nop_();
533 2 P3M0=0x00;//_bin(0,0,0,0,0,0,0,0);
534 2 _nop_();
535 2 P1M1=_bin(1,1,1,0,0,0,0,0);
536 2 _nop_();
537 2 P1M0=_bin(1,0,0,0,0,0,0,0);
538 2 _nop_();
539 2 lack_key=1;
540 2 _nop_();
541 2 while(!lack_key)
542 2 { _nop_();
543 3 while(!lack_key);
544 3 lack();
545 3 }
546 2 lack_key=temp;
547 2 }
548 1 _nop_();
549 1 P3M1=_bin(1,0,1,0,1,1,0,0);
550 1 _nop_();
551 1 P3M0=_bin(0,0,0,0,0,0,0,0);
C51 COMPILER V7.07 BAOJIAN 10/12/2007 13:39:15 PAGE 10
552 1 _nop_();
553 1 P1M1=_bin(1,1,1,0,0,0,0,0);
554 1 _nop_();
555 1 P1M0=_bin(1,0,0,0,0,0,0,0);
556 1 }
557
558 void bell_time1(void) interrupt 3 using 2
559 {
560 1 TH1=0x4C;
561 1 TL1=0x00;
562 1 time_bell++;
563 1 switch(bell_style)
564 1 {
565 2 case 0x01:
566 2 {
567 3 if(bell)
568 3 {
569 4 if(time_bell>_01S)
570 4 {
571 5 bell=~bell;
572 5 time_bell=0x00;
573 5 }
574 4 }
575 3 else
576 3 {
577 4 if(time_bell>_2S)
578 4 {
579 5 bell=~bell;
580 5 time_bell=0x00;
581 5 }
582 4 }
583 3 break;
584 3 }
585 2 case 0x02:
586 2 {
587 3 if(bell)
588 3 {
589 4 if(time_bell>_01S)
590 4 {
591 5 bell=~bell;
592 5 time_bell=0x00;
593 5 larmlight=1;
594 5 }
595 4 }
596 3 else
597 3 {
598 4 if(time_bell>_01S)
599 4 {
600 5 bell=~bell;
601 5 time_bell=0x00;
602 5 larmlight=0;
603 5 }
604 4 }
605 3 break;
606 3 }
607 2 default :break;
608 2 }
609 1
610 1 }
611 void Door_protect(void)
612 {
613 1 if(Door==0)
C51 COMPILER V7.07 BAOJIAN 10/12/2007 13:39:15 PAGE 11
614 1 {
615 2 TR0=TR1=0;
616 2 power_flag=0;
617 2 strong_key=mid_key=lack_key=1;
618 2 larmlight=0;
619 2 liaocheng=0x00;
620 2 heatlow=0;heathigh=0;
621 2 mode=0x00;
622 2 }
623 1 else if((mode==0x00)&(liaocheng==0x00))
624 1 {
625 2 larmlight=1;
626 2 }
627 1 }
628 //************************************//
629 //main()
630 //////////////////////////////////////
631 void main(void)
632 {
633 1 P3M1=_bin(1,0,1,0,1,1,0,0);
634 1 P3M0=_bin(0,0,0,0,0,0,0,0);
635 1 P1M1=_bin(1,1,1,0,0,0,0,0);
636 1 P1M0=_bin(1,0,0,0,0,0,0,0);
637 1 D1=D2=D3=D4=larmlight=1;
638 1 heatlow=heathigh=bell=0;
639 1 strong_key=mid_key=lack_key=0;
640 1 on_off=1;
641 1 TH0=0x4C;
642 1 TL0=0x00;
643 1 TH1=0x4C;
644 1 TL1=0x00;
645 1 TMOD=0x11;
646 1 ET0=ET1=EA=1;
647 1 while(1)
648 1 {
649 2 key();
650 2 timer1_LED();
651 2 working();
652 2 alarm();
653 2 Door_protect();
654 2 }
655 1
656 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1311 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 17 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -