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

📄 current.lst

📁 基于485的51单片机多机通讯程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
1015   2                      TR0=0;
1016   2                      c_t0=0;
1017   2                      if(I1<pp.i14)
1018   2                      {
1019   3                              if((I1+10)>=pp.i14)
1020   3                                      I1=pp.i14;
1021   3                              else
1022   3                                      I1=I1+10;
1023   3                      }
1024   2      
1025   2                      if(pp.k1==PDC)
1026   2                      {
1027   3                              if(I2<pp.i15)
1028   3                              {
1029   4                                      if((I2+10)>=pp.i15)
1030   4                                              I2=pp.i15;
1031   4                                      else
1032   4                                              I2=I2+10;
1033   4                              }
1034   3                      }
1035   2                      IM=(unsigned int)(I1*0.4096);
1036   2                      IB=(unsigned int)(I2*0.4096);
1037   2                      IM8=IM%256;                     //(I1*10/10)%256
1038   2                      IM4=IM/256;                     //(I1*10/10)/256
1039   2                      IB8=IB%256;                     //(I2*10/10)%256
1040   2                      IB4=IB/256;                     //(I2*10/10)/256
1041   2                      UPD=0X00;
1042   2      
1043   2                      if(urgent_stop==1)
1044   2                              goto BEGIN;
1045   2      
1046   2              }
C51 COMPILER V7.06   CURRENT                                                               06/21/2005 15:24:34 PAGE 18  

1047   1              ini_sbuf(M_main,answer,S_ANSW,0,0,0,0);
1048   1              s_byte_nums=4;
1049   1              TR_noans();
1050   1      
1051   1              I1=pp.i14;                              //峰值电流
1052   1              I2=pp.i15;                              //基值电流
1053   1              IM=(unsigned int)(I1*0.4096);
1054   1              IB=(unsigned int)(I2*0.4096);
1055   1              IM8=IM%256;                             //(I1*10/10)%256
1056   1              IM4=IM/256;                             //(I1*10/10)/256
1057   1              IB8=IB%256;                             //(I2*10/10)%256
1058   1              IB4=IB/256;                             //(I2*10/10)/256
1059   1              UPD=0X00;
1060   1              if(pp.k1==PDC)
1061   1                      IEN1=IEN1|0X20;                 //允许CM1,电流脉冲输出(峰、基值时间))
1062   1      
1063   1              k=1;
1064   1              nonce_sec=0;                            //当前区间号
1065   1              //main circle
1066   1              do
1067   1              {
1068   2                      work=3;
1069   2                      if(urgent_stop==1)                      //急停后返回
1070   2                              goto BEGIN;
1071   2                      if(need_para==1)                        //显示焊接电流、焊接电压
1072   2                      {
1073   3                              sbuffer[0]=M_main;
1074   3                              sbuffer[1]=parameter2;
1075   3                              sbuffer[2]=ad_i/256;
1076   3                              sbuffer[3]=ad_i%256;
1077   3                              sbuffer[4]=ad_v/256;
1078   3                              sbuffer[5]=ad_v%256;
1079   3                              sbuffer[6]=0;
1080   3                              s_byte_nums=7;
1081   3                              TR_noans();
1082   3                              need_para=0;
1083   3                      }
1084   2                      if(current_add==1)                              //电流加
1085   2                      {
1086   3                              if(delt_state==0||delt_state==1)
1087   3                              {
1088   4                                      if(I1+pp.di<4000)               //峰值
1089   4                                              I1=I1+pp.di;
1090   4                                      else
1091   4                                              I1=4000;
1092   4                                      IM=(unsigned int)(I1*0.4096);
1093   4                                      IM8=IM%256;
1094   4                                      IM4=IM/256;
1095   4                              }
1096   3                              if(delt_state==1||delt_state==2)
1097   3                              {
1098   4                                      if(pp.k1==PDC)
1099   4                                      {
1100   5                                              if(I2+pp.di<4000)               //基值
1101   5                                                      I2=I2+pp.di;
1102   5                                              else
1103   5                                                      I2=4000;
1104   5                                              IB=(unsigned int)(I2*0.4096);
1105   5                                              IB8=IB%256;
1106   5                                              IB4=IB/256;
1107   5                                      }
1108   4                              }
C51 COMPILER V7.06   CURRENT                                                               06/21/2005 15:24:34 PAGE 19  

1109   3                              UPD=0X00;
1110   3                              current_add=0;
1111   3                      }
1112   2      
1113   2                      if(urgent_stop==1)                      //急停后返回
1114   2                              goto BEGIN;
1115   2                              
1116   2                      if(current_dec==1)                              //电流减
1117   2                      {
1118   3                              if(delt_state==0||delt_state==1)
1119   3                              {
1120   4                                      if(I1>=pp.i17&&I1-pp.i17>pp.di)         //峰值
1121   4                                              I1=I1-pp.di;
1122   4                                      else
1123   4                                              I1=pp.i17;
1124   4                                      IM=(unsigned int)(I1*0.4096);
1125   4                                      IM8=IM%256;
1126   4                                      IM4=IM/256;
1127   4                              }
1128   3                              if(delt_state==1||delt_state==2)
1129   3                              {
1130   4                                      if(pp.k1==PDC)
1131   4                                      {
1132   5                                              if(I2>=pp.i17&&I2-pp.i17>pp.di)         //基值
1133   5                                                      I2=I2-pp.di;
1134   5                                              else
1135   5                                                      I2=pp.i17;
1136   5                                              IB=(unsigned int)(I2*0.4096);
1137   5                                              IB8=IB%256;
1138   5                                              IB4=IB/256;
1139   5                                      }
1140   4                              }
1141   3                              UPD=0X00;
1142   3                              current_dec=0;
1143   3                      }
1144   2      
1145   2                      if(urgent_stop==1)                      //急停后返回
1146   2                              goto BEGIN;
1147   2                              
1148   2                      if(in_sector==1&&new_sec==1)
1149   2                      {       
1150   3                              delt1=pp.x[nonce_sec][1]*1000000;
1151   3                              if(nonce_sec==0)
1152   3                              {
1153   4                                      if(pp.x[nonce_sec][3]>=I1)
1154   4                                              temp_delt_p=pp.x[nonce_sec][3]-I1;
1155   4                                      else
1156   4                                              temp_delt_p=I1-pp.x[nonce_sec][3];
1157   4                              }
1158   3                              else
1159   3                              {
1160   4                                      if(pp.x[nonce_sec][3]>=pp.x[nonce_sec-1][3])
1161   4                                              temp_delt_p=pp.x[nonce_sec][3]-pp.x[nonce_sec-1][3];
1162   4                                      else
1163   4                                              temp_delt_p=pp.x[nonce_sec-1][3]-pp.x[nonce_sec][3];
1164   4                              }
1165   3                              if(pp.k1==PDC)
1166   3                              {
1167   4                                      if(nonce_sec==0)
1168   4                                      {
1169   5                                              if(pp.x[nonce_sec][5]>=I2)
1170   5                                                      temp_delt_b=pp.x[nonce_sec][5]-I2;
C51 COMPILER V7.06   CURRENT                                                               06/21/2005 15:24:34 PAGE 20  

1171   5                                              else
1172   5                                                      temp_delt_b=I2-pp.x[nonce_sec][5];
1173   5                                      }
1174   4                                      else
1175   4                                      {
1176   5                                              if(pp.x[nonce_sec][5]>=pp.x[nonce_sec-1][5])
1177   5                                                      temp_delt_p=pp.x[nonce_sec][5]-pp.x[nonce_sec-1][5];
1178   5                                              else
1179   5                                                      temp_delt_p=pp.x[nonce_sec-1][5]-pp.x[nonce_sec][5];
1180   5                                      }
1181   4                              }
1182   3                              if(temp_delt_p>=temp_delt_b)
1183   3                                      delt1=delt1/temp_delt_p;
1184   3                              else
1185   3                                      delt1=delt1/temp_delt_b;
1186   3                              if(delt1%256>=200)
1187   3                                      delt1=delt1/256+1;
1188   3                              else
1189   3                                      delt1=delt1/256;
1190   3                                      
1191   3                              k1=0;
1192   3                              k2=0;
1193   3                              i_slope_ok=0;
1194   3                              c_t0=0;
1195   3                              while(i_slope_ok==0)                    
1196   3                              {
1197   4                                      TR0=1;
1198   4                                      while(c_t0<delt1)               
1199   4                                      {
1200   5                                              if(urgent_stop==1)
1201   5                                                      goto BEGIN;
1202   5                                      }
1203   4                                      TR0=0;
1204   4                                      c_t0=0;
1205   4                                      if(I1!=pp.x[nonce_sec][3])
1206   4                                      {
1207   5                                              if(I1<pp.x[nonce_sec][3])
1208   5                                              {
1209   6                                                      if((I1+10)>=pp.x[nonce_sec][3])
1210   6                                                              I1=pp.x[nonce_sec][3];
1211   6                                                      else
1212   6                                                              I1=I1+10;
1213   6                                              }
1214   5                                              else
1215   5                                              {
1216   6                                                      if(I1-10<=pp.x[nonce_sec][3])
1217   6                                                              I1=pp.x[nonce_sec][3];
1218   6                                                      else
1219   6                                                              I1=I1-10;
1220   6                                              }
1221   5                                      }
1222   4                                      else
1223   4                                              k1=1;
1224   4      
1225   4                                      if(pp.k1==PDC)
1226   4                                      {
1227   5                                              if(I2!=pp.x[nonce_sec][5])
1228   5                                              {
1229   6                                                      if(I2<pp.x[nonce_sec][5])
1230   6                                                      {
1231   7                                                              if((I2+10)>=pp.x[nonce_sec][5])
1232   7                                                                      I2=pp.x[nonce_sec][5];
C51 COMPILER V7.06   CURRENT                                                               06/21/2005 15:24:34 PAGE 21  

1233   7                                                              else
1234   7                                                                      I2=I2+10;
1235   7                                                      }
1236   6                                                      else
1237   6                                                      {
1238   7                                                              if(I2-10<=pp.x[nonce_sec][5])
1239   7                                                                      I2=pp.x[nonce_sec][5];
1240   7                                                              else
1241   7                                                                      I2=I2-10;
1242   7                                                      }
1243   6                                              }
1244   5                                              else
1245   5                                                      k2=1;
1246   5                                      }
1247   4                                      IM=(unsigned int)(I1*0.4096);
1248   4                                      IB=(unsigned int)(I2*0.4096);
1249   4                                      IM8=IM%256;                     //(I1*10/10)%256
1250   4                                      IM4=IM/256;                     //(I1*10/10)/256
1251   4                                      IB8=IB%256;                     //(I2*10/10)%256
1252   4                                      IB4=IB/256;                     //(I2*10/10)/256
1253   4                                      UPD=0X00;
1254   4                                      if(pp.k1==0&&k1==1||pp.k1==1&&k1==1&&k2==1)
1255   4                                              i_slope_ok=1;   
1256   4                                      if(urgent_stop==1)
1257   4                                              goto BEGIN;
1258   4                              }
1259   3                              c_cm1=0;
1260   3                              n_pulse=pp.x[nonce_sec][2]%256;
1261   3                              n_base=pp.x[nonce_sec][4]%256;
1262   3                              new_sec=0;
1263   3                      }
1264   2                      
1265   2                      if(decrease==1)                         //衰减
1266   2                              k=0;
126

⌨️ 快捷键说明

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