📄 avc.lst
字号:
231 case 7: {
232 v51=19; //1185
233 SENS=32; //0.12mm 0.6v
234 }break;
235 case 8: {
236 v51=16; //1407
237 SENS=38; //0.14mm 0.7v
238 }break;
239 case 9: {
240 v51=13; //1740
241 SENS=47; //0.16mm 0.8v
C51 COMPILER V7.06 AVC 06/10/2005 14:33:44 PAGE 5
242 }break;
243 case 10:{
244 v51=11; //2000
245 SENS=54; //0.2mm 1v
246 }break;
247 default:{
248 v51=127;
249 SENS=5;
250 }break;
251 }
252 }
253 */
254 void get_SENS()
255 {
256 1 switch(pp.sens)
257 1 {
258 2 case 1: {
259 3 out0=8000; //500HZ
260 3 out1=4; //2p,0.0075mm
261 3 }break;
262 2 case 2: {
263 3 out0=8000; //500HZ
264 3 out1=10; //5p,0.01875mm 0.1v
265 3 }break;
266 2 case 3: {
267 3 out0=8000; //500HZ
268 3 out1=20; //10p,0.0375mm 0.2v
269 3 }break;
270 2 case 4: {
271 3 out0=6757; //592hz
272 3 out1=32; //0.06mm 0.3v
273 3 }break;
274 2 case 5: {
275 3 out0=5141; //778hz
276 3 out1=42; //0.08mm 0.4v
277 3 }break;
278 2 case 6: {
279 3 out0=4000; //1000hz
280 3 out1=54; //0.1mm 0.5v
281 3 }break;
282 2 case 7: {
283 3 out0=3376; //1185hz
284 3 out1=64; //0.12mm 0.6v
285 3 }break;
286 2 case 8: {
287 3 out0=2843; //1407hz
288 3 out1=76; //0.14mm 0.7v
289 3 }break;
290 2 case 9: {
291 3 out0=2299; //1740hz
292 3 out1=94; //0.16mm 0.8v
293 3 }break;
294 2 case 10:{
295 3 out0=2000; //2000hz
296 3 out1=104; //0.2mm 1v
297 3 }break;
298 2 }
299 1 }
300 void com_type()
301 {
302 1 switch(rbuffer[2])
303 1 {
C51 COMPILER V7.06 AVC 06/10/2005 14:33:44 PAGE 6
304 2 case com_calling: called=1;break;
305 2 case com_motor_stop: { //停止点动
306 3 if(motor_stop==0)
307 3 motor_stop=1;
308 3 }break;
309 2 case com_start: start=1;break; //启动
310 2 case com_decrease: decrease=1;break;
311 2 case com_avc: start_avc=1;break;
312 2 case com_avc_up: if(avc_up==0)
313 2 avc_up=1;break;
314 2 case com_avc_down: if(avc_down==0)
315 2 avc_down=1;break;
316 2 case com_stop_avc: stop_avc=1;break;
317 2 case com_pgj: pgj=1;break;
318 2 case com_lift: lift=1;break;
319 2 case com_goto_begin: to_begin=1;break;
320 2 case com_need_para: if(need_para==0)
321 2 need_para=1;break;
322 2 case com_ask_lift_ok: ask_lift_ok=1;break;
323 2 case com_lift_ok: lift_ok=1;break;
324 2 default: break;
325 2 }
326 1 }
327
328 void data_type() //对接收到的数据分辨类型
329 {
330 1 switch(rbuffer[1])
331 1 {
332 2 case command: com_type();break;
333 2 // case answer: R_ANSW=rbuffer[1];break;
334 2 case infor: {
335 3 if(rbuffer[1]==com_sector)
336 3 {
337 4 sector=1;
338 4 if(in_sector==0)
339 4 in_sector=1;
340 4 nonce_sec=rbuffer[3];
341 4 }
342 3 }break;
343 2 case p_out_sec: receive_p_out=1;break;
344 2
345 2 case p_in_sec: {
346 3 nonce_sec=rbuffer[2];
347 3 receive_p_in=1;
348 3 }break;
349 2 default: break;
350 2 }
351 1 }
352
353 /*
354 void EX0_INT (void) interrupt 0 //急停
355 {
356 EX0=0;
357 while(called==0);
358 if(avc_err==0)
359 {
360 ini_sbuf(M_main,answer,S_ANSW,0,0,0);
361 s_byte_nums=4;
362 TR_noans();
363 }
364 else
365 {
C51 COMPILER V7.06 AVC 06/10/2005 14:33:44 PAGE 7
366 avc_err=0;
367 ini_sbuf(M_main,err_infor,M_avc,err,0,0);
368 s_byte_nums=5;
369 TR_noans();
370 }
371 urgent_stop=1;
372 }
373 */
374
375 void T1_INT (void) interrupt 3
376 {
377 1 c_t1++;
378 1 if(send==1)
379 1 {
380 2 if(c_t1==7)
381 2 {
382 3 S0BUF=sbuffer[POINTER0];
383 3 c_t1=0;
384 3 }
385 2 }
386 1 else
387 1 {
388 2 if(c_t1==100)
389 2 {
390 3 TR1=0;
391 3 overtime=1;
392 3 }
393 2 }
394 1 }
395
396 void TR_INT (void) interrupt 4 //串行口中断
397 { //关中断
398 1 if(TI==1) //发送完成
399 1 {
400 2 TI=0;
401 2 POINTER0++;
402 2 if(POINTER0<s_byte_nums-1)
403 2 SSUM=SSUM+sbuffer[POINTER0]; //6个数据字节求和
404 2 else
405 2 sbuffer[s_byte_nums-1]=SSUM+sbuffer[0]; //数据和加地址生成校验码
406 2 if(POINTER0==s_byte_nums)
407 2 REN=1;
408 2 }
409 1
410 1 if(RI==1) //接收完成
411 1 {
412 2 RI=0;
413 2 POINTER1++; //接收缓冲指针加1
414 2 rbuffer[POINTER1-1]=S0BUF; //从接收缓冲读出数据
415 2 if(rbuffer[0]==M_AVC||rbuffer[0]==M_ALL||rbuffer[0]==M_AVC_P)
416 2 {
417 3 SM2=0;
418 3 if(POINTER1==2)
419 3 r_byte_nums=get_byte_nums(rbuffer[1]);
420 3 if(POINTER1<r_byte_nums)
421 3 RSUM=RSUM+rbuffer[POINTER1-1]; //生成校验码
422 3 else
423 3 {
424 4 SM2=1;
425 4 if(RSUM==rbuffer[r_byte_nums-1])
426 4 {
427 5 if(ans==0)
C51 COMPILER V7.06 AVC 06/10/2005 14:33:44 PAGE 8
428 5 {
429 6 POINTER1=0;
430 6 RSUM=0;
431 6 }
432 5 S_ANSW=OK;
433 5 data_type();
434 5 }
435 4 else
436 4 {
437 5 S_ANSW=FAIL;
438 5 if(resend==0)
439 5 resend=1;
440 5 }
441 4 }
442 3
443 3 }
444 2 else
445 2 POINTER1=0;
446 2 } //开中断
447 1 }
448
449 void CT0_int (void) interrupt 6
450 {
451 1 CTI0=0;
452 1 CTCON=CTCON&0xFC;
453 1 gate=0;
454 1 if(decrease==0&&pp.k5==ON)
455 1 {
456 2 if(pp.k1==DC||(pp.k1==PDC&&pp.avc_type==SP&&pulse_base==1))//(pp.avc_type==SP&&pulse_base==1||pp.avc_typ
-e==SPB||pp.avc_type==SB&&pulse_base==0)))
457 2 CTCON=CTCON|0x20;
458 2 }
459 1 if(decrease==1&&lift==1) //衰减过程
460 1 {
461 2 avc_enable=1; //关弧长使能
462 2 IEN1=IEN1&0XFE; //禁止CT0
463 2 lift_complete=1;
464 2 }
465 1 }
466
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -