📄 setbid.lst
字号:
522 3 }
523 2 }
524 1 if( data_final_number!=0)data_final[datanumber++]=tempdata;
525 1 EA=0;
526 1 SBUF=0X7E;
527 1 while(!TI);TI=0;
528 1 for(i=0;i<datanumber;i++)
529 1 {
530 2 SBUF=data_final[i];
531 2 while(!TI);TI=0;
532 2 }
533 1 EA=1;
534 1 tran_fpag(0x9f,9);
535 1 }
536 //设置日计划
537 set_datesch()
538 {
539 1 unsigned char *p;
540 1 unsigned short check_temp;
541 1 unsigned int i;
542 1 unsigned int j;
543 1 unsigned char beginbit=0;
544 1 data_final_number=0;
545 1 datanumber=0;
546 1 //设置
547 1 j=(checkdata[5]-1)*74;
548 1 for(i=0;i<74;i++)XBYTE[0X63a2+i+j]=checkdata[5+i]; //一个方案表写入
549 1
550 1 //应答
551 1 answer_data[0]=h_address;
C51 COMPILER V6.02 SETBID 08/02/2006 14:44:14 PAGE 10
552 1 answer_data[1]=l_address;
553 1 answer_data[2]=0xcc;
554 1 answer_data[3]=0xc1;
555 1 answer_data[4]=0xd8;
556 1 p=&answer_data[0];
557 1 check_temp=cal_crc(p,5);
558 1 answer_data[5]=(check_temp>>8); //crc
559 1 answer_data[6]=check_temp; //crc
560 1 answer_data[7]=0x7e;
561 1 for(i=0;i<8;i++){
562 2 for(j=0;j<8;j++){
563 3 add_bit=(answer_data[i]>>(7-j))%2;
564 3 add_transparences();
565 3 tempdata=tempdata+(add_bit<<(7-data_final_number++));
566 3 if((add_transparence_valid==1) && (i!=7)){ ///////////////////////////////////
567 4 if(data_final_number==8)beginbit=1;
568 4 else data_final_number++;
569 4 } ///////////////////////////////////
570 3 if(data_final_number>=8){ /////////////////////////////////
571 4 if(beginbit==1){ ////////////////////
572 5 data_final_number=1; ////////////////////////
573 5 beginbit=0; ////////////////////
574 5 }else{
575 5 data_final_number=0;
576 5 }
577 4 data_final[datanumber++]=tempdata; /////////////////////
578 4 tempdata=0;
579 4 }
580 3 }
581 2 }
582 1 if( data_final_number!=0)data_final[datanumber++]=tempdata;
583 1 EA=0;
584 1 SBUF=0X7E;
585 1 while(!TI);TI=0;
586 1 for(i=0;i<datanumber;i++)
587 1 {
588 2 SBUF=data_final[i];
589 2 while(!TI);TI=0;
590 2 }
591 1 EA=1;
592 1 tran_fpag(0x98,75);
593 1 }
594 //设置日计划调度表
595 set_datadis()
596 {
597 1 unsigned char *p;
598 1 unsigned short check_temp;
599 1 unsigned int i;
600 1 unsigned int j;
601 1 unsigned char beginbit=0;
602 1 data_final_number=0;
603 1 datanumber=0;
604 1 //设置日计划调度表
605 1
606 1 for(i=0;i<60;i++)XBYTE[0X6ce2+i]=checkdata[5+i]; //一个日计划调度表写入
607 1
608 1 //应答
609 1 answer_data[0]=h_address;
610 1 answer_data[1]=l_address;
611 1 answer_data[2]=0Xcc;
612 1 answer_data[3]=0XC1;
613 1 answer_data[4]=0XD9;
C51 COMPILER V6.02 SETBID 08/02/2006 14:44:14 PAGE 11
614 1 p=&answer_data[0];
615 1 check_temp=cal_crc(p,5);
616 1 answer_data[5]=(check_temp>>8); //crc
617 1 answer_data[6]=check_temp; //crc
618 1 answer_data[7]=0x7e;
619 1
620 1 for(i=0;i<8;i++){
621 2 for(j=0;j<8;j++){
622 3 add_bit=(answer_data[i]>>(7-j))%2;
623 3 add_transparences();
624 3 tempdata=tempdata+(add_bit<<(7-data_final_number++));
625 3 if((add_transparence_valid==1) && (i!=7)){ ///////////////////////////////////
626 4 if(data_final_number==8)beginbit=1;
627 4 else data_final_number++;
628 4 } ///////////////////////////////////
629 3 if(data_final_number>=8){ /////////////////////////////////
630 4 if(beginbit==1){ ////////////////////
631 5 data_final_number=1; ////////////////////////
632 5 beginbit=0; ////////////////////
633 5 }else{
634 5 data_final_number=0;
635 5 data_final[datanumber++]=tempdata;
636 5 tempdata=0;
637 5 }
638 4 }
639 3 }
640 2 }
641 1 if( data_final_number!=0)data_final[datanumber++]=tempdata;
642 1 EA=0;
643 1 SBUF=0X7E;
644 1 while(!TI);TI=0;
645 1 for(i=0;i<datanumber;i++)
646 1 {
647 2 SBUF=data_final[i];
648 2 while(!TI);TI=0;
649 2 }
650 1 EA=1;
651 1 tran_fpag(0x99,61);
652 1 }
653 //设置当前控制方案
654 set_nowsch()
655 {
656 1 }
657 //设置统计周期
658 set_caperiod()
659 {
660 1 }
661 //查询信号机标志
662 bid_flag()
663 {
664 1 unsigned char *p=0;
665 1 unsigned short check_temp;
666 1 unsigned char i;
667 1 unsigned char j;
668 1 unsigned char beginbit=0;
669 1 data_final_number=0;
670 1 datanumber=0;
671 1
672 1 answer_data[0]=h_address;
673 1 answer_data[1]=l_address;
674 1 answer_data[2]=0xcc;
675 1 answer_data[3]=0xc1;
C51 COMPILER V6.02 SETBID 08/02/2006 14:44:14 PAGE 12
676 1 answer_data[4]=0xf1;
677 1
678 1 answer_data[5]=0x10;
679 1 answer_data[6]=0x20; //支持的最大阶段表数
680 1 answer_data[7]=0x20; //阶段表中最大阶段数
681 1 answer_data[8]=0x20; //最大控制方案数
682 1 answer_data[9]=0x20; //最大日计划数
683 1 answer_data[10]=0x18; //日计划中最大时段数
684 1 answer_data[11]=XBYTE[0X72e2]; //开机时间 小时
685 1 answer_data[12]=XBYTE[0X72e3]; //开机时间 分钟
686 1 answer_data[13]=XBYTE[0X72e4]; //关机时间 小时
687 1 answer_data[14]=XBYTE[0X72e5]; //关机时间 分钟
688 1 answer_data[15]=XBYTE[0X72e6]; //关机后状态
689 1 answer_data[16]=XBYTE[0X8000]; //路口编号高地址
690 1 answer_data[17]=XBYTE[0X8001]; //路口编号低位地址
691 1
692 1 //应答
693 1 // p=&answer_data[0];
694 1 check_temp=cal_crc(&answer_data[0],18);
695 1 answer_data[18]=(check_temp>>8); //crc
696 1 answer_data[19]=check_temp; //crc
697 1 answer_data[20]=0x7e;
698 1 tempdata=0;
699 1 for(i=0;i<21;i++)
700 1 {
701 2 for(j=0;j<8;j++)
702 2 {
703 3 add_bit=(answer_data[i]>>(7-j))%2;
704 3 add_transparences();
705 3 tempdata=tempdata+(add_bit<<(7-data_final_number++));
706 3 if((add_transparence_valid==1) && (i!=20))
707 3 {
708 4 if(data_final_number==8)beginbit=1;
709 4 else data_final_number++;
710 4 }
711 3 if(data_final_number>=8)
712 3 {
713 4 if(beginbit==1){
714 5 data_final_number=1;
715 5 beginbit=0;
716 5 }
717 4 else
718 4 data_final_number=0;
719 4 data_final[datanumber++]=tempdata;
720 4 tempdata=0;
721 4 }
722 3 }
723 2 }
724 1 if(data_final_number!=0)
725 1 {
726 2 data_final[datanumber++]=tempdata;
727 2 }
728 1 EA=0;
729 1 SBUF=0X7E;
730 1 while(!TI);TI=0;
731 1 for(i=0;i<datanumber;i++)
732 1 {
733 2 SBUF=data_final[i];
734 2 while(!TI);TI=0;
735 2 }
736 1 EA=1;
737 1 }
C51 COMPILER V6.02 SETBID 08/02/2006 14:44:14 PAGE 13
738 //查询信号机特征参数
739 bid_mark()
740 {
741 1 unsigned char *p;
742 1 unsigned short check_temp;
743 1 unsigned char i;
744 1 unsigned char j;
745 1 unsigned char beginbit=0;
746 1 data_final_number=0;
747 1 datanumber=0;
748 1 //设置时间后用
749 1 answer_data[0]=h_address;
750 1 answer_data[1]=l_address;
751 1 answer_data[2]=0xcc;
752 1 answer_data[3]=0xc1;
753 1 answer_data[4]=0x92;
754 1 answer_data[5]=0x20; //支持的最大阶段表数
755 1 answer_data[6]=0x20; //阶段表中最大阶段数
756 1 answer_data[7]=0x20; //最大控制方案数
757 1 answer_data[8]=0x20; //最大日计划数
758 1 answer_data[9]=0x16; //日计划中最大时段数
759 1 answer_data[10]=XBYTE[0X72e2]; //开机时间 小时
760 1 answer_data[11]=XBYTE[0X72e3]; //开机时间 分钟
761 1 answer_data[12]=XBYTE[0X72e4]; //关机时间 小时
762 1 answer_data[13]=XBYTE[0X72e5]; //关机时间 分钟
763 1 answer_data[14]=XBYTE[0X72e6]; //关机后状态
764 1 answer_data[15]=XBYTE[0X8000]; //路口编号高地址
765 1 answer_data[16]=XBYTE[0X8001]; //路口编号低位地址
766 1
767 1 //应答
768 1 p=&answer_data[0];
769 1 check_temp=cal_crc(p,17);
770 1 answer_data[17]=(check_temp>>8); //crc
771 1 answer_data[18]=check_temp; //crc
772 1 answer_data[19]=0x7e;
773 1 tempdata=0;
774 1 for(i=0;i<20;i++){
775 2 for(j=0;j<8;j++){
776 3 add_bit=(answer_data[i]>>(7-j))%2;
777 3 add_transparences();
778 3 tempdata=tempdata+(add_bit<<(7-data_final_number++));
779 3 if((add_transparence_valid==1) && (i!=19)){ ///////////////////////////////////
780 4 if(data_final_number==8)beginbit=1;
781 4 else data_final_number++;
782 4 } ///////////////////////////////////
783 3 if(data_final_number>=8){ /////////////////////////////////
784 4 if(beginbit==1){ ////////////////////
785 5 data_final_number=1; ////////////////////////
786 5 beginbit=0; ////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -