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

📄 dc1.lst

📁 基于485的51单片机多机通讯程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
1000   3                      }
1001   2      
1002   2                      if(motor_stop==1)
1003   2                      {
1004   3                              PWM0=0;
1005   3                              PWM1=0;
1006   3                              wire_back=1;
1007   3                              wire_front=1;
1008   3                              rot_right=1;
1009   3                              rot_left=1;
1010   3                              rot_front=0;
1011   3                              rot_reverse=0;
1012   3                              wire_add=0;
1013   3                              wire_dec=0;
1014   3                              motor_stop=0;
1015   3                      }
1016   2      
1017   2                      if(resend==1)
1018   2                      {
1019   3                              ini_sbuf(M_main,answer,S_ANSW,0,0,0);
1020   3                              s_byte_nums=4;
1021   3                              TR_noans();
1022   3                              resend=0;
1023   3                      }
1024   2      
1025   2                      if(urgent_stop==1)
1026   2                              goto BEGIN;
1027   2              }
1028   1      
1029   1              get_v_r();
1030   1              if(r%10>=5)
1031   1                      pulse_num=r/10+1;
1032   1              else
1033   1                      pulse_num=r/10;
1034   1              pulse_num=pulse_num/2;
1035   1              pulse_num1=r/2;
1036   1              if(pp.k1==0)
1037   1                      K21=OFF;
1038   1              else
1039   1                      K21=pp.k21;
1040   1              if(common!=1)
1041   1              {
1042   2                      const0=(float)(motor_v)*3.14;
1043   2                      const0=const0/decrease_rate;            //motor_v*3.14*pp.d/减速比
1044   2              }
1045   1              temp_data0=const0*pp.d/10;      
1046   1              temp_data00=(float)(pp.dv21)/temp_data0;
1047   1              delt_rot=255*temp_data00;
C51 COMPILER V7.06   DC1                                                                   09/11/2006 08:21:54 PAGE 18  

1048   1              temp_data00=(float)(pp.v21_p)/temp_data0;
1049   1              rot_vp=255*temp_data00;
1050   1              if(rot_vp<13)
1051   1                      rot_vp=13;
1052   1              else if(rot_vp>255)
1053   1                      rot_vp=255;
1054   1              temp_rot_vp=13;                                 //05-12-29
1055   1              if(K21==ON)
1056   1              {
1057   2                      temp_data00=(float)(pp.v21_b)/temp_data0;
1058   2                      rot_vb=255*temp_data00;
1059   2                      if(rot_vb<13)
1060   2                              rot_vb=13;
1061   2                      temp_rot_vb=13;
1062   2                      if(rot_vp>13&&rot_vb>13)
1063   2                      {
1064   3                              if(rot_vp>=rot_vb)
1065   3                                      n_cm1=pp.t21*250/(rot_vp-13);
1066   3                              else
1067   3                                      n_cm1=pp.t21*250/(rot_vb-13);
1068   3                      }
1069   2                      else if(rot_vp>13&&rot_vb==13)
1070   2                              n_cm1=pp.t21*250/(rot_vp-13);
1071   2                      else if(rot_vp==13&&rot_vb>13)
1072   2                              n_cm1=pp.t21*250/(rot_vb-13);
1073   2                      else if(rot_vp==13&&rot_vb==13)
1074   2                              n_cm1=0;        
1075   2              }
1076   1              else
1077   1              {
1078   2                      if(rot_vp>13)
1079   2                              n_cm1=pp.t21*250/(rot_vp-13);
1080   2                      else
1081   2                              n_cm1=0;
1082   2              }
1083   1      
1084   1              K3=pp.k3;
1085   1              if(pp.k1==0)
1086   1                      K31=OFF;
1087   1              else
1088   1                      K31=pp.k31;
1089   1              
1090   1              const1=1799.72;                         //6600*10*165*314
1091   1              temp_data00=(float)(pp.dv31)/const1;
1092   1              delt_wire=255*temp_data00;
1093   1              temp_data00=(float)(pp.v31_p)/const1;
1094   1              wire_vp=255*temp_data00;
1095   1              if(wire_vp<13)
1096   1                      wire_vp=13;
1097   1              else if(wire_vp>255)
1098   1                      wire_vp=255;
1099   1              temp_wire_vp=13;
1100   1              if(K31==ON)
1101   1              {
1102   2                      temp_data00=(float)(pp.v31_b)/const1;
1103   2                      wire_vb=255*temp_data00;
1104   2                      if(wire_vb<13)
1105   2                              wire_vb=13;
1106   2                      temp_wire_vb=13;
1107   2                      {
1108   3                              if(wire_vp>13&&wire_vb>13)
1109   3                              {
C51 COMPILER V7.06   DC1                                                                   09/11/2006 08:21:54 PAGE 19  

1110   4                                      if(wire_vp>=wire_vb)
1111   4                                              n_cm0=pp.t32*250/(wire_vp-13);
1112   4                                      else
1113   4                                              n_cm0=pp.t32*250/(wire_vb-13);
1114   4                              }
1115   3                              else if(wire_vp>13&&wire_vb==13)
1116   3                                      n_cm0=pp.t32*250/(wire_vp-13);
1117   3                              else if(wire_vp==13&&wire_vb>13)
1118   3                                      n_cm0=pp.t32*250/(wire_vb-13);
1119   3                              else if(wire_vp==13&&wire_vb==13)
1120   3                                      n_cm0=0;
1121   3                      }
1122   2                                      
1123   2              }
1124   1              else
1125   1              {
1126   2                      if(wire_vp>13)
1127   2                              n_cm0=pp.t32*250/(wire_vp-13);
1128   2                      else
1129   2                              n_cm0=0;
1130   2              }
1131   1              work=3;
1132   1              if(WIRE==ON)
1133   1                      kk=1;
1134   1              else
1135   1                      kk=0;
1136   1              nonce_sec=0;
1137   1      /*
1138   1              if(K31==ON||K21==ON)
1139   1                      IEN1=IEN1|0X08;                 //允许CT3,电流脉冲
1140   1      */
1141   1              do
1142   1              {
1143   2                      if(urgent_stop==1)                      //急停后返回
1144   2                              goto BEGIN;
1145   2      
1146   2                      if(rot_ok==0&&start_rot==1)     //开始旋转
1147   2                      {
1148   3                              ini_sbuf(M_main,answer,S_ANSW,0,0,0);
1149   3                              s_byte_nums=4;
1150   3                              TR_noans();
1151   3                              if(pp.k2==CW)
1152   3                              {
1153   4                                      rot_right=0;
1154   4                                      rot_left=1;
1155   4                              }
1156   3                              else
1157   3                              {
1158   4                                      rot_right=1;
1159   4                                      rot_left=0;
1160   4                              }
1161   3                              rot_ok=1;                                                       //05-12-31
1162   3                              if(K21==ON)
1163   3                              {
1164   4                                      CTCON=CTCON|0x40;
1165   4                                      IEN1=IEN1|0x08;         //CT3
1166   4                              }
1167   3                              if(n_cm1>0)
1168   3                              {
1169   4                                      CML1=TML2+0XC8;
1170   4                                      if(CML1<TML2)                   //CM1,400us,旋转速度变化时间
1171   4                                              CMH1=TMH2+1+0X00;
C51 COMPILER V7.06   DC1                                                                   09/11/2006 08:21:54 PAGE 20  

1172   4                                      else
1173   4                                              CMH1=TMH2+0X00;
1174   4                                      IEN1=IEN1|0X20;                 //允许CM1
1175   4                              }
1176   3                              else
1177   3                              {
1178   4                                      PWM0=13;
1179   4                                      r_slope_ok=1;
1180   4                              }
1181   3                              IEN1=IEN1|0x01;                 //允许CT0
1182   3                              start_rot=0;
1183   3                      }
1184   2      
1185   2                      if(pp.k3==ON&&wire_ok==0&&start_wire==1)//开始送丝
1186   2                      {
1187   3                              ini_sbuf(M_main,answer,S_ANSW,0,0,0);
1188   3                              s_byte_nums=4;
1189   3                              TR_noans();
1190   3                              wire_back=0;
1191   3                              wire_front=1;
1192   3                              wire_ok=1;
1193   3                              if(K31==ON)
1194   3                              {
1195   4                                      CTCON=CTCON|0x40;
1196   4                                      IEN1=IEN1|0x08;         //CT3
1197   4                              }
1198   3                              if(n_cm0>0)
1199   3                              {
1200   4                                      CML0=TML2+0xC8;                 //CM0,400us,送丝速度变化时间
1201   4                                      if(CML0<TML2)
1202   4                                              CMH0=TMH2+1+0X00;
1203   4                                      else
1204   4                                              CMH0=TMH2+0X00;
1205   4                                      IEN1=IEN1|0X10;                 //CM0
1206   4                              }
1207   3                              else
1208   3                              {
1209   4                                      PWM1=13;
1210   4                                      w_slope_ok=1;
1211   4                              }
1212   3                              start_wire=0;
1213   3                      }
1214   2      
1215   2                      if(need_para==1)                        //显示焊接角度
1216   2                      {
1217   3                              ini_sbuf(M_main,parameter1,0,0,0,0);
1218   3                              sbuffer[2]=FINISH/256;
1219   3                              sbuffer[3]=FINISH%256;
1220   3                              s_byte_nums=5;
1221   3                              TR_noans();
1222   3                              need_para=0;
1223   3                      }
1224   2      
1225   2                      if(urgent_stop==1)
1226   2                                      goto BEGIN;
1227   2                      if(rot_ok==1&&rot_front==1&&r_slope_ok==1)      //旋转速度加
1228   2                      {
1229   3      
1230   3                              if(delt_state==0||delt_state==1||K21!=ON)
1231   3                              {
1232   4                                      if(temp_rot_vp+delt_rot>=255)
1233   4                                              temp_rot_vp=255;
C51 COMPILER V7.06   DC1                                                                   09/11/2006 08:21:54 PAGE 21  

1234   4                                      else
1235   4                                              temp_rot_vp=temp_rot_vp+delt_rot;               //rot_vp=rot_vp-255*pp.dv21/1250
1236   4                              }
1237   3                              if(K21==ON)
1238   3                              {
1239   4                                      if(delt_state==1||delt_state==2)
1240   4                                      {
1241   5                                              if(temp_rot_vb+delt_rot>=255)
1242   5                                                      temp_rot_vb=255;
1243   5                                              else
1244   5                                                      temp_rot_vb=temp_rot_vb+delt_rot;               //rot_vb=rot_vb-255*pp.dv21/1250
1245   5      
1246   5                                      }
1247   4                              }
1248   3                              else
1249   3                                 

⌨️ 快捷键说明

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