📄 process.lst
字号:
487 2 if((delay_25ms>=28)&&(delay_25ms<=32))
488 2 {
C51 COMPILER V7.50 PROCESS 07/19/2006 10:05:14 PAGE 9
489 3 if(maskdisp==0x00)
490 3 {
491 4 P0=0;
492 4 state=1;
493 4 maskdisp=1;
494 4 break;
495 4 }
496 3
497 3 delay_25ms=33;
498 3 if (bwary[0]&maskdisp) P0 =maskdisp;
499 3 else P0=0;
500 3
501 3 maskdisp <<=1;
502 3
503 3 }
504 2 else if(delay_25ms>=100) P0=0; ////////zjs added on 20060711
505 2
506 2
507 2 break;
508 2
509 2
510 2
511 2 case 1:
512 2 if((delay_25ms>=28)&&(delay_25ms<=32))
513 2 {
514 3 if(maskdisp==0x00)
515 3 {
516 4 P2=0;
517 4 state=0;
518 4 maskdisp=1;
519 4 break;
520 4 }
521 3
522 3 delay_25ms=33;
523 3 if (bwary[1]&maskdisp) P2 =maskdisp;
524 3 else P2=0;
525 3
526 3 maskdisp <<=1;
527 3
528 3 }
529 2 else if(delay_25ms>=100) P2=0; ////////zjs added on 20060711
530 2
531 2 break;
532 2 }
533 1 }
534 /*******************************************************************
535 写端口函数
536 函数原型: void Wr_port()
537 功 能:
538
539 ********************************************************************/
540
541 void Wr_port()
542 {
543 1 static uchar wport_flag=0;
544 1 uchar wport_end;
545 1
546 1 switch(wport_flag)
547 1 {
548 2 case 0:
549 2 W_block(WPAGE0,i2c_addr_io,bwary,2);
550 2 wport_end=1;
C51 COMPILER V7.50 PROCESS 07/19/2006 10:05:14 PAGE 10
551 2 W_block(WPAGE0,i2c_addr_portflag,&wport_end,1);
552 2 wport_flag=1;
553 2 break;
554 2 case 1:
555 2 W_block(WPAGE1,i2c_addr_io,bwary,2);
556 2 wport_end=0;
557 2 W_block(WPAGE0,i2c_addr_portflag,&wport_end,1);
558 2 wport_flag=0;
559 2 break;
560 2 }
561 1
562 1 SenBuf[5]=(RecBuf[5]|0x80);
563 1 cs+=SenBuf[5];
564 1 SenBuf[6]=0;
565 1 SenBuf[SenBuf[6]+7]=cs;
566 1 SenBuf[SenBuf[6]+8]=FRAME_END_CHAR;
567 1 Senlen=SenBuf[6]+9;
568 1 }
569
570 /*******************************************************************
571 读端口函数
572 函数原型: void Rd_port(void)
573 功 能:
574
575 ********************************************************************/
576
577 void Rd_port(void)
578 {
579 1 register uchar k;
580 1
581 1 brary00=bwary07;
582 1 brary01=bwary06;
583 1 brary02=bwary05;
584 1 brary03=bwary04;
585 1 brary04=bwary03;
586 1 brary05=bwary02;
587 1 brary06=bwary01;
588 1 brary07=bwary00;
589 1 brary10=bwary17;
590 1 brary11=bwary16;
591 1 brary12=bwary15;
592 1 brary13=bwary14;
593 1 brary14=bwary13;
594 1 brary15=bwary12;
595 1 brary16=bwary11;
596 1 brary17=bwary10;
597 1
598 1 SenBuf[7]=brary[0];
599 1 SenBuf[8]=brary[1];
600 1 SenBuf[5]=(RecBuf[5]|0x80);
601 1 cs+=SenBuf[5];
602 1 SenBuf[6]=2;
603 1 cs+=SenBuf[6];
604 1
605 1 for(k=0;k<2;k++)
606 1 cs+=SenBuf[k+7];
607 1
608 1 SenBuf[SenBuf[6]+7]=cs;
609 1 SenBuf[SenBuf[6]+8]=FRAME_END_CHAR;
610 1 Senlen=SenBuf[6]+9;
611 1 }
612
C51 COMPILER V7.50 PROCESS 07/19/2006 10:05:14 PAGE 11
613 /*******************************************************************
614 读累加数据函数
615 函数原型: void Radd_data()
616 功 能:
617
618 ********************************************************************/
619 void Radd_data(void)
620 {
621 1 register uchar i,j;
622 1
623 1 SenBuf[5]=(RecBuf[5]|0x80);
624 1 cs+=SenBuf[5];
625 1
626 1 SenBuf[6]=RecBuf[7]*6;
627 1 for(i=0;i<RecBuf[7];i++)
628 1 for(j=0;j<6;j++)
629 1 SenBuf[j+7+i*6]=sum[i][j];
630 1
631 1 for(i=0;i<SenBuf[6];i++)
632 1 cs+=SenBuf[7+i];
633 1 cs+=SenBuf[6];
634 1 SenBuf[7+SenBuf[6]]=cs;
635 1 SenBuf[8+SenBuf[6]]=FRAME_END_CHAR;
636 1 Senlen=SenBuf[6]+9;
637 1
638 1 }
639
640 /*******************************************************************
641 轮询一周结束函数
642 函数原型: void Cyc_end()
643 功 能:
644
645 ********************************************************************/
646 void Cyc_end()
647 {
648 1
649 1 if(CycleFlag)
650 1 {
651 2 CycleFlag=0;
652 2 CheckInFlag=0;
653 2 }
654 1 else
655 1 CheckInFlag=1; //注册标志
656 1
657 1 FreezeClass=RecBuf[7];
658 1
659 1
660 1
661 1 }
662
663 /*******************************************************************
664 设置时段冻结函数
665 函数原型: void S_time(void)
666 功 能:
667
668 ********************************************************************/
669 void S_time(void)
670 {
671 1 uchar freezetime_end=0;
672 1 static freezetime_flag;
673 1 // for(i=0;i<16;i++)
674 1 // for(j=0;j<6;j++)
C51 COMPILER V7.50 PROCESS 07/19/2006 10:05:14 PAGE 12
675 1 // FreezeData[j+i*6]=freezesum[i][j];
676 1
677 1 switch(freezetime_flag)
678 1 {
679 2 case 0:
680 2 W_block(WPAGE0,i2c_time_freeze,&freezesum[0][0],96);
681 2 freezetime_end=1;
682 2 W_block(WPAGE0,i2c_time_flag,&freezetime_end,1);
683 2 freezetime_flag=1;
684 2 break;
685 2 case 1:
686 2 W_block(WPAGE1,i2c_time_freeze,&freezesum[0][0],96);
687 2 freezetime_end=0;
688 2 W_block(WPAGE0,i2c_time_flag,&freezetime_end,1);
689 2 freezetime_flag=0;
690 2 break;
691 2 }
692 1
693 1 }
694 /*******************************************************************
695 抄收时段冻结数据函数
696 函数原型: void R_time(void)
697 功 能:
698
699 ********************************************************************/
700 void R_time()
701 {
702 1 register uchar i,j;
703 1
704 1 SenBuf[5]=(RecBuf[5]|0x80);
705 1 cs+=SenBuf[5];
706 1
707 1 SenBuf[6]=RecBuf[7]*6;
708 1 for(i=0;i<RecBuf[7];i++)
709 1 for(j=0;j<6;j++)
710 1 SenBuf[j+7+i*6]=freezesum[i][j];
711 1 /*
712 1 SenBuf[6]=RecBuf[7]*6;
713 1 for(i=0;i<SenBuf[6];i++)
714 1 {
715 1 SenBuf[7+i]=FreezeData[i];
716 1 cs+=SenBuf[7+i];
717 1 }
718 1 */
719 1 for(i=0;i<SenBuf[6];i++)
720 1 cs+=SenBuf[7+i];
721 1 cs+=SenBuf[6];
722 1 SenBuf[7+SenBuf[6]]=cs;
723 1 SenBuf[8+SenBuf[6]]=FRAME_END_CHAR;
724 1 Senlen=SenBuf[6]+9;
725 1 }
726
727 /*******************************************************************
728 设置日冻结函数
729 函数原型: void S_day(void)
730 功 能:
731
732 ********************************************************************/
733 void S_day(void)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -