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

📄 main.lst

📁 基于485的51单片机多机通讯程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 911   3                              }break;
 912   2              case    SENS_BB:{
 913   3                                      pp.x[nonce_sec][28]=rbuffer[3]*256+rbuffer[4];
 914   3                                      general_param=pp.x[nonce_sec][28];
 915   3                              }break;
 916   2              case    DU51_BB:{
 917   3                                      pp.x[nonce_sec][29]=rbuffer[3]*256+rbuffer[4];
 918   3                                      general_param=pp.x[nonce_sec][29];
 919   3                              }break;
 920   2              default:break;
 921   2              }
 922   1              get_SLA();                      //根据程序号,获取SLA和temp_PRG
C51 COMPILER V7.06   MAIN                                                                  08/02/2005 14:14:21 PAGE 16  

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

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

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

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

⌨️ 快捷键说明

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