?? mima.lst
字號:
450 3 if((key!=backspace)&&(key!=enter))
451 3 {
452 4 lcm_write_data('*');
453 4 password[counter]=key;
454 4 }
455 3 if(key==backspace)
456 3 {
457 4 if(counter>0)
458 4 {
459 5 lcm_setxy(--counter,2);
460 5 lcm_write_data(' ');
461 5 password[counter]=0x00;
462 5 lcm_setxy(counter,2);
463 5 counter--;
464 5 }
465 4 }
466 3 if(key==enter)
467 3 {
468 4 lcm_setxy(0,1);
469 4 return( 0);
470 4 }
471 3 }
472 2 if(counter==6)
473 2 {
474 3 do{
475 4 key=get_key();
476 4 }
477 3 while((key!=backspace)&&(key!=enter));
478 3 if(key==backspace)
479 3 {
480 4 lcm_setxy(--counter,2);
481 4 lcm_write_data(' ');
482 4 password[counter]=0x00;
483 4 lcm_setxy(counter,2);
484 4 counter--;
485 4 }
486 3 if(key==enter)
487 3 {
488 4 return(1);
489 4 }
C51 COMPILER V8.08 MIMA 11/12/2007 17:13:27 PAGE 9
490 3 }
491 2 }
492 1 }
493
494 void mima()
495 {
496 1 uchar key;
497 1 uchar idata temp1_password[6]={0,0,0,0,0,0};
498 1 uchar idata temp3_password[6]={0,0,0,0,0,0};
499 1 uchar idata temp2_password[6]={0,0,0,0,0,0};
500 1 uchar idata temp4_password[6]={0,0,0,0,0,0};
501 1 key=step_choose();
502 1 if(key==no1)
503 1 {
504 2 I2C_receive_string(temp1_password,6,0x00);
505 2 lcm_write_cmd(0x01);
506 2 lcm_write_cmd(0x06);
507 2 lcm_setxy(2,0);
508 2 lcm_write_string("input password");
509 2 if(input_password(temp2_password))
510 2 {
511 3 convert_code(temp2_password);
512 3 if(compare_string(temp1_password,temp2_password))
513 3 {
514 4 lcm_setxy(0,2);
515 4 lcm_write_string("correct!");
516 4 longdelay(6);
517 4 return;
518 4 }
519 3 else
520 3 {
521 4 lcm_setxy(0,2);
522 4 lcm_write_string("wrong password");
523 4 longdelay(6);
524 4 return;
525 4 }
526 3 }
527 2 else
528 2 {
529 3 lcm_setxy(0,2);
530 3 lcm_write_string("error! ");
531 3 longdelay(6);
532 3 }
533 2 }
534 1 else
535 1 {
536 2 I2C_receive_string(temp1_password,6,0x00);
537 2 lcm_write_cmd(0x01);
538 2 lcm_write_cmd(0x06);
539 2 lcm_setxy(0,0);
540 2 lcm_write_string("input old password");
541 2 if(input_password(temp2_password))
542 2 {
543 3 convert_code(temp2_password);
544 3 if(compare_string(temp1_password,temp2_password))
545 3 {
546 4 lcm_setxy(0,2);
547 4 lcm_write_string("password correct!");
548 4 longdelay(6);
549 4 lcm_write_cmd(0x01);
550 4 lcm_write_cmd(0x06);
551 4 lcm_setxy(0,1);
C51 COMPILER V8.08 MIMA 11/12/2007 17:13:27 PAGE 10
552 4 lcm_write_string("input new password");
553 4 if(input_password(temp3_password))
554 4 {
555 5 lcm_write_cmd(0x01);
556 5 lcm_write_cmd(0x06);
557 5 lcm_setxy(0,1);
558 5 lcm_write_string("input password again");
559 5 if(input_password(temp4_password))
560 5 {
561 6 if(compare_string(temp3_password,temp4_password))
562 6 {
563 7 convert_code(temp3_password);
564 7 I2C_send_string(temp3_password,6,0x00);
565 7 lcm_write_cmd(0x01);
566 7 lcm_write_cmd(0x06);
567 7 lcm_setxy(0,1);
568 7 lcm_write_string("password has");
569 7 lcm_setxy(0,2);
570 7 lcm_write_string("been changed");
571 7 longdelay(10);
572 7 return;
573 7 }
574 6 else
575 6 {
576 7 lcm_write_cmd(0x01);
577 7 lcm_write_cmd(0x06);
578 7 lcm_setxy(0,1);
579 7 lcm_write_string("twice input");
580 7 lcm_setxy(0,2);
581 7 lcm_write_string("is different");
582 7 longdelay(10);
583 7 return;
584 7 }
585 6 }
586 5 else
587 5 {
588 6 lcm_setxy(0,2);
589 6 lcm_write_string("error! ");
590 6 longdelay(10);
591 6 return;
592 6 }
593 5 }
594 4 else
595 4 {
596 5 lcm_setxy(0,2);
597 5 lcm_write_string("error! ");
598 5 longdelay(10);
599 5 return;
600 5 }
601 4 }
602 3 else
603 3 {
604 4 lcm_setxy(0,2);
605 4 lcm_write_string("wrong password");
606 4 longdelay(6);
607 4 return;
608 4 }
609 3 }
610 2 else
611 2 {
612 3 lcm_setxy(0,2);
613 3 lcm_write_string("error! ");
C51 COMPILER V8.08 MIMA 11/12/2007 17:13:27 PAGE 11
614 3 longdelay(6);
615 3 return;
616 3 }
617 2 }
618 1
619 1
620 1 }
621
622 void int_service(void) using 0 interrupt 0
623 {
624 1 EA=0;
625 1 EX0=0;
626 1 for(int_counter_1=10;int_counter_1>0;int_counter_1--)
627 1 {
628 2 for(int_counter_2=0xffff;int_counter_2>0;int_counter_2--)
629 2 {
630 3 if(i)
631 3 {
632 4 EA=1;
633 4 EX0=1;
634 4 return;
635 4 }
636 3 }
637 2 }
638 1 lcm_write_cmd(0x01);
639 1 lcm_write_cmd(0x06);
640 1 lcm_write_string("rest success!");
641 1 longdelay(12);
642 1 I2C_send_string(temp5_password,6,0x00);
643 1
644 1 (*(void(*)())0)();
645 1 }
646
647
648
649 void main(void)
650 {
651 1
652 1 IT0=1;
653 1 EX0=1;
654 1 EA=1;
655 1
656 1 lcm_init();
657 1 while(1)
658 1 {
659 2 mima();
660 2 }
661 1 }
662
663
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1806 ----
CONSTANT SIZE = 260 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 34
IDATA SIZE = 15 24
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -