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

📄 main_stop.lst

📁 基于485的51单片机多机通讯程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 907   3                                      general_param=pp.x[nonce_sec][26];
 908   3                              }break;
 909   2              case    U51B_BB:{
 910   3                                      pp.x[nonce_sec][27]=rbuffer[3]*256+rbuffer[4];
 911   3                                      general_param=pp.x[nonce_sec][27];
 912   3                              }break;
 913   2              case    SENS_BB:{
 914   3                                      pp.x[nonce_sec][28]=rbuffer[3]*256+rbuffer[4];
 915   3                                      general_param=pp.x[nonce_sec][28];
 916   3                              }break;
 917   2              case    DU51_BB:{
 918   3                                      pp.x[nonce_sec][29]=rbuffer[3]*256+rbuffer[4];
 919   3                                      general_param=pp.x[nonce_sec][29];
 920   3                              }break;
 921   2              default:break;
 922   2              }
C51 COMPILER V7.06   MAIN_STOP                                                             07/26/2005 16:35:20 PAGE 16  

 923   1              get_SLA();                      //根据程序号,获取SLA和temp_PRG
 924   1              get_secondDDR();
 925   1              COMM=(mainDDR+secondDDR)/256;
 926   1              writeEEP_word();
 927   1              if(change_sec_num==1)
 928   1              {
 929   2                      nonce_sec=rbuffer[6];
 930   2                      change_sec_num=0;
 931   2              }
 932   1              param=0;
 933   1      }
 934          
 935          void com_type()
 936          {
 937   1              switch(rbuffer[2])
 938   1              {
 939   2                      case com_edit:          {
 940   3                                                      editing=1;      //编程
 941   3                                                      p_out=1;
 942   3                                              }break;
 943   2      /*
 944   2                      case com_efinish:       {
 945   2                                                      editing=0;      //编程结束
 946   2                                                      edit_finish=1;
 947   2                                                      
 948   2                                              }break;
 949   2      */
 950   2                      case com_start:         if(start==0)//编程未结束,禁止启动焊接
 951   2                                              {
 952   3                                                      FINISH=0;
 953   3                                                      start=1;
 954   3                                              }break;
 955   2                      case com_start_again:   if(start==0)
 956   2                                              {
 957   3                                                      start=1;
 958   3                                                      start_again=1;
 959   3                                              }break;
 960   2                      case com_ignit_ok:      ignit_ok=1;break;
 961   2                      case com_decrease:      decrease=1;break;       //衰减
 962   2                      case com_current_add:   if(rc_forbided==0)
 963   2                                                      current_add=1;break;    //电流加
 964   2                      case com_current_dec:   if(rc_forbided==0)
 965   2                                                      current_dec=1;break;    //电流减
 966   2                      case com_rot_front:     if(rc_forbided==0)
 967   2                                                      rot_front=1;break;
 968   2                      case com_rot_reverse:   if(rc_forbided==0)
 969   2                                                      rot_reverse=1;break;
 970   2                      case com_wire_add:      if(rc_forbided==0)
 971   2                                                      wire_add=1;break;
 972   2                      case com_wire_dec:      if(rc_forbided==0)
 973   2                                                      wire_dec=1;break;
 974   2                      case com_osc_l:         {
 975   3                                                      if(rc_forbided==0&&osc_l==0)
 976   3                                                              osc_l=1;
 977   3                                              }break;
 978   2                      case com_osc_r:         {
 979   3                                                      if(rc_forbided==0&&osc_r==0)
 980   3                                                              osc_r=1;
 981   3                                              }break;
 982   2                      case com_breadth_add:   {
 983   3                                                      if(rc_forbided==0&&breadth_add==0)
 984   3                                                              breadth_add=1;
C51 COMPILER V7.06   MAIN_STOP                                                             07/26/2005 16:35:20 PAGE 17  

 985   3                                              }break;
 986   2                      case com_breadth_dec:   {
 987   3                                                      if(rc_forbided==0&&breadth_dec==0)
 988   3                                                              breadth_dec=1;
 989   3                                              }break;
 990   2                      case com_avc_up:        if(rc_forbided==0)
 991   2                                                      avc_up=1;break;
 992   2                      case com_avc_down:      if(rc_forbided==0)
 993   2                                                      avc_down=1;break;
 994   2                      case com_motor_stop:    {
 995   3                                                      if(rc_forbided==0&&motor_stop==0)
 996   3                                                              motor_stop=1;
 997   3                                              }break;
 998   2      
 999   2                      case com_lift_ok:       lift_ok=1;break;
1000   2                      case com_return_ok:     return_ok=1;break;
1001   2                      case com_urgent_stop:   rc_err=1;break;
1002   2                      default:                break;
1003   2              }
1004   1              if(ans==0)
1005   1              {
1006   2                      POINTER1=0;
1007   2                      RSUM=0;
1008   2                      r_byte_nums=4;
1009   2              }
1010   1              if(rc_err==1)
1011   1                      stop=0;
1012   1      }
1013          
1014          void data_type()                                                //对接收到的数据分辨类型
1015          {
1016   1              switch(rbuffer[1])
1017   1              {
1018   2                      case command:   com_type();
1019   2                                      break;
1020   2                      case answer:    R_ANSW=rbuffer[2];
1021   2                                      break;
1022   2                      case err_infor: err=rbuffer[3];
1023   2                                      break;
1024   2      //              case infor_sec: nonce_sec=rbuffer[2];
1025   2      //                              break;
1026   2                      case edit_sec:  if(in_sector==0)
1027   2                                      {
1028   3                                              nonce_sec=rbuffer[2];
1029   3                                              p_out=0;
1030   3                                              in_sector=1;
1031   3                                      }
1032   2                                      break;
1033   2                      case parameter: param=1;break;
1034   2                      case program:   if(work==0)
1035   2                                              change_prg=1;           //将程序号存入EEPROM
1036   2                                      break;
1037   2                      case infor:     {
1038   3      /*
1039   3                                              if(rbuffer[2]==com_calling)
1040   3                                                      R_ANSW=rbuffer[3];
1041   3                                              else if(rbuffer[2]==com_switch)
1042   3                                              {
1043   3                                                      YOUHU=rbuffer[3];
1044   3                                                      WIRE=rbuffer[4];
1045   3                                              }
1046   3                                              else if(rbuffer[2]==com_weld_simu)
C51 COMPILER V7.06   MAIN_STOP                                                             07/26/2005 16:35:20 PAGE 18  

1047   3                                              {
1048   3                                                      if(rc_forbided==0)
1049   3                                                              new_switch11=1;
1050   3                                              }
1051   3                                              else if(rbuffer[2]==com_wire_on_off)
1052   3                                              {
1053   3                                                      if(rc_forbided==0)
1054   3                                                              new_switch22=1;
1055   3                                              }
1056   3                                              else if(rbuffer[2]==com_delt_switch)
1057   3                                              {
1058   3                                                      if(rc_forbided==0)
1059   3                                                              delt_switch=1;
1060   3                                              }
1061   3      */                                              
1062   3                                              switch(rbuffer[2])
1063   3                                              {
1064   4                                                      case com_calling:       R_ANSW=rbuffer[3];break;
1065   4                                                      case com_switch:        {
1066   5                                                                                      YOUHU=rbuffer[3];
1067   5                                                                                      WIRE=rbuffer[4];
1068   5                                                                              }break;
1069   4                                                      case com_weld_simu:     if(rc_forbided==0)
1070   4                                                                              {
1071   5                                                                                      
1072   5                                                                                      new_switch11=1;
1073   5                                                                              }break;
1074   4                                                      case com_wire_on_off:   if(rc_forbided==0)
1075   4                                                                              {
1076   5                                                                                      
1077   5                                                                                      new_switch22=1;
1078   5                                                                              }break;
1079   4                                                      case com_delt_switch:   {
1080   5                                                                                      if(rc_forbided==0)
1081   5                                                                                              delt_switch=1;
1082   5                                                                              }break;
1083   4                                                      default:                break;
1084   4                                              }
1085   3      
1086   3                                      }
1087   2                                      break;
1088   2                      case p_section: {
1089   3                                              nonce_sec=rbuffer[5];
1090   3                                              change_sec_num=1;
1091   3                                              param=1;
1092   3                                      }break;
1093   2                      case p_edit_finish:{
1094   3                                              nonce_sec=rbuffer[5];
1095   3                                              pp.sec_num=rbuffer[6];
1096   3                                              if(rbuffer[2]!=0xFF)
1097   3                                              {
1098   4                                                      param=1;
1099   4                                                      temp_edit_finish=1;
1100   4                                              }
1101   3                                              else
1102   3                                                      edit_finish=1;
1103   3      //                                      p_out=0;
1104   3                                              work=0;
1105   3                                      }break;
1106   2                      default:        break;
1107   2              }
1108   1      }
C51 COMPILER V7.06   MAIN_STOP                                                             07/26/2005 16:35:20 PAGE 19  

1109          
1110          void call_slave()
1111          {
1112   1              unsigned char call_add[]={M_current,M_RW,M_OSC,M_AVC,M_P,M_RC};//电流、旋转/送丝、横摆/弧长、面板、线控器
             -、等离子、热丝
1113   1              unsigned char i,ok[6],c_call[6];
1114   1              calling=1;
1115   1              for(i=0;i<6;i++)
1116   1              {
1117   2                      ok[i]=0;
1118   2                      c_call[i]=0;
1119   2              }
1120   1              for(i=0;i<6;i++)
1121   1              {
1122   2      RECALL:         if(ok[i]==0&&c_call[i]<3)
1123   2                      {
1124   3                                      ini_sbuf(call_add[i],command,com_calling,0,0,0,0);
1125   3                                      s_byte_nums=4;
1126   3                                      TR_ans();
1127   3                                      if(overtime==1)
1128   3                                              overtime=0;
1129   3                                      if(overtime==0&&R_ANSW==OK)
1130   3                                      {
1131   4                                              ok[i]=1;
1132   4                                              R_ANSW=0;
1133   4                               

⌨️ 快捷键说明

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