📄 functions.lst
字号:
454 2 InputLimit=5001;//
455 2 LedH(DataTemp);
456 2 DPA();
457 2 break;
458 2 case 4://SL 下限
459 2 if(DataTemp!=InputTemp)
460 2 {
461 3 Write(EP_SH,InputTemp);
462 3 UpperLimit=Read(EP_SH);
463 3 }
464 2 //更新
465 2 LedBuf[4]=LedCode[C_S];
466 2 LedBuf[5]=LedCode[C_L];
467 2 MieDown();
468 2 DataTemp=Read(EP_SL);
469 2 InputTemp=DataTemp;
470 2 InputLimit=5001;//99%
471 2 LedH(DataTemp);
472 2 DPA();
473 2 break;
474 2 case 5://oH 开度上
475 2 if(DataTemp!=InputTemp)
476 2 {
477 3 Write(EP_SL,InputTemp);
478 3 LowerLimit=Read(EP_SL);
479 3 }
480 2 //更新
481 2 LedBuf[4]=LedCode[C_o];
482 2 LedBuf[5]=LedCode[C_H];
483 2 MieDown();
484 2
485 2 DataTemp=Read(EP_oH);
486 2 InputTemp=DataTemp;
487 2 InputLimit=101;//最大值加1
488 2 LedH(DataTemp);
489 2 break;
C51 COMPILER V7.50 FUNCTIONS 03/06/2007 20:40:54 PAGE 9
490 2 case 6://oL 开度下
491 2 if(DataTemp!=InputTemp)
492 2 {
493 3 Write(EP_oH,InputTemp);
494 3 //更新PID系数
495 3 UpdatePid();
496 3 }
497 2 //更新
498 2 LedBuf[4]=LedCode[C_o];
499 2 LedBuf[5]=LedCode[C_L];
500 2 MieDown();
501 2
502 2 DataTemp=Read(EP_oL);
503 2 InputTemp=DataTemp;
504 2 InputLimit=100;//99
505 2 LedH(DataTemp);
506 2 LedBuf[1]+=128;
507 2 break;
508 2 case 7://P
509 2 if(DataTemp!=InputTemp)
510 2 {
511 3 Write(EP_oL,InputTemp);
512 3 //更新输出下限
513 3 MinOutputLimit=MinOutputLimit;
514 3 }
515 2 //更新
516 2 LedBuf[4]=LedCode[C_P];
517 2 LedBuf[5]=LedCode[C_Mie];
518 2 MieDown();
519 2
520 2 DataTemp=Read(EP_P);
521 2 InputTemp=DataTemp;
522 2 InputLimit=10000;
523 2 LedH(DataTemp);
524 2 LedBuf[1]+=128;
525 2 break;
526 2 case 8://I
527 2 if(DataTemp!=InputTemp)
528 2 {
529 3 Write(EP_P,InputTemp);
530 3 UpdatePid();
531 3 }
532 2 //更新
533 2 LedBuf[4]=LedCode[C_I];
534 2 LedBuf[5]=LedCode[C_Mie];
535 2 MieDown();
536 2
537 2 DataTemp=Read(EP_I);
538 2 InputTemp=DataTemp;
539 2 InputLimit=10000;
540 2 LedH(DataTemp);
541 2 LedBuf[1]+=128;
542 2 break;
543 2 case 9://d
544 2 if(DataTemp!=InputTemp)
545 2 {
546 3 if(InputTemp!=0)
547 3 Write(EP_I,InputTemp);
548 3 UpdatePid();
549 3 }
550 2 //更新
551 2 LedBuf[4]=LedCode[C_d];
C51 COMPILER V7.50 FUNCTIONS 03/06/2007 20:40:54 PAGE 10
552 2 LedBuf[5]=LedCode[C_Mie];
553 2 MieDown();
554 2
555 2 DataTemp=Read(EP_d);
556 2 InputTemp=DataTemp;
557 2 InputLimit=10000;
558 2 LedH(DataTemp);
559 2 LedBuf[1]+=128;
560 2 break;
561 2 case 10://db 闸位死区
562 2 if(DataTemp!=InputTemp)
563 2 {
564 3 Write(EP_d,InputTemp);
565 3 UpdatePid();
566 3 }
567 2 //更新
568 2 LedBuf[4]=LedCode[C_d];
569 2 LedBuf[5]=LedCode[C_b];
570 2 MieDown();
571 2
572 2 DataTemp=Read(EP_db);
573 2 InputTemp=DataTemp;
574 2 InputLimit=100;//99
575 2 LedH(DataTemp);
576 2 break;
577 2 case 11://Fd
578 2 if(DataTemp!=InputTemp)
579 2 {
580 3 Write(EP_db,InputTemp);
581 3 DeathZone=InputTemp;
582 3 }
583 2 //更新
584 2 LedBuf[4]=LedCode[C_F];
585 2 LedBuf[5]=LedCode[C_d];
586 2 MieDown();
587 2
588 2 DataTemp=0;//Read(EP_Fd);
589 2 InputTemp=DataTemp;
590 2 InputLimit=100;//0~99
591 2 LedH(DataTemp);
592 2 break;
593 2 case 12://FF 功能键
594 2 Write(EP_Fd,InputTemp);
595 2 //更新
596 2
597 2 LedL(InputTemp);
598 2 LedBuf[4]=LedCode[C_F];
599 2 LedBuf[5]=LedCode[C_F];
600 2 //MieDown();
601 2 switch(InputTemp)
602 2 {
603 3 case 0:
604 3 InputLimit=10000;
605 3 break;
606 3 case 1://升温下线
607 3 DataTemp=Read(EP_FF1);
608 3 // InputTemp=DataTemp;
609 3 InputLimit=10000;//9999
610 3 break;
611 3 case 2://Pid区
612 3 DataTemp=Read(EP_FF2);
613 3
C51 COMPILER V7.50 FUNCTIONS 03/06/2007 20:40:54 PAGE 11
614 3 InputLimit=10000;//9999
615 3 break;
616 3 case 3://降温上线
617 3 DataTemp=Read(EP_FF3);
618 3 // InputTemp=DataTemp;
619 3 InputLimit=10000;//9999
620 3 break;
621 3 case 4://
622 3 DataTemp=Read(EP_FF4);
623 3 //InputTemp=DataTemp;
624 3 InputLimit=10000;//9999
625 3 default:
626 3 ;
627 3 }
628 2
629 2 LedH(DataTemp);
630 2 InputTemp=DataTemp;
631 2 break;
632 2 default:
633 2 MeterSta=0;
634 2 }
635 1 }
636
637 void UpdatePid()
638 {
639 1 k0=Read(EP_P);
640 1 fK1=k0/100.0;//Kp
641 1 k0=Read(EP_I);
642 1 fK2=k0/100.0;//Ki
643 1 k0=Read(EP_d);
644 1 fK3=k0/100.0;//Kd
645 1 }
646
647 void UpdateFrZero()
648 {
649 1 k0=Read(EP_FrMin);
650 1 if(k0 & 0x8000)
651 1 {
652 2 k0=k0 & 0x7fff;
653 2 FrZero=-k0;
654 2 }
655 1 else
656 1 FrZero=k0;
657 1 k0=Read(EP_FrMax);
658 1 if(k0 & 0x8000)
659 1 {
660 2 k0=k0 & 0x7fff;
661 2 FrZero=FrZero-k0;
662 2 }
663 1 else
664 1 FrZero=FrZero+k0;
665 1
666 1 FrZero=FrZero/2;
667 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2715 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
C51 COMPILER V7.50 FUNCTIONS 03/06/2007 20:40:54 PAGE 12
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -