📄 xiugai.lst
字号:
309 4 P1_4=1; //关继电器
310 4 IE=0x00; //关所有中断
311 4 flag=NO_USER;
312 4 send_byte(CMD_RESET);
313 4 for(i=0;i<3;i++)
314 4 {
315 5 write7279(DECODE0+i,0);
316 5 write7279(SEGON,23);
317 5 }
318 4 delay10ms(60);
319 4 send_byte(CMD_RESET);
320 4 memcpy(cTransBuffer,FengM,sizeof(FengM)); //设置蜂鸣器
321 4 JMY_TRANS(cTransBuffer);
322 4 if(MissID[10]==0)
323 4 Write24c02(0,30); //复位掉电标志位
324 4 else if(MissID[11]==0)
325 4 Write24c02(0,40); //复位掉电标志位
326 4 else if(MissID[12]==0)
327 4 Write24c02(0,50); //复位掉电标志位
328 4 else if(MissID[13]==0)
329 4 Write24c02(0,60); //复位掉电标志位
330 4 else if(MissID[14]==0)
331 4 Write24c02(0,70); //复位掉电标志位
332 4 else if(MissID[15]==0)
333 4 Write24c02(0,80); //复位掉电标志位
334 4 else if(MissID[16]==0)
335 4 Write24c02(0,90); //复位掉电标志位
336 4 else if(MissID[17]==0)
337 4 Write24c02(0,100); //复位掉电标志位
338 4 else if(MissID[18]==0)
339 4 Write24c02(0,110); //复位掉电标志位
340 4 else if(MissID[19]==0)
341 4 Write24c02(0,120); //复位掉电标志位
342 4 }
343 3 }
344 2 while(P3_2==0) //不断的检测是否有卡,有卡则执行以下程序
345 2 {
346 3 ET1=0; //关闭定时器1中断
347 3 time=0;
348 3 memcpy(cTransBuffer,ComReadBlock2,sizeof(ComReadBlock2)); //Read block2
349 3 JMY_TRANS(cTransBuffer);
350 3 //在这里需要添加加密解密程序
351 3 //if(cStatus==0&&cTransBuffer[1]==ComReadBlock2[1])
352 3 if(flag == NO_USER) //判断标志位确定机器状态
353 3 {
354 4
355 4 if(cTransBuffer[2]==0x01&& cTransBuffer[3]==0x02&&cTransBuffer[4]==0x03&&cTransBuffer[5]==0x04)
356 4 {
357 5 P1_4=1; //关继电器
358 5 for(i=0;i<=11;i++)
359 5 {
360 6 Write24c02(cTransBuffer[i+6],i); //write cTransBuffer into 24c02 0-11 adress
361 6 }
362 5 for(i=0;i<=5;i++)
363 5 {
C51 COMPILER V7.50 XIUGAI 11/27/2006 17:18:35 PAGE 7
364 6 Key[i]=Read24c02(i+6);
365 6 }
366 5 /*
367 5 Write24c02(0,30);
368 5 Write24c02(0,40);
369 5 Write24c02(0,50);
370 5 Write24c02(0,60);
371 5 Write24c02(0,70);
372 5 Write24c02(0,80);
373 5 Write24c02(0,90);
374 5 Write24c02(0,100);
375 5 Write24c02(0,110);
376 5 Write24c02(0,120);*/
377 5 continue;
378 5 }
379 4
380 4
381 4 else if(cTransBuffer[2]==Key[0]&&cTransBuffer[3]==Key[1]&&cTransBuffer[4]==Key[2]&&cTransBuffer[5]
-==Key[3]&&cTransBuffer[6]==Key[4]&&cTransBuffer[7]==Key[5])
382 4 {
383 5
384 5 ////////////////掉电回刷部分
385 5 if(MissIDFlag==1) //先判断总掉电标志位
386 5 {
387 6 ///////////////////第一组
388 6 if(MissID[10]==1)
389 6 {
390 7 for(i=0;i<=8;i++)
391 7 {
392 8 MissID[i]=Read24c02(i+21);
393 8 }
394 7 if(MissID[0]==cTransBuffer[8]&&MissID[1]==cTransBuffer[9]&&MissID[2]==cTransBuffer[10]&&M
-issID[3]==cTransBuffer[11])
395 7 {
396 8 for(i=0;i<=8;i++)
397 8 {
398 9 ComWriteBlock2[i+16]=MissID[i];
399 9 }
400 8 memcpy(WriteBuffer,ComWriteBlock2,sizeof(ComWriteBlock2)); //写卡的块2
401 8 JMY_TRANS(WriteBuffer);
402 8 MissID[10]=0;
403 8 Write24c02(0,30); //复位掉电标志位
404 8 DisplayCard(); //回刷显示子函数
405 8 delay10ms(1000);
406 8 send_byte(CMD_RESET);
407 8 break;
408 8 }
409 7 }
410 6 ///////////////////第2组
411 6 if(MissID[11]==1)
412 6 {
413 7 for(i=0;i<=8;i++)
414 7 {
415 8 MissID[i]=Read24c02(i+31);
416 8 }
417 7 if(MissID[0]==cTransBuffer[8]&&MissID[1]==cTransBuffer[9]&&MissID[2]==cTransBuffer[10]&&M
-issID[3]==cTransBuffer[11])
418 7 {
419 8 for(i=0;i<=8;i++)
420 8 {
421 9 ComWriteBlock2[i+16]=MissID[i];
422 9 }
C51 COMPILER V7.50 XIUGAI 11/27/2006 17:18:35 PAGE 8
423 8 memcpy(WriteBuffer,ComWriteBlock2,sizeof(ComWriteBlock2)); //写卡的块2
424 8 JMY_TRANS(WriteBuffer);
425 8 MissID[11]=0;
426 8 Write24c02(0,40); //复位掉电标志位
427 8 DisplayCard();
428 8 delay10ms(1000);
429 8 send_byte(CMD_RESET);
430 8 break;
431 8 }
432 7 }
433 6 ///////////////////第3
434 6 if(MissID[12]==1)
435 6 {
436 7 for(i=0;i<=8;i++)
437 7 {
438 8 MissID[i]=Read24c02(i+41);
439 8 }
440 7 if(MissID[0]==cTransBuffer[8]&&MissID[1]==cTransBuffer[9]&&MissID[2]==cTransBuffer[10]&&M
-issID[3]==cTransBuffer[11])
441 7 {
442 8 for(i=0;i<=8;i++)
443 8 {
444 9 ComWriteBlock2[i+16]=MissID[i];
445 9 }
446 8 memcpy(WriteBuffer,ComWriteBlock2,sizeof(ComWriteBlock2)); //写卡的块2
447 8 JMY_TRANS(WriteBuffer);
448 8 MissID[12]=0;
449 8 Write24c02(0,50); //复位掉电标志位
450 8 DisplayCard();
451 8 delay10ms(1000);
452 8 send_byte(CMD_RESET);
453 8 break;
454 8 }
455 7 }
456 6 ///////////////////第4
457 6 if(MissID[13]==1)
458 6 {
459 7 for(i=0;i<=8;i++)
460 7 {
461 8 MissID[i]=Read24c02(i+51);
462 8 }
463 7 if(MissID[0]==cTransBuffer[8]&&MissID[1]==cTransBuffer[9]&&MissID[2]==cTransBuffer[10]&&M
-issID[3]==cTransBuffer[11])
464 7 {
465 8 for(i=0;i<=8;i++)
466 8 {
467 9 ComWriteBlock2[i+16]=MissID[i];
468 9 }
469 8 memcpy(WriteBuffer,ComWriteBlock2,sizeof(ComWriteBlock2)); //写卡的块2
470 8 JMY_TRANS(WriteBuffer);
471 8 MissID[13]=0;
472 8 Write24c02(0,60); //复位掉电标志位
473 8 DisplayCard();
474 8 delay10ms(1000);
475 8 send_byte(CMD_RESET);
476 8 break;
477 8 }
478 7 }
479 6 ///////////////////第5
480 6 if(MissID[14]==1)
481 6 {
482 7 for(i=0;i<=8;i++)
C51 COMPILER V7.50 XIUGAI 11/27/2006 17:18:35 PAGE 9
483 7 {
484 8 MissID[i]=Read24c02(i+61);
485 8 }
486 7 if(MissID[0]==cTransBuffer[8]&&MissID[1]==cTransBuffer[9]&&MissID[2]==cTransBuffer[10]&&M
-issID[3]==cTransBuffer[11])
487 7 {
488 8 for(i=0;i<=8;i++)
489 8 {
490 9 ComWriteBlock2[i+16]=MissID[i];
491 9 }
492 8 memcpy(WriteBuffer,ComWriteBlock2,sizeof(ComWriteBlock2)); //写卡的块2
493 8 JMY_TRANS(WriteBuffer);
494 8 MissID[14]=0;
495 8 Write24c02(0,70); //复位掉电标志位
496 8 DisplayCard();
497 8 delay10ms(1000);
498 8 send_byte(CMD_RESET);
499 8 break;
500 8 }
501 7 }
502 6 ///////////////////第6
503 6 if(MissID[15]==1)
504 6 {
505 7 for(i=0;i<=8;i++)
506 7 {
507 8 MissID[i]=Read24c02(i+71);
508 8 }
509 7 if(MissID[0]==cTransBuffer[8]&&MissID[1]==cTransBuffer[9]&&MissID[2]==cTransBuffer[10]&&M
-issID[3]==cTransBuffer[11])
510 7 {
511 8 for(i=0;i<=8;i++)
512 8 {
513 9 ComWriteBlock2[i+16]=MissID[i];
514 9 }
515 8 memcpy(WriteBuffer,ComWriteBlock2,sizeof(ComWriteBlock2)); //写卡的块2
516 8 JMY_TRANS(WriteBuffer);
517 8 MissID[15]=0;
518 8 Write24c02(0,80); //复位掉电标志位
519 8 DisplayCard();
520 8 delay10ms(1000);
521 8 send_byte(CMD_RESET);
522 8 break;
523 8 }
524 7 }
525 6 ///////////////////第7
526 6 if(MissID[16]==1)
527 6 {
528 7 for(i=0;i<=8;i++)
529 7 {
530 8 MissID[i]=Read24c02(i+81);
531 8 }
532 7 if(MissID[0]==cTransBuffer[8]&&MissID[1]==cTransBuffer[9]&&MissID[2]==cTransBuffer[10]&&M
-issID[3]==cTransBuffer[11])
533 7 {
534 8 for(i=0;i<=8;i++)
535 8 {
536 9 ComWriteBlock2[i+16]=MissID[i];
537 9 }
538 8 memcpy(WriteBuffer,ComWriteBlock2,sizeof(ComWriteBlock2)); //写卡的块2
539 8 JMY_TRANS(WriteBuffer);
540 8 MissID[16]=0;
541 8 Write24c02(0,90); //复位掉电标志位
C51 COMPILER V7.50 XIUGAI 11/27/2006 17:18:35 PAGE 10
542 8 DisplayCard();
543 8 delay10ms(1000);
544 8 send_byte(CMD_RESET);
545 8 break;
546 8 }
547 7 }
548 6 ///////////////////第8
549 6 if(MissID[17]==1)
550 6 {
551 7 for(i=0;i<=8;i++)
552 7 {
553 8 MissID[i]=Read24c02(i+91);
554 8 }
555 7 if(MissID[0]==cTransBuffer[8]&&MissID[1]==cTransBuffer[9]&&MissID[2]==cTransBuffer[10]&&M
-issID[3]==cTransBuffer[11])
556 7 {
557 8 for(i=0;i<=8;i++)
558 8 {
559 9 ComWriteBlock2[i+16]=MissID[i];
560 9 }
561 8 memcpy(WriteBuffer,ComWriteBlock2,sizeof(ComWriteBlock2)); //写卡的块2
562 8 JMY_TRANS(WriteBuffer);
563 8 MissID[17]=0;
564 8 Write24c02(0,100); //复位掉电标志位
565 8 DisplayCard();
566 8 delay10ms(1000);
567 8 send_byte(CMD_RESET);
568 8 break;
569 8 }
570 7 }
571 6 ///////////////////第9
572 6 if(MissID[18]==1)
573 6 {
574 7 for(i=0;i<=8;i++)
575 7 {
576 8 MissID[i]=Read24c02(i+101);
577 8 }
578 7 if(MissID[0]==cTransBuffer[8]&&MissID[1]==cTransBuffer[9]&&MissID[2]==cTransBuffer[10]&&M
-issID[3]==cTransBuffer[11])
579 7 {
580 8 for(i=0;i<=8;i++)
581 8 {
582 9 ComWriteBlock2[i+16]=MissID[i];
583 9 }
584 8 memcpy(WriteBuffer,ComWriteBlock2,sizeof(ComWriteBlock2)); //写卡的块2
585 8 JMY_TRANS(WriteBuffer);
586 8 MissID[18]=0;
587 8 Write24c02(0,110); //复位掉电标志位
588 8 DisplayCard();
589 8 delay10ms(1000);
590 8 send_byte(CMD_RESET);
591 8 break;
592 8 }
593 7 }
594 6 ///////////////////第10
595 6 if(MissID[19]==1)
596 6 {
597 7 for(i=0;i<=8;i++)
598 7 {
599 8 MissID[i]=Read24c02(i+111);
600 8 }
601 7 if(MissID[0]==cTransBuffer[8]&&MissID[1]==cTransBuffer[9]&&MissID[2]==cTransBuffer[10]&&M
C51 COMPILER V7.50 XIUGAI 11/27/2006 17:18:35 PAGE 11
-issID[3]==cTransBuffer[11])
602 7 {
603 8 for(i=0;i<=8;i++)
604 8 {
605 9 ComWriteBlock2[i+16]=MissID[i];
606 9 }
607 8 memcpy(WriteBuffer,ComWriteBlock2,sizeof(ComWriteBlock2)); //写卡的块2
608 8 JMY_TRANS(WriteBuffer);
609 8 MissID[19]=0;
610 8 Write24c02(0,120); //复位掉电标志位
611 8 DisplayCard();
612 8 delay10ms(1000);
613 8 send_byte(CMD_RESET);
614 8 break;
615 8 }
616 7 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -