?? temprature.lst
字號:
486 1 Clear_Bit(Hd7279_Data);
487 1 return(Data_In);
488 1 }
489
C51 COMPILER V7.06 TEMPRATURE 04/09/2008 00:06:15 PAGE 9
490
491 void HD_Key_ISR() interrupt 0 //外部中斷0函數(按鍵中斷)
492 {
493 1 EA=0;
494 1
495 1 Send_Byte(0x15); //讀鍵盤
496 1 KeyValue=Receive_Byte(); //取得鍵值
497 1 while(!Hd7279_Key); //等待按鍵結束
498 1 if(KeyValue==4||KeyValue==5||KeyValue==6||KeyValue==8)
499 1 Int_Flag=1;
500 1 if(KeyValue==0||KeyValue==2)
501 1 Control_Flag=1;
502 1 EA=1;
503 1
504 1 }
505
506
507
508 /*HD7279值,加熱(0),臭氧(1),排風(2),確定(3),時間加(4),時間減(5),溫度加(6),溫度減(8)
-*/
509
510
511 void Up_Down_Check(void ) //檢查是否在增加減少溫度/時間值
512 {
513 1 char TemperatureTemp,TimeTemp;
514 1 long counter=0;
515 1 ET0=0;
516 1 ET1=0;
517 1
518 1
519 1 if((KeyValue==4||KeyValue==5||KeyValue==6||KeyValue==8)&&Int_Flag==1)
520 1 {
521 2 TimeTemp=TimeSet;
522 2 TemperatureTemp=TemperatureSet;
523 2
524 2 do{
525 3
526 3 Send_Byte(0x88);
527 3 Send_Byte(0x00); //LED閃爍
528 3 delayms(200);
529 3 if(Int_Flag==1)
530 3 {
531 4
532 4
533 4
534 4 if(KeyValue==4) //時間加
535 4 {
536 5 TimeTemp++;
537 5 if(TimeTemp>=60)
538 5 TimeTemp=60;
539 5
540 5
541 5 }
542 4 if(KeyValue==5) //時間減
543 4 {
544 5
545 5
546 5 TimeTemp--;
547 5 if(TimeTemp<=0)
548 5 TimeTemp=0;
549 5
550 5
C51 COMPILER V7.06 TEMPRATURE 04/09/2008 00:06:15 PAGE 10
551 5
552 5 }
553 4
554 4 if(KeyValue==6) //溫度加
555 4 {
556 5 TemperatureTemp++;
557 5 if(TemperatureTemp>=99)
558 5 TemperatureTemp=99;
559 5
560 5 }
561 4
562 4 if(KeyValue==8) //溫度減
563 4 {
564 5 TemperatureTemp--;
565 5 if(TemperatureTemp<=1)
566 5 TemperatureTemp=1;
567 5
568 5 }
569 4 counter=0;
570 4 delayms(700);
571 4 Temperature_Display(TemperatureTemp);
572 4 Time_Display(TimeTemp);
573 4 Int_Flag=0;
574 4 }
575 3
576 3 counter++;
577 3 }
578 2 while(KeyValue!=3&&counter<0x30000);
579 2
580 2 TemperatureSet=TemperatureTemp;
581 2 TimeSet=TimeTemp;
582 2 }
583 1 Send_Byte(0x88);
584 1 Send_Byte(0xff); //LED停止閃爍
585 1
586 1
587 1 ET0=1;
588 1 ET1=1;
589 1
590 1 }
591 void LED_Flash(void)
592 {
593 1 JiaRe_Disp=1;
594 1 FengShan_Disp=0;
595 1 delayms(1000);
596 1 JiaRe_Disp=0;
597 1 FengShan_Disp=1;
598 1 delayms(1000);
599 1 }
600 void Control_Key_Check(void) //檢查控制按鍵
601 {
602 1
603 1 // EA=0; //關外部中斷
604 1 // ET0=0;
605 1 // ET1=0;
606 1
607 1 if(KeyValue==0) //加熱被按下
608 1 {
609 2 JiaRe_Time++;
610 2 KeyValue=0xff;
611 2 FengShan_Time=0;
612 2 }
C51 COMPILER V7.06 TEMPRATURE 04/09/2008 00:06:15 PAGE 11
613 1 if(KeyValue==2) //排風按鈕被按下
614 1 {
615 2 FengShan_Time++;
616 2 KeyValue=0xff;
617 2 JiaRe_Time=0;
618 2 }
619 1
620 1 // if(JiaRe_Time==1)
621 1 // FengShan_Time=0;
622 1 // if(FengShan_Time==1)
623 1 // JiaRe_Time=0;
624 1
625 1 if((FengShan_Time==1))//
626 1 {
627 2
628 2
629 2 FengShan=1; //啟動排風
630 2 JiaRe=0; //關閉加熱
631 2 JiaRe_Disp=0;
632 2 if(TemperatureNow<=TemperatureSet-10)
633 2 {
634 3 FengShan_Disp=1;
635 3 delayms(500);
636 3 FengShan_Disp=0;
637 3 delayms(500);
638 3 }
639 2 else
640 2 {
641 3
642 3 FengShan_Disp=1; //排風燈亮
643 3
644 3 }
645 2
646 2
647 2 }
648 1 if(FengShan_Time==2) //第二次被按下
649 1 {
650 2 FengShan_Time=0;
651 2 Control_Auto=0; //切換至自動狀態
652 2
653 2
654 2 }
655 1
656 1
657 1 if((JiaRe_Time==1)) //第一次被按下//
658 1 {
659 2
660 2
661 2 JiaRe=1; //啟動加熱
662 2 FengShan=0; //關閉排風
663 2 FengShan_Disp=0;
664 2
665 2 if(TemperatureNow>=TemperatureSet+10)
666 2 {
667 3 JiaRe_Disp=1;
668 3 delayms(500);
669 3 JiaRe_Disp=0;
670 3 delayms(500);
671 3 }
672 2 else
673 2 {
674 3
C51 COMPILER V7.06 TEMPRATURE 04/09/2008 00:06:15 PAGE 12
675 3 JiaRe_Disp=1; //加熱燈亮
676 3 }
677 2
678 2 }
679 1
680 1 if(JiaRe_Time==2) //第二次被按下
681 1 {
682 2 JiaRe_Time=0;
683 2 Control_Auto=0; //切換至自動狀態
684 2
685 2
686 2 }
687 1
688 1
689 1
690 1
691 1 // EA=1; //開外部中斷
692 1 // ET0=1;
693 1 // ET1=1;
694 1
695 1 }
696
697 void ChouYang_Check(void)
698 {
699 1 if(KeyValue==0x01)
700 1 {
701 2 KeyValue=0xff;
702 2 ChouYang_Flag++;
703 2 if(ChouYang_Flag==1)
704 2 {
705 3 ChouYang=1;
706 3 ChouYang_Disp=1;
707 3 }
708 2 if(ChouYang_Flag==2)
709 2 {
710 3 ChouYang=0;
711 3 ChouYang_Disp=0;
712 3 ChouYang_Flag=0;
713 3 }
714 2 }
715 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1590 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 35 21
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -