📄 delay subroutine.ls1
字号:
---- 521 RSEG ?PR?delay40ms?DELAY_SUBROUTINE
0000 522 delay40ms:
523 USING 0
524 ; SOURCE LINE # 178
525 ; int v;
526 ; for (v=0;v<1500;v++)
527 ; SOURCE LINE # 180
528 ;---- Variable 'v?847' assigned to Register 'R4/R5' ----
0000 E4 529 CLR A
0001 FD 530 MOV R5,A
0002 FC 531 MOV R4,A
0003 532 ?C0030:
533 ; {
534 ; SOURCE LINE # 181
535 ; delay17us();
536 ; SOURCE LINE # 182
0003 120000 F 537 LCALL delay17us
538 ; }
539 ; SOURCE LINE # 183
0006 0D 540 INC R5
0007 BD0001 541 CJNE R5,#00H,?C0064
000A 0C 542 INC R4
000B 543 ?C0064:
000B BC05F5 544 CJNE R4,#05H,?C0030
000E BDDCF2 545 CJNE R5,#0DCH,?C0030
546 ; }
547 ; SOURCE LINE # 184
0011 548 ?C0033:
0011 22 549 RET
550 ; END OF delay40ms
551
552 ;
553 ; /*********************************************************
554 ; *函数原型:void delay40ms(void);
555 ; *功 能:40ms延迟。
556 ; **********************************************************/
557 ;
558 ; void delay200ms(void) {
559
---- 560 RSEG ?PR?delay200ms?DELAY_SUBROUTINE
0000 561 delay200ms:
562 USING 0
563 ; SOURCE LINE # 191
564 ; int v;
565 ; for (v=0;v<13000;v++)
566 ; SOURCE LINE # 193
567 ;---- Variable 'v?948' assigned to Register 'R4/R5' ----
0000 E4 568 CLR A
0001 FD 569 MOV R5,A
0002 FC 570 MOV R4,A
0003 571 ?C0034:
572 ; {
573 ; SOURCE LINE # 194
574 ; delay17us();
575 ; SOURCE LINE # 195
0003 120000 F 576 LCALL delay17us
577 ; }
578 ; SOURCE LINE # 196
0006 0D 579 INC R5
0007 BD0001 580 CJNE R5,#00H,?C0065
000A 0C 581 INC R4
000B 582 ?C0065:
000B BC32F5 583 CJNE R4,#032H,?C0034
A51 MACRO ASSEMBLER DELAY_SUBROUTINE 07/16/2008 08:39:38 PAGE 10
000E BDC8F2 584 CJNE R5,#0C8H,?C0034
585 ; }
586 ; SOURCE LINE # 197
0011 587 ?C0037:
0011 22 588 RET
589 ; END OF delay200ms
590
591 ;
592 ; void delay100ms(void) {
593
---- 594 RSEG ?PR?delay100ms?DELAY_SUBROUTINE
0000 595 delay100ms:
596 USING 0
597 ; SOURCE LINE # 199
598 ; int v;
599 ; for (v=0;v<6400;v++)
600 ; SOURCE LINE # 201
601 ;---- Variable 'v?1049' assigned to Register 'R4/R5' ----
0000 E4 602 CLR A
0001 FD 603 MOV R5,A
0002 FC 604 MOV R4,A
0003 605 ?C0038:
606 ; {
607 ; SOURCE LINE # 202
608 ; delay17us();
609 ; SOURCE LINE # 203
0003 120000 F 610 LCALL delay17us
611 ; }
612 ; SOURCE LINE # 204
0006 0D 613 INC R5
0007 BD0001 614 CJNE R5,#00H,?C0066
000A 0C 615 INC R4
000B 616 ?C0066:
000B E4 617 CLR A
000C B505F4 618 CJNE A,AR5,?C0038
000F EC 619 MOV A,R4
0010 B419F0 620 CJNE A,#019H,?C0038
621 ; }
622 ; SOURCE LINE # 205
0013 623 ?C0041:
0013 22 624 RET
625 ; END OF delay100ms
626
627 ; /*********************************************************
628 ; *函数原型:void delay207ms(void);
629 ; *功 能:207ms延迟。
630 ; **********************************************************
631 ; void delay207ms(void) {
632 ; int v;
633 ; for (v=0;v<13550;v++)
634 ; {
635 ; delay17us();
636 ; }
637 ; }
638 ;
639 ; /*********************************************************
640 ; *函数原型:void delay60ms(void);
641 ; *功 能:60ms延迟。
642 ; **********************************************************
643 ; void delay60ms(void) {
644 ; int v;
645 ; for (v=0;v<3750;v++)
646 ; {
647 ; delay17us();
648 ; }
649 ; }
A51 MACRO ASSEMBLER DELAY_SUBROUTINE 07/16/2008 08:39:38 PAGE 11
650 ;
651 ; /*********************************************************
652 ; *函数原型:void delay107ms(void);
653 ; *功 能:107ms延迟。
654 ; **********************************************************
655 ;
656 ; void delay107ms(void) {
657 ; int v;
658 ; for (v=0;v<7000;v++)
659 ; {
660 ; delay17us();
661 ; }
662 ; }
663 ;
664 ; /*********************************************************
665 ; *函数原型:uchar input(void);
666 ; *功 能:模拟串口输入函数,输入一个字节。
667 ; **********************************************************/
668 ; uchar input(void) {
669
---- 670 RSEG ?PR?input?DELAY_SUBROUTINE
0000 671 input:
672 USING 0
673 ; SOURCE LINE # 247
674 ; int m;
675 ; uchar in_data;
676 ; in_data=0x00;
677 ; SOURCE LINE # 250
678 ;---- Variable 'in_data?1151' assigned to Register 'R5' ----
0000 E4 679 CLR A
0001 FD 680 MOV R5,A
0002 681 ?C0042:
682 ;
683 ; while(qRXD);
684 ; SOURCE LINE # 252
0002 2092FD 685 JB qRXD,?C0042
0005 686 ?C0043:
687 ; delay10us();
688 ; SOURCE LINE # 253
0005 120000 F 689 LCALL delay10us
690 ; delay17us();
691 ; SOURCE LINE # 254
0008 120000 F 692 LCALL delay17us
693 ; for(m=0;m<7;m++)
694 ; SOURCE LINE # 255
695 ;---- Variable 'm?1150' assigned to Register 'R2/R3' ----
000B E4 696 CLR A
000C FB 697 MOV R3,A
000D FA 698 MOV R2,A
000E 699 ?C0044:
700 ; {
701 ; SOURCE LINE # 256
702 ; //qrTXD=1;
703 ; if(qRXD==1){
704 ; SOURCE LINE # 258
000E 309205 705 JNB qRXD,?C0047
706 ; in_data|=0x80;
707 ; SOURCE LINE # 259
0011 430580 708 ORL AR5,#080H
709 ; }
710 ; SOURCE LINE # 260
0014 8003 711 SJMP ?C0048
0016 712 ?C0047:
713 ; else {
714 ; SOURCE LINE # 261
715 ; in_data&=0x7f;
A51 MACRO ASSEMBLER DELAY_SUBROUTINE 07/16/2008 08:39:38 PAGE 12
716 ; SOURCE LINE # 262
0016 53057F 717 ANL AR5,#07FH
718 ; }
719 ; SOURCE LINE # 263
0019 720 ?C0048:
721 ; in_data>>=1;
722 ; SOURCE LINE # 264
0019 ED 723 MOV A,R5
001A C3 724 CLR C
001B 13 725 RRC A
001C FD 726 MOV R5,A
727 ; delay17us();
728 ; SOURCE LINE # 265
001D 120000 F 729 LCALL delay17us
730 ; }
731 ; SOURCE LINE # 266
0020 0B 732 INC R3
0021 BB0001 733 CJNE R3,#00H,?C0068
0024 0A 734 INC R2
0025 735 ?C0068:
0025 EB 736 MOV A,R3
0026 6407 737 XRL A,#07H
0028 4A 738 ORL A,R2
0029 70E3 739 JNZ ?C0044
002B 740 ?C0045:
741 ; if(qRXD==1){
742 ; SOURCE LINE # 267
002B 309205 743 JNB qRXD,?C0049
744 ; in_data|=0x80;
745 ; SOURCE LINE # 268
002E 430580 746 ORL AR5,#080H
747 ; }
748 ; SOURCE LINE # 269
0031 8003 749 SJMP ?C0050
0033 750 ?C0049:
751 ; else {
752 ; SOURCE LINE # 270
753 ; in_data&=0x7f;
754 ; SOURCE LINE # 271
0033 53057F 755 ANL AR5,#07FH
756 ; }
757 ; SOURCE LINE # 272
0036 758 ?C0050:
759 ; delay17us();
760 ; SOURCE LINE # 273
0036 120000 F 761 LCALL delay17us
762 ; delay1us();
763 ; SOURCE LINE # 274
0039 120000 F 764 LCALL delay1us
765 ; delay1us();
766 ; SOURCE LINE # 275
003C 120000 F 767 LCALL delay1us
768 ; delay1us();
769 ; SOURCE LINE # 276
003F 120000 F 770 LCALL delay1us
771 ; delay1us();
772 ; SOURCE LINE # 277
0042 120000 F 773 LCALL delay1us
774 ; return(in_data);
775 ; SOURCE LINE # 278
0045 AF05 776 MOV R7,AR5
777 ; }
778 ; SOURCE LINE # 279
0047 779 ?C0051:
0047 22 780 RET
781 ; END OF input
A51 MACRO ASSEMBLER DELAY_SUBROUTINE 07/16/2008 08:39:38 PAGE 13
782
783 ;
784 ;
785 ;
786 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -