📄 main.lst
字号:
252 2
253 2 if((Rmax_old!=Rmax)||(Rmin_old!=Rmin))
254 2 {
255 3 if(Rmax<Rmin)
256 3 {
257 4 chn_disp2(" Err ",0x83,4);
258 4 chn_disp2(" Err ",0x93,4);
259 4 }
260 3 else
261 3 {
262 4 // if(Rmax>35) chn_disp2(" Err ",0x83,4);
263 4 // else
264 4 chn_disp2(&Rmaxmin[4],0x83,2);
265 4
266 4 // if(Rmin<25) chn_disp2(" Err ",0x93,4);
267 4 // else
268 4 chn_disp2(Rmaxmin,0x93,2);
269 4 }
270 3
271 3 }
272 2
273 2
274 2
275 2 ///////////////////////////////////////////////////////
276 2 /*
277 2 Test=0 请放入测试件
278 2 Test=1 测试中
279 2 Test=2 合格
280 2 Test=3 不合格
281 2
282 2 */
283 2 if((STARP==1)&&(++STARP_OFF>5))
284 2 {
285 3 STARP_ON=0;
286 3 STARP_OFF=0;
287 3 Test=0;
288 3 BELL=1;
289 3 chn_disp2(" 准备测试 ",0x98,8);
290 3 //chn_disp2(" 请放入测试件 ",0x98,8);
291 3 chn_disp2(" ",0x8b,4);
292 3 }
293 2
294 2 switch(Test)
295 2 {
296 3 case 0:
297 3 Test_tim=0;
298 3 if((STARP==0)&&(++STARP_ON>5))
299 3 {
300 4 STARP_ON=0;
301 4 STARP_OFF=0;
302 4 Test=1;
303 4 Test_tim=200; //测试时间 1s
C51 COMPILER V8.02 MAIN 12/21/2007 18:31:59 PAGE 6
304 4 chn_disp2(" 测试中..... ",0x98,8);
305 4 }
306 3 OKLED=1;
307 3 NGLED=1;
308 3 MOTORON=1;
309 3 break;
310 3 case 1:
311 3 MOTORON=0;
312 3 break;
313 3 case 2:
314 3 OKLED=0;
315 3 NGLED=1;
316 3 MOTORON=1;
317 3 break;
318 3 case 3:
319 3 OKLED=1;
320 3 NGLED=0;
321 3 MOTORON=1;
322 3
323 3 if(LCD_flash_ONOFF==0)
324 3 {
325 4 if((LCD_flash&0x1)==0) chn_disp2(" 不合格 ",0x98,8);
326 4 else
327 4 {
328 5 wr_lcd (comm,0x30);
329 5 wr_lcd (comm,0x98);
330 5 for (i=0;i<8;i++)
331 5 {
332 6 wr_lcd (dat,0xa1);
333 6 wr_lcd (dat,0xf6);
334 6 }
335 5
336 5 }
337 4 LCD_flash_ONOFF=1;
338 4 }
339 3
340 3 break;
341 3 }
342 2 /*
343 2 if(LCD_tim==0) //定时全刷屏
344 2 {
345 2 init_lcd();
346 2 chn_disp(tab1);
347 2 chn_disp2(&Rmaxmin[4],0x83,2);
348 2 chn_disp2(Rmaxmin,0x93,2);
349 2 switch(Test)
350 2 {
351 2 case 0: chn_disp2(" 请放入测试件 ",0x98,8);
352 2 break;
353 2 case 1: chn_disp2(" 测试中..... ",0x98,8);
354 2 break;
355 2 case 2: chn_disp2(" 合格 ",0x98,8);
356 2 break;
357 2 case 3:
358 2 if(LCD_flash_ONOFF==0)
359 2 {
360 2 if((LCD_flash&0x1)==0) chn_disp2(" 不合格 ",0x98,8);
361 2 else chn_disp2(" ",0x98,8);
362 2 LCD_flash_ONOFF=1;
363 2 }
364 2 break;
365 2 }
C51 COMPILER V8.02 MAIN 12/21/2007 18:31:59 PAGE 7
366 2 LCD_tim=1000;
367 2
368 2 } */
369 2
370 2
371 2
372 2 ////////////////////////////////////////////////////////////////
373 2
374 2 if(AD_ok)
375 2 {
376 3 Ur[AD_i]=(uint)ICL7135_BCD[0]*10000+(uint)ICL7135_BCD[1]*1000+(uint)ICL7135_BCD[2]*100+ICL7135_BCD[3]*10
-+ICL7135_BCD[4];
377 3 ICL7135_BCD[5]=' ';
378 3
379 3 // chn_disp2(ICL7135_BCD,0x8B,3); //显示电压
380 3
381 3 if(++AD_i>2) AD_i=0;
382 3 AD_ok=0;
383 3 }
384 2
385 2
386 2 if((Test_tim==0)&&(Test==1))
387 2 {
388 3 MOTORON=1;
389 3
390 3 Ur_tem=0;
391 3 for(i=0;i<2;i++) Ur_tem+=Ur[i];
392 3 Ur_tem>>=1;
393 3 // Ur_tem=(long)Ur_tem*981/1000;
394 3 Ur_tem=(long)Ur_tem*1158/1000;
395 3 if(Ur_tem>0) MOT_R=(Vm-Ur_tem)/Ur_tem;
396 3
397 3
398 3
399 3 else MOT_R=10000;
400 3
401 3 if((MOT_R>Rmax)||(MOT_R<Rmin))
402 3 {
403 4 Test=3;
404 4 chn_disp2(" 不合格 ",0x98,8);
405 4 LCD_flash=0;
406 4 LCD_flash_tim=0;
407 4 LCD_flash_ONOFF=1;
408 4 }
409 3 if((MOT_R>=Rmin)&&(MOT_R<=Rmax))
410 3 {
411 4 Test=2;
412 4 chn_disp2(" 合格 ",0x98,8);
413 4 }
414 3
415 3 if(MOT_R>9999)
416 3 {
417 4 chn_disp2(" ∞ ",0x8b,4);
418 4 }
419 3 else
420 3 {
421 4
422 4 MOT_R_BCD[0]=MOT_R/1000+0x30;
423 4 MOT_R%=1000;
424 4 MOT_R_BCD[1]=MOT_R/100+0x30;
425 4 MOT_R%=100;
426 4 MOT_R_BCD[2]=MOT_R/10+0x30;
C51 COMPILER V8.02 MAIN 12/21/2007 18:31:59 PAGE 8
427 4 MOT_R_BCD[3]=MOT_R%10+0x30;
428 4
429 4 for(i=0;((i<3)&&(MOT_R_BCD[i]==0x30));i++) MOT_R_BCD[i]=' ';
430 4 chn_disp2(MOT_R_BCD,0x8b,2);
431 4 }
432 3
433 3 }
434 2
435 2 }
436 1 }
437
438 void timer0(void) interrupt 1 using 1
439 {
440 1 TH0=(0xffff-5000)>>8;
441 1 TL0=(0xffff-5000)&0xff;
442 1 if(Test_tim) Test_tim--;
443 1
444 1
445 1 if(Test==3)
446 1 {
447 2 if(++BELL_tim>15)
448 2 {
449 3 BELL_tim=0;
450 3 if(++NG_tim<4) BELL=!BELL;
451 3 else BELL=1;
452 3 }
453 2 if(++LCD_flash_tim>100)
454 2 {
455 3 LCD_flash++;
456 3 LCD_flash_tim=0;
457 3 LCD_flash_ONOFF=0;
458 3 }
459 2 }
460 1 else
461 1 {
462 2 LCD_flash_tim=0;
463 2 LCD_flash=0;
464 2 LCD_flash_ONOFF=0;
465 2 NG_tim=0;
466 2 }
467 1 if(Test==2)
468 1 {
469 2 if(++OK_tim<(5*15)) BELL=0;
470 2 else BELL=1;
471 2 }
472 1 else OK_tim=0;
473 1
474 1
475 1 if(LCD_tim>0) LCD_tim--;
476 1
477 1
478 1 }
479
480
481 void intersvr0(void) interrupt 0 using 1
482 {
483 1 if(AD_ok==0)
484 1 {
485 2 if(ICL7135_D5A==1) BCD_i=0;
486 2 ICL7135_BCD[BCD_i]=P1&0x0f;
487 2 if(++BCD_i>4)
488 2 {
C51 COMPILER V8.02 MAIN 12/21/2007 18:31:59 PAGE 9
489 3 BCD_i=0;
490 3 AD_ok=1;
491 3 }
492 2 }
493 1 }
494
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2515 ----
CONSTANT SIZE = 1253 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 49 52
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -