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

📄 dc.lst

📁 基于485的51单片机多机通讯程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 974   4                                      if(delt_state==1||delt_state==2)
 975   4                                      {
 976   5                                              if(temp_wire_vb<=delt_wire)
 977   5                                                      temp_wire_vb=0;
 978   5                                              else
 979   5                                                      temp_wire_vb=temp_wire_vb-delt_wire;            //wire_vb=wire_vb+255*pp.dv31/2500
 980   5                                      }
 981   4                              }
 982   3                              else
 983   3                                      PWM1=temp_wire_vp;
 984   3                              wire_dec=0;
 985   3                      }
C51 COMPILER V7.06   DC                                                                    06/22/2005 09:40:54 PAGE 17  

 986   2      
 987   2                      if(urgent_stop==1)
 988   2                                      goto BEGIN;
 989   2                      if(wire_ok==1&&WIRE==OFF)               //手动关丝
 990   2                      {
 991   3                              PWM1=0;
 992   3                              wire_back=1;
 993   3                              wire_front=1;
 994   3                              kk=0;
 995   3                      }
 996   2      
 997   2                      if(wire_ok==1&&kk==0&&WIRE==ON) //手动开丝
 998   2                      {
 999   3                              wire_back=1;
1000   3                              wire_front=0;
1001   3                              if(K31==OFF)
1002   3                                      PWM1=temp_wire_vp;                      
1003   3                              kk=1;
1004   3                      }
1005   2      
1006   2                      if(decrease==1&&rot_ok==1&&K21==ON)     
1007   2                      {
1008   3                              CTCON=CTCON&0x3F;
1009   3                              IEN1=IEN1&0xF7;                 //CT3
1010   3                              PWM0=temp_rot_vp;
1011   3                              K21=OFF;
1012   3                      }
1013   2      
1014   2                      if(urgent_stop==1)
1015   2                              goto BEGIN;
1016   2                      if(in_sector==1&&new_sector==1)         //进入区间
1017   2                      {
1018   3                              K21=pp.x[nonce_sec][1];
1019   3                              K3=pp.x[nonce_sec][5];
1020   3                              K31=pp.x[nonce_sec][6];
1021   3                              if(K21==ON||K3==ON&&K31==ON&&kk==1)
1022   3                              {
1023   4                                      if(p_b==0)
1024   4                                              CTCON=CTCON|0x40;
1025   4                                      else
1026   4                                              CTCON=CTCON|0x80;
1027   4                                      IEN1=IEN1|0x08;         //CT3
1028   4                              }
1029   3                              rot_vp=pp.x[nonce_sec][2]*51/250;
1030   3                              if(K21==ON)                                     //脉动旋转开关
1031   3                                      rot_vb=pp.x[nonce_sec][3]*51/250;
1032   3                              r_slope_ok=0;
1033   3                              c_cm1=0;
1034   3                              n_cm1=pp.x[nonce_sec][4]*1250/rot_vp;
1035   3                              IEN1=IEN1|0X20;                 //CM1
1036   3      
1037   3                              if(K3==ON&&kk==1)
1038   3                              {
1039   4                                      wire_ok=1;
1040   4                                      wire_vp=pp.x[nonce_sec][8]*51/500;
1041   4                                      if(K31==ON)
1042   4                                              wire_vb=pp.x[nonce_sec][9]*51/500;
1043   4                                      w_slope_ok=0;
1044   4                                      c_cm0=0;
1045   4                                      n_cm0=pp.x[nonce_sec][7]*2500/wire_vp;
1046   4                                      IEN1=IEN1|0X10;         //CM0
1047   4                              }
C51 COMPILER V7.06   DC                                                                    06/22/2005 09:40:54 PAGE 18  

1048   3                              else
1049   3                              {
1050   4                                      PWM0=0;
1051   4                                      rot_right=1;
1052   4                                      rot_left=1;
1053   4                                      wire_ok=0;
1054   4                              }
1055   3                              
1056   3                              new_sector=0;
1057   3                      }
1058   2      
1059   2                      if(K3==ON&&WIRE==ON&&wire_ok==1&&stop_wire==1)          //停止送丝
1060   2                      {
1061   3                              ini_sbuf(M_main,answer,S_ANSW,0,0,0);
1062   3                              s_byte_nums=4;
1063   3                              TR_noans();
1064   3                              PWM1=0;
1065   3                              wire_back=1;
1066   3                              wire_front=1;
1067   3                              wire_ok=0;                      //抽丝时没有脉动
1068   3                              delay(2);                               //79um
1069   3                              if(pp.t34>0)
1070   3                              {
1071   4                                      retract=1;                      //抽丝标志
1072   4                                      wire_back=0;
1073   4                                      wire_front=1;
1074   4                                      CML0=TML2+0X50;                 //100ms
1075   4                                      if(CML0<TML2)
1076   4                                              CMH0=TMH2+1+0XC3;
1077   4                                      else
1078   4                                              CMH0=TMH2+0XC3;
1079   4                                      n_cm0=pp.t34;
1080   4                                      c_cm0=0;
1081   4                                      PWM1=(127500-51*pp.v32)/500;    //PWM1=255*(2500-pp.v32)/2500
1082   4                                      IEN1=IEN1|0X10;                 //允许CM0,抽丝
1083   4                              }
1084   3                              stop_wire=0;
1085   3                      }
1086   2      
1087   2                      if(urgent_stop==1)
1088   2                                      goto BEGIN;
1089   2                      if(rot_stop==1)                 //停止旋转
1090   2                      {
1091   3                              PWM0=0;
1092   3                              rot_right=1;
1093   3                              rot_left=1;
1094   3                              IEN1=IEN1&0XF7;         //禁止CT3,电流脉冲
1095   3                              IEN1=IEN1&0XFE;         //禁止CT0,焊接角度
1096   3                              if(wire_ok==1&&WIRE==ON)
1097   3                              {
1098   4                                      PWM1=0;
1099   4                                      wire_back=1;
1100   4                                      wire_front=1;
1101   4                                      wire_ok=0;                      //抽丝时没有脉动
1102   4                                      delay(2);                               //79us
1103   4                                      if(pp.t34>0)
1104   4                                      {
1105   5                                              retract=1;                      //抽丝标志
1106   5                                              wire_back=0;
1107   5                                              wire_front=1;
1108   5                                              CML0=TML2+0X50;                 //100ms
1109   5                                              if(CML0<TML2)
C51 COMPILER V7.06   DC                                                                    06/22/2005 09:40:54 PAGE 19  

1110   5                                                      CMH0=TMH2+1+0XC3;
1111   5                                              else
1112   5                                                      CMH0=TMH2+0XC3;
1113   5                                              n_cm0=pp.t34;
1114   5                                              c_cm0=0;
1115   5                                              PWM1=51*(2500-pp.v32)/500;      //PWM1=255*(2500-pp.v32)/2500
1116   5                                              IEN1=IEN1|0X10;                 //允许CM0,抽丝
1117   5                                      }
1118   4                              }
1119   3                              rot_stop_ok=1;
1120   3                      }
1121   2      /*
1122   2                      if(resend==1)
1123   2                      {
1124   2                              ini_sbuf(M_main,answer,S_ANSW,0,0,0);
1125   2                              s_byte_nums=4;
1126   2                              TR_noans();
1127   2                              resend=0;
1128   2                      }
1129   2      */
1130   2                      if(urgent_stop==1)
1131   2                                      goto BEGIN;
1132   2      
1133   2              }while(rot_stop_ok==0);
1134   1      
1135   1              while(need_para==0)
1136   1              {
1137   2                      if(urgent_stop==1)
1138   2                                      goto BEGIN;
1139   2              }
1140   1              ini_sbuf(M_main,parameter1,0,0,0,0);
1141   1              sbuffer[2]=FINISH/256;
1142   1              sbuffer[3]=FINISH%256;
1143   1              s_byte_nums=5;
1144   1              TR_noans();
1145   1              need_para=0;
1146   1              if(retract==1)
1147   1              {
1148   2                      while(retract_ok==0)
1149   2                      {
1150   3                              if(urgent_stop==1)
1151   3                                      goto BEGIN;
1152   3                      }
1153   2              }
1154   1      
1155   1              if(pp.b==ON)
1156   1              {
1157   2                      while(auto_return==0)
1158   2                      {
1159   3                              if(urgent_stop==1)
1160   3                                      goto BEGIN;
1161   3                      }
1162   2                      ini_sbuf(M_main,answer,S_ANSW,0,0,0);
1163   2                      s_byte_nums=4;
1164   2                      TR_noans();
1165   2                      if(pp.k2==CW)
1166   2                      {
1167   3                              rot_right=1;
1168   3                              rot_left=0;
1169   3                      }
1170   2                      else
1171   2                      {
C51 COMPILER V7.06   DC                                                                    06/22/2005 09:40:54 PAGE 20  

1172   3                              rot_right=0;
1173   3                              rot_left=1;
1174   3                      }
1175   2                      PWM0=255;
1176   2                      IEN1=IEN1|0X01;                         //允许CT0,焊接角度
1177   2      
1178   2                      while(return_ok==0)
1179   2                      {
1180   3                              if(urgent_stop==1)
1181   3                                      goto BEGIN;
1182   3                              if(need_para==1)
1183   3                              {
1184   4                                      sbuffer[0]=M_main;
1185   4                                      sbuffer[1]=parameter1;
1186   4                                      sbuffer[2]=FINISH/256;
1187   4                                      sbuffer[3]=FINISH%256;
1188   4                                      sbuffer[4]=0;
1189   4                                      s_byte_nums=5;
1190   4                                      TR_noans();
1191   4                                      need_para=0;
1192   4                              }
1193   3                      }
1194   2                      ini_sbuf(M_main,answer,S_ANSW,0,0,0);
1195   2                      s_byte_nums=4;
1196   2                      TR_noans();
1197   2              }
1198   1      
1199   1              while(to_begin==0)
1200   1              {
1201   2                      if(urgent_stop==1)
1202   2                              goto BEGIN;
1203   2              }
1204   1              goto BEGIN;
1205   1      }
C51 COMPILER V7.06   DC                                                                    06/22/2005 09:40:54 PAGE 21  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


rot_stop . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0000H  1
ask_return_ok. . . . . . . . . . . . .  PUBLIC   DATA   BIT      0001H  1
wire_vp. . . . . . . . . . . . . . . .  PUBLIC   DATA   U_INT    0000H  2
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . 

⌨️ 快捷键说明

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