📄 prg.lst
字号:
0465 D28C 746 SETB TR0 ;Ft6/T0
0467 D2A9 747 SETB ET0 ;TJPmT0VP6O
0469 81BA 748 AJMP TRXEND
749
046B 758A00 750 RX1: MOV TL0,#0H ;T0VC3uV5(12M,8.191ms): IhVC=SJU3,J1--3,J1:sM#V9=SJ
U,Ge3}=SJU1jV>
046E 758C00 751 MOV TH0,#0H ;
0471 206C17 752 JB IN_RX,RX11
0474 6020 753 JZ RX12; ;3$6H=0 -> ERROR
0476 20E71D 754 JB ACC.7,RX12 ;3$6H>63 -> ERROR, END
0479 20E61A 755 JB ACC.6,RX12 ;3$6H>63 -> ERROR, END
047C F521 756 MOV RX_LEN,A ;H!=SJUJ}>]3$6H
047E 54FE 757 ANL A,#0FEH
0480 6014 758 JZ RX12; ;3$6H<2 -> ERROR
0482 752000 759 MOV RX_COUNT,#0; ;
0485 A822 760 MOV R0,RX_ADDRC ;=SJUJ}>];:4f5XV7->R0
0487 D26C 761 SETB IN_RX
0489 81BA 762 AJMP TRXEND
048B F6 763 RX11: MOV @R0,A ;SBUF ;;:4f=SJUJ}>]
048C 0520 764 INC RX_COUNT ;=SJU<FJ}<S1
048E 08 765 INC R0 ;;:4f5XV7<S1
048F E520 766 MOV A,RX_COUNT
0491 B52126 767 CJNE A,RX_LEN,TRXEND ;JG7q=SJU5=AKKySP5DJ}>]?
0494 D26A 768 SETB RX_END
0496 C28C 769 RX12: CLR TR0 ;YES, M#V9T0<FJ}
0498 C2A9 770 CLR ET0 ;9XT0VP6O
049A C26B 771 CLR RX_FLAG
049C C26C 772 CLR IN_RX
049E 81BA 773 RX2: AJMP TRXEND
774
04A0 C299 775 TX: CLR TI
04A2 306D07 776 JNB TX_FLAG,TX0 ;TXFLAG=0: 7"KM3$6H
04A5 D5230A 777 DJNZ TX_COUNT,TX1 ;J}>]JG7q7"KMMj,7"KMMj-->=aJx
04A8 C26D 778 CLR TX_FLAG
04AA 81BA 779 AJMP TRXEND
04AC E524 780 TX0: MOV A,TX_LEN ;7"KM3$6H
04AE D26D 781 SETB TX_FLAG ;VC7"KMVP1jV>
04B0 81B4 782 AJMP TX2
04B2 E7 783 TX1: MOV A,@R1 ;7"KMJ}>]
04B3 09 784 INC R1 ;;:4f5XV7<S1
04B4 A2D0 785 TX2: MOV C,P ;FfE<P#QiN;
04B6 929B 786 MOV TB8,C
04B8 F599 787 MOV SBUF,A ;7"KMJ}>]
04BA E51C 788 TRXEND: MOV A,ABAK
04BC A269 789 MOV C,CBAK
04BE C2D3 790 CLR RS0 ;SELECT WORK REGS 0
04C0 32 791 RETI
792 ;TRXERR: CLR RX_FLAG
793 ; CLR RX_END
794 ; CLR IN_RX
795 ; AJMP TRXEND
796
MCS-51 MACRO ASSEMBLER PRG 11/06/:1 PAGE 16
LOC OBJ LINE SOURCE
797
798 ;6(J1FwT0VP6O7~Nq3LPr
799 TIMER:
800 ; DJNZ TIMERX,TRET ;
04C1 C26B 801 CLR RX_FLAG
04C3 C26A 802 CLR RX_END
04C5 C26C 803 CLR IN_RX
04C7 C28C 804 CLR TR0
04C9 C2A9 805 CLR ET0
806 ; LCALL INITX
807 ; SETB FTIMER
04CB 32 808 TRET: RETI
809
810 DELAY: ;delay N ms: SIAVP5DJ}>]>v6(
811 ; MOV R7,A ;A=0: 200ms
04CC 7EFF 812 L0X: MOV R6,#0FFH
04CE DEFE 813 L1X: DJNZ R6,L1X ;3us*256*N
04D0 DFFA 814 DJNZ R7,L0X
04D2 22 815 RET
816
817
818 ;<l2i5XV7!"3$6H: Hg9{5XV73,3v76N';r3$6H=0/3$6H3,3v76N'#,TrVCO`S&1jV><0CALL_RET
819 CHK_ADD_LEN:
04D3 C262 820 CLR CALL_RET
04D5 E50D 821 MOV A,LEN2 ;TO CHECK THE LEN
04D7 20E71B 822 JB ACC.7,C_A_LL ;len>200000H
04DA 20E618 823 JB ACC.6,C_A_LL ;len>200000H
04DD 30E506 824 JNB ACC.5,C_A_L0 ;len>200000H
04E0 E50E 825 MOV A,LEN1
04E2 450F 826 ORL A,LEN0
04E4 700F 827 JNZ C_A_LL ;len>200000H
04E6 E50D 828 C_A_L0: MOV A,LEN2
04E8 450E 829 ORL A,LEN1
04EA 450F 830 ORL A,LEN0
04EC 6007 831 JZ C_A_LL ;len=0
832
04EE 74F0 833 MOV A,#0F0H ;TO CHECK THE ADDR: 0--0FFFFFH
04F0 550A 834 ANL A,ADDR2
04F2 7005 835 JNZ C_A_LA ;addr>0FFFFFH
04F4 22 836 RET
837 C_A_LL:
04F5 D231 838 SETB ERR_LEN
04F7 81FB 839 AJMP C_A_LE
840 C_A_LA:
04F9 D235 841 SETB ERR_ADDR ;ADDR ERROR
842 C_A_LE:
04FB D262 843 SETB CALL_RET
04FD 22 844 RET
845
846
847 ;JU5=6AFLASHC|An:s#:OH6AH!ID#,7"KM8xPC#,H;:sTY6AH!FLASHJ}>]#,2"IhVCSP9X1jV>
848 RD_PREPARE:
04FE 752280 849 MOV RX_ADDRC,#80H ;4.PP=SJUJWWV=Z5D4f7E5XV7:80h
0501 860A 850 MOV ADDR2,@R0 ;SAVE THE ADDR
0503 08 851 INC R0
MCS-51 MACRO ASSEMBLER PRG 11/06/:1 PAGE 17
LOC OBJ LINE SOURCE
0504 860B 852 MOV ADDR1,@R0 ;SAVE THE ADDR
0506 08 853 INC R0
0507 860C 854 MOV ADDR0,@R0 ;SAVE THE ADDR
0509 08 855 INC R0
050A 860D 856 MOV LEN2,@R0 ;SAVE THE LEN
050C 08 857 INC R0
050D 860E 858 MOV LEN1,@R0 ;SAVE THE LEN
050F 08 859 INC R0
0510 860F 860 MOV LEN0,@R0 ;SAVE THE LEN
0512 08 861 INC R0
862
0513 1204D3 863 LCALL CHK_ADD_LEN ;<l2i5XV7!"3$6H
0516 20622C 864 JB CALL_RET,RD_PE ;ERROR
0519 12034A 865 LCALL RST_RDID_RST ;P>F,84N;!"6AH!ID
051C 206226 866 JB CALL_RET,RD_PE
051F 1202EA 867 LCALL RET_ID ;=+IDKM8xPC
868 ;RD_P0: JNB TX_FLAG,RD_P0 ;5H4}7"KM
0522 850A10 869 MOV CB2,ADDR2 ;IhVCFpJ<5XV7
0525 850B11 870 MOV CB1,ADDR1
0528 850C12 871 MOV CB0,ADDR0
052B 1205F8 872 LCALL SETADDR
052E 850D10 873 MOV CB2,LEN2 ;IhVCWV=Z<FJ}
0531 850E11 874 MOV CB1,LEN1
0534 850F12 875 MOV CB0,LEN0
0537 D261 876 SETB RD_FLAG ;READ DATA TO ADDR 'C0H'
0539 120573 877 LCALL RDTX2 ;
053C 206DFD 878 RD_P1: JB TX_FLAG,RD_P1 ;5H4}7"KMMj1O
053F D26F 879 SETB IN_READ
0541 120558 880 LCALL RDTX0 ;7"KM;:3eGx40HVP5DJ}>]#,6AJ}>]5=;:3eGxC0HVP
0544 22 881 RET
0545 1200D8 882 RD_PE: LCALL RETERR
0548 22 883 RD_PX: RET
884
885
886 ;TZ6AFLASH9}3LVP#:7"KM;:3eGx1J}>], =+FLASHJ}>]6AHk7"KM;:3eGx2: 7"KM: CMD+J}>]+SUM
887 READTX:
0549 20B70C 888 JB IC_READY,RDTX0 ;$$$$$$$$$$$$$$$$$$$$$????????????
054C 120085 889 LCALL CLR_INTERFACE
054F D230 890 SETB ERR_IC_READY
0551 D287 891 SETB _FLASH_PWR
892 ; SETB CALL_RET
0553 D260 893 SETB RET_ERR
0555 C26F 894 RDTX: CLR IN_READ ;=aJxREAD
0557 22 895 RET
896 RDTX0: ; CLR TX_FLAG
0558 306104 897 JNB RD_FLAG,RDTX01 ;$$$$$$$$$$$$$$?????????????
055B A825 898 MOV R0,TX_ADDRC ;#40H-->R0
055D A161 899 AJMP RDTX02
900 RDTX01:
055F 78C0 901 MOV R0,#0C0H
902 RDTX02:
0561 E6 903 MOV A,@R0 ;LENGTH=0?
0562 60F1 904 JZ RDTX ;YES --> RET
0564 F524 905 MOV TX_LEN,A
0566 F523 906 MOV TX_COUNT,A
MCS-51 MACRO ASSEMBLER PRG 11/06/:1 PAGE 18
LOC OBJ LINE SOURCE
0568 0523 907 INC TX_COUNT
056A 08 908 INC R0 ;
056B 8809 909 MOV TX_INDEX,R0 ;7"KM;:3eGx5XV7
056D 120315 910 LCALL TX_COMM_START ;7"KM M(Q6FpJ<1jJ6
0570 306DFD 911 RDTX1: JNB TX_FLAG,RDTX1
0573 206106 912 RDTX2: JB RD_FLAG,RDTX3 ;$$$$$$$$$$$$$$?????????????
0576 7842 913 MOV R0,#42H
0578 7940 914 MOV R1,#40H ;40H-LENGTH, 41H--CMD
057A A180 915 AJMP RDTX4
057C 78C2 916 RDTX3: MOV R0,#0C2H
057E 79C0 917 MOV R1,#0C0H ;0C0H--LENGTH, 0C1H--CMD
0580 12060D 918 RDTX4: LCALL ISZERO ;<l2iR*6AH!5DWV=ZJ}JG7qN*Ac
0583 7014 919 JNZ RDTX5
0585 7402 920 MOV A,#2
0587 B52404 921 CJNE A,TX_LEN,RDTX40
058A 7700 922 MOV @R1,#0 ;END READ: LEN
058C A196 923 AJMP RDTX41
924 RDTX40:
058E 7702 925 MOV @R1,#2 ;END READ: LEN
0590 09 926 INC R1
0591 77CC 927 MOV @R1,#CMD_END ;CMD
0593 09 928 INC R1
0594 77CC 929 MOV @R1,#CMD_END ;SUM
0596 B261 930 RDTX41: CPL RD_FLAG
0598 22 931 RET
0599 1205A6 932 RDTX5: LCALL RD_FLASH
059C EB 933 MOV A,R3 ;@[<S:M
059D F6 934 MOV @R0,A ;
059E EC 935 MOV A,R4 ;LENGTH
059F F7 936 MOV @R1,A
05A0 09 937 INC R1
05A1 7755 938 MOV @R1,#CMD_READ
05A3 B261 939 CPL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -