📄 dc.lst
字号:
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 + -