⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setbid.lst

📁 最先进的信号机程序,经过很多重要场合测试通过
💻 LST
📖 第 1 页 / 共 5 页
字号:
 787   5                                     }else{
 788   5                                data_final_number=0;
 789   5                                           }
 790   4                       data_final[datanumber++]=tempdata; 	  /////////////////////
 791   4      	        tempdata=0;
 792   4                                          }
 793   3                               }
 794   2                          }
 795   1              if( data_final_number!=0)data_final[datanumber++]=tempdata;
 796   1              EA=0;
 797   1              SBUF=0X7E;
 798   1              while(!TI);TI=0;
 799   1      	for(i=0;i<datanumber;i++)
C51 COMPILER V6.02  SETBID                                                                 08/02/2006 14:44:14 PAGE 14  

 800   1      	{
 801   2      	    SBUF=data_final[i];
 802   2                  while(!TI);TI=0;
 803   2      	}
 804   1              EA=1;
 805   1      
 806   1      }
 807          //查询时间
 808          bid_time()
 809          {
 810   1        unsigned char *p;
 811   1        unsigned short check_temp;
 812   1        unsigned char i;
 813   1        unsigned char j;
 814   1        unsigned char beginbit=0;
 815   1        data_final_number=0;
 816   1        datanumber=0;
 817   1        //设置时间后用
 818   1        answer_data[0]=h_address;
 819   1        answer_data[1]=l_address;
 820   1        answer_data[2]=0xcc;
 821   1        answer_data[3]=0xc1;
 822   1        answer_data[4]=0xc3;
 823   1        answer_data[5]=XBYTE[0XC009];  //year
 824   1        answer_data[6]=XBYTE[0XC008];  //month
 825   1        answer_data[7]=XBYTE[0XC007];  //date
 826   1        answer_data[8]=XBYTE[0XC004];  //hour
 827   1        answer_data[9]=XBYTE[0XC002];  //min
 828   1        answer_data[10]=XBYTE[0XC000];  //sec
 829   1        answer_data[11]=XBYTE[0XC006];  //day
 830   1        //应答
 831   1        p=&answer_data[0];
 832   1        check_temp=cal_crc(p,12);
 833   1        answer_data[12]=(check_temp>>8);    //crc
 834   1        answer_data[13]=check_temp;         //crc
 835   1        answer_data[14]=0x7e;
 836   1        tempdata=0;
 837   1        for(i=0;i<15;i++){
 838   2              for(j=0;j<8;j++){
 839   3                 add_bit=(answer_data[i]>>(7-j))%2;
 840   3                 add_transparences();
 841   3                 tempdata=tempdata+(add_bit<<(7-data_final_number++));
 842   3                 if((add_transparence_valid==1) && (i!=14)){ ///////////////////////////////////
 843   4                         if(data_final_number==8)beginbit=1;
 844   4                                            else data_final_number++;
 845   4                                                }      ///////////////////////////////////
 846   3                 if(data_final_number>=8){             /////////////////////////////////
 847   4                     if(beginbit==1){                  ////////////////////
 848   5                                data_final_number=1;   ////////////////////////
 849   5                                beginbit=0;            ////////////////////
 850   5                                     }else{
 851   5                                data_final_number=0;
 852   5                                           }
 853   4                       data_final[datanumber++]=tempdata; 	  /////////////////////
 854   4      	        tempdata=0;
 855   4                                          }
 856   3                               }
 857   2                          }
 858   1              if( data_final_number!=0)data_final[datanumber++]=tempdata;
 859   1              EA=0;
 860   1              SBUF=0X7E;
 861   1              while(!TI);TI=0;
C51 COMPILER V6.02  SETBID                                                                 08/02/2006 14:44:14 PAGE 15  

 862   1      	for(i=0;i<datanumber;i++)
 863   1      	{
 864   2      	    SBUF=data_final[i];
 865   2                  while(!TI);TI=0;
 866   2      	}
 867   1              EA=1;
 868   1      }
 869          //查询相位时间
 870          bid_phase()
 871          {
 872   1        unsigned char *p;
 873   1        unsigned short check_temp;
 874   1        unsigned int i;
 875   1        unsigned int j;
 876   1        unsigned char beginbit=0;
 877   1        datanumber=0;
 878   1        data_final_number=0;
 879   1        answer_data[0]=h_address;
 880   1        answer_data[1]=l_address;
 881   1        answer_data[2]=0xcc;
 882   1        answer_data[3]=0xc1;
 883   1        answer_data[4]=0xc4;
 884   1        if(checkdata[5]==0){//应答相位表1
 885   2               for(i=0;i<289;i++)answer_data[5+i]=XBYTE[0x5000+i];
 886   2                            }else{       //应答相位表2
 887   2                      for(i=0;i<289;i++)answer_data[5+i]=XBYTE[0x5121+i];
 888   2                                }
 889   1        //应答
 890   1        p=&answer_data[0];
 891   1        check_temp=cal_crc(p,294);
 892   1      //  check_temp=(check_temp>>8);
 893   1        answer_data[294]=(check_temp>>8);    //crc
 894   1        answer_data[295]=check_temp;         //crc
 895   1        answer_data[296]=0x7e;
 896   1        tempdata=0;
 897   1        for(i=0;i<297;i++){
 898   2              for(j=0;j<8;j++){
 899   3                 add_bit=(answer_data[i]>>(7-j))%2;
 900   3                 add_transparences();
 901   3                 tempdata=tempdata+(add_bit<<(7-data_final_number++));
 902   3                 if((add_transparence_valid==1) && (i!=296)){ ///////////////////////////////////
 903   4                         if(data_final_number==8)beginbit=1;
 904   4                                            else data_final_number++;
 905   4                                                }      ///////////////////////////////////
 906   3                 if(data_final_number>=8){             /////////////////////////////////
 907   4                     if(beginbit==1){                  ////////////////////
 908   5                                data_final_number=1;   ////////////////////////
 909   5                                beginbit=0;            ////////////////////
 910   5                                     }else{
 911   5                                data_final_number=0;
 912   5                                           }
 913   4                       data_final[datanumber++]=tempdata; 	  /////////////////////
 914   4      	        tempdata=0;
 915   4                                          }
 916   3                               }
 917   2                          }
 918   1              if( data_final_number!=0)data_final[datanumber++]=tempdata;
 919   1              EA=0;
 920   1              SBUF=0X7E;
 921   1              while(!TI);TI=0;
 922   1      	for(i=0;i<datanumber;i++)
 923   1      	{
C51 COMPILER V6.02  SETBID                                                                 08/02/2006 14:44:14 PAGE 16  

 924   2      	    SBUF=data_final[i];
 925   2                  while(!TI);TI=0;
 926   2      	}
 927   1              EA=1;
 928   1      
 929   1      
 930   1      
 931   1      }
 932          //查询阶段表
 933          bid_stage()
 934          {
 935   1        unsigned char *p;
 936   1        unsigned short check_temp;
 937   1        unsigned int i;
 938   1        unsigned int j;
 939   1        unsigned char beginbit=0;
 940   1        data_final_number=0;
 941   1        datanumber=0;
 942   1        //应答
 943   1        answer_data[0]=h_address;
 944   1        answer_data[1]=l_address;
 945   1        answer_data[2]=0xcc;
 946   1        answer_data[3]=0xc1;
 947   1        answer_data[4]=0xc5;
 948   1      
 949   1        j=checkdata[5];
 950   1        j=(j-1)*98;
 951   1        for(i=0;i<98;i++){
 952   2               answer_data[5+i]=XBYTE[0X5242+i+j];
 953   2                          }
 954   1        p=&answer_data[0];
 955   1        check_temp=cal_crc(p,103);
 956   1        answer_data[103]=(check_temp>>8);    //crc
 957   1        answer_data[104]=check_temp;         //crc
 958   1        answer_data[105]=0x7e;
 959   1        tempdata=0;
 960   1        for(i=0;i<106;i++){
 961   2              for(j=0;j<8;j++){
 962   3                 add_bit=(answer_data[i]>>(7-j))%2;
 963   3                 add_transparences();
 964   3                 tempdata=tempdata+(add_bit<<(7-data_final_number++));
 965   3                 if((add_transparence_valid==1) && (i!=105)){ ///////////////////////////////////
 966   4                         if(data_final_number==8)beginbit=1;
 967   4                                            else data_final_number++;
 968   4                                                }      ///////////////////////////////////
 969   3                 if(data_final_number>=8){             /////////////////////////////////
 970   4                     if(beginbit==1){                  ////////////////////
 971   5                                data_final_number=1;   ////////////////////////
 972   5                                beginbit=0;            ////////////////////
 973   5                                     }else{
 974   5                                data_final_number=0;
 975   5                                           }
 976   4                       data_final[datanumber++]=tempdata; 	  /////////////////////
 977   4      	        tempdata=0;
 978   4                                          }
 979   3                               }
 980   2                          }
 981   1              if( data_final_number!=0)data_final[datanumber++]=tempdata;
 982   1              EA=0;
 983   1              SBUF=0X7E;
 984   1              while(!TI);TI=0;
 985   1      	for(i=0;i<datanumber;i++)
C51 COMPILER V6.02  SETBID                                                                 08/02/2006 14:44:14 PAGE 17  

 986   1      	{
 987   2      	    SBUF=data_final[i];
 988   2                  while(!TI);TI=0;
 989   2      	}
 990   1              EA=1;
 991   1      }
 992          //查询当前控制方案信息
 993          bid_consch()
 994          {
 995   1        unsigned char *p;
 996   1        unsigned short check_temp;
 997   1        unsigned int i;
 998   1        unsigned int j;
 999   1        unsigned char beginbit=0;
1000   1        data_final_number=0;
1001   1        datanumber=0;
1002   1        answer_data[0]=h_address;
1003   1        answer_data[1]=l_address;
1004   1        answer_data[2]=0xcc;
1005   1        answer_data[3]=0xc1;
1006   1        answer_data[4]=0xc6;
1007   1      
1008   1        j=(checkdata[5]-1)*41;
1009   1        for(i=0;i<41;i++){
1010   2               answer_data[5+i]=XBYTE[0X5e82+i+j];
1011   2                          }
1012   1      
1013   1        //应答
1014   1        p=&answer_data[0];
1015   1        check_temp=cal_crc(p,46);
1016   1        answer_data[46]=(check_temp>>8);    //crc
1017   1        answer_data[47]=check_temp;         //crc
1018   1        answer_data[48]=0x7e;
1019   1        tempdata=0;
1020   1        for(i=0;i<49;i++){
1021   2              for(j=0;j<8;j++){
1022   3                 add_bit=(answer_data[i]>>(7-j))%2;
1023   3                 add_transparences();
1024   3                 tempdata=tempdata+(add_bit<<(7-data_final_number++));
1025   3                 if((add_transparence_valid==1) && (i!=48)){ ///////////////////////////////////
1026   4                         if(data_final_number==8)beginbit=1;
1027   4                                            else data_final_number++;
1028   4                                                }      ///////////////////////////////////
1029   3                 if(data_final_number>=8){             /////////////////////////////////
1030   4                     if(beginbit==1){                  ////////////////////
1031   5                                data_final_number=1;   ////////////////////////
1032   5                                beginbit=0;            ////////////////////
1033   5                                     }else{
1034   5                                data_final_number=0;
1035   5                                           }
1036   4                       data_final[datanumber++]=tempdata; 	  /////////////////////
1037   4      	        tempdata=0;
1038   4                                          }
1039   3                               }
1040   2                          }
1041   1              if( data_final_number!=0)data_final[datanumber++]=tempdata;
1042   1              EA=0;
1043   1              SBUF=0X7E;
1044   1              while(!TI);TI=0;
1045   1      	for(i=0;i<datanumber;i++)
1046   1      	{
1047   2      	    SBUF=data_final[i];
C51 COMPILER V6.02  SETBID                                                                 08/02/2006 14:44:14 PAGE 18  

1048   2                  while(!TI);TI=0;
1049   2      	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -