📄 serires sub.ls1
字号:
00B1 22 840 RET
841 ; END OF Read_datas
842
843 ;
844 ; /*********************************************************
845 ; *function name :void In_datas();
846 ; *function describe:receive datas from the pc
A51 MACRO ASSEMBLER SERIRES_SUB 07/16/2008 08:39:36 PAGE 14
847 ; *********************************************************/
848 ; void In_datas()
849
---- 850 RSEG ?PR?In_datas?SERIRES_SUB
0000 851 In_datas:
852 USING 0
853 ; SOURCE LINE # 192
854 ; {
855 ; SOURCE LINE # 193
856 ; int j_in;
857 ; uint In_size;
858 ; In_size=(Instruction[3])*256+Instruction[4];
859 ; SOURCE LINE # 196
0000 E500 F 860 MOV A,Instruction+03H
0002 FE 861 MOV R6,A
0003 7C00 862 MOV R4,#00H
0005 E4 863 CLR A
0006 2500 F 864 ADD A,Instruction+04H
0008 F500 F 865 MOV In_size?461+01H,A
000A EC 866 MOV A,R4
000B 3E 867 ADDC A,R6
000C F500 F 868 MOV In_size?461,A
869 ; for(j_in=0;j_in<In_size;j_in++)
870 ; SOURCE LINE # 197
000E E4 871 CLR A
000F F500 F 872 MOV j_in?460,A
0011 F500 F 873 MOV j_in?460+01H,A
0013 874 ?C0015:
0013 C3 875 CLR C
0014 E500 F 876 MOV A,j_in?460+01H
0016 9500 F 877 SUBB A,In_size?461+01H
0018 E500 F 878 MOV A,j_in?460
001A 9500 F 879 SUBB A,In_size?461
001C 501B 880 JNC ?C0018
881 ; {
882 ; SOURCE LINE # 198
883 ; Eeprom[j_in]=(input());
884 ; SOURCE LINE # 199
001E 120000 F 885 LCALL input
0021 7400 F 886 MOV A,#LOW (Eeprom)
0023 2500 F 887 ADD A,j_in?460+01H
0025 F582 888 MOV DPL,A
0027 7400 F 889 MOV A,#HIGH (Eeprom)
0029 3500 F 890 ADDC A,j_in?460
002B F583 891 MOV DPH,A
002D EF 892 MOV A,R7
002E F0 893 MOVX @DPTR,A
894 ; }
895 ; SOURCE LINE # 200
002F 0500 F 896 INC j_in?460+01H
0031 E500 F 897 MOV A,j_in?460+01H
0033 70DE 898 JNZ ?C0015
0035 0500 F 899 INC j_in?460
0037 900 ?C0040:
0037 80DA 901 SJMP ?C0015
902 ; }
903 ; SOURCE LINE # 201
0039 904 ?C0018:
0039 22 905 RET
906 ; END OF In_datas
907
908 ;
909 ; void Write_datas()
910
---- 911 RSEG ?PR?Write_datas?SERIRES_SUB
0000 912 Write_datas:
A51 MACRO ASSEMBLER SERIRES_SUB 07/16/2008 08:39:36 PAGE 15
913 USING 0
914 ; SOURCE LINE # 203
915 ; {
916 ; SOURCE LINE # 204
917 ; uchar addrll,addrhh;
918 ; int w_cycle;
919 ; uint Crystal,Crystal_r;
920 ; uint Data_Size_Write;
921 ; // uchar byte_h,byte_l;
922 ; uchar back_byte_h,back_byte_l;
923 ;
924 ; Crystal=Baud_Config();
925 ; SOURCE LINE # 212
0000 120000 F 926 LCALL Baud_Config
0003 8E00 F 927 MOV Crystal?565,R6
0005 8F00 F 928 MOV Crystal?565+01H,R7
929 ;
930 ; In_datas();
931 ; SOURCE LINE # 214
0007 120000 F 932 LCALL In_datas
933 ; output(0xee);
934 ; SOURCE LINE # 215
000A 7FEE 935 MOV R7,#0EEH
000C 120000 F 936 LCALL _output
937 ;
938 ; Crystal_r=Crystal+1;
939 ; SOURCE LINE # 217
000F E500 F 940 MOV A,Crystal?565+01H
0011 2401 941 ADD A,#01H
0013 F500 F 942 MOV Crystal_r?566+01H,A
0015 E4 943 CLR A
0016 3500 F 944 ADDC A,Crystal?565
0018 F500 F 945 MOV Crystal_r?566,A
946 ;
947 ; addrhh=Instruction[1];
948 ; SOURCE LINE # 219
001A 850000 F 949 MOV addrhh?563,Instruction+01H
950 ; addrll=Instruction[2];
951 ; SOURCE LINE # 220
001D 850000 F 952 MOV addrll?562,Instruction+02H
953 ; Data_Size_Write=(Instruction[3])*256+Instruction[4];
954 ; SOURCE LINE # 221
0020 E500 F 955 MOV A,Instruction+03H
0022 FE 956 MOV R6,A
0023 7C00 957 MOV R4,#00H
0025 E4 958 CLR A
0026 2500 F 959 ADD A,Instruction+04H
0028 F500 F 960 MOV Data_Size_Write?567+01H,A
002A EC 961 MOV A,R4
002B 3E 962 ADDC A,R6
002C F500 F 963 MOV Data_Size_Write?567,A
964 ;
965 ; //Trbyte(0x90,Crystal,Crystal);
966 ; delay10ms();
967 ; SOURCE LINE # 224
002E 120000 F 968 LCALL delay10ms
969 ; Config_Eeprom(Crystal);
970 ; SOURCE LINE # 225
0031 AF00 F 971 MOV R7,Crystal?565+01H
0033 AE00 F 972 MOV R6,Crystal?565
0035 120000 F 973 LCALL _Config_Eeprom
974 ; delay100ms();
975 ; SOURCE LINE # 226
0038 120000 F 976 LCALL delay100ms
977 ;
978 ; for(w_cycle=0;w_cycle<Data_Size_Write;w_cycle+=4)
A51 MACRO ASSEMBLER SERIRES_SUB 07/16/2008 08:39:36 PAGE 16
979 ; SOURCE LINE # 228
003B E4 980 CLR A
003C F500 F 981 MOV w_cycle?564,A
003E F500 F 982 MOV w_cycle?564+01H,A
0040 983 ?C0019:
0040 C3 984 CLR C
0041 E500 F 985 MOV A,w_cycle?564+01H
0043 9500 F 986 SUBB A,Data_Size_Write?567+01H
0045 E500 F 987 MOV A,w_cycle?564
0047 9500 F 988 SUBB A,Data_Size_Write?567
0049 4003 989 JC $ + 5H
004B 020000 F 990 LJMP ?C0020
991 ; {
992 ; SOURCE LINE # 229
993 ; Trbyte(0xC8,Crystal,Crystal);Trbyte(addrhh,Crystal,Crystal);Trbyte(addrll,C
rystal,Crystal);
994 ; SOURCE LINE # 230
004E AB00 F 995 MOV R3,Crystal?565+01H
0050 AA00 F 996 MOV R2,Crystal?565
0052 AD00 F 997 MOV R5,Crystal?565+01H
0054 AC00 F 998 MOV R4,Crystal?565
0056 7FC8 999 MOV R7,#0C8H
0058 120000 F 1000 LCALL _Trbyte
005B AB00 F 1001 MOV R3,Crystal?565+01H
005D AA00 F 1002 MOV R2,Crystal?565
005F AD00 F 1003 MOV R5,Crystal?565+01H
0061 AC00 F 1004 MOV R4,Crystal?565
0063 AF00 F 1005 MOV R7,addrhh?563
0065 120000 F 1006 LCALL _Trbyte
0068 AB00 F 1007 MOV R3,Crystal?565+01H
006A AA00 F 1008 MOV R2,Crystal?565
006C AD00 F 1009 MOV R5,Crystal?565+01H
006E AC00 F 1010 MOV R4,Crystal?565
0070 AF00 F 1011 MOV R7,addrll?562
0072 120000 F 1012 LCALL _Trbyte
1013 ; Trbyte(0xff,Crystal,Crystal);Trbyte(0xff,Crystal,Crystal);
1014 ; SOURCE LINE # 231
0075 AB00 F 1015 MOV R3,Crystal?565+01H
0077 AA00 F 1016 MOV R2,Crystal?565
0079 AD00 F 1017 MOV R5,Crystal?565+01H
007B AC00 F 1018 MOV R4,Crystal?565
007D 7FFF 1019 MOV R7,#0FFH
007F 120000 F 1020 LCALL _Trbyte
0082 AB00 F 1021 MOV R3,Crystal?565+01H
0084 AA00 F 1022 MOV R2,Crystal?565
0086 AD00 F 1023 MOV R5,Crystal?565+01H
0088 AC00 F 1024 MOV R4,Crystal?565
008A 7FFF 1025 MOV R7,#0FFH
008C 120000 F 1026 LCALL _Trbyte
1027 ; delay104us();
1028 ; SOURCE LINE # 232
008F 120000 F 1029 LCALL delay104us
1030 ; Trbyte(0xC0,Crystal,Crystal);Trbyte(0x01,Crystal,Crystal);Trbyte(0x16,Cryst
al,Crystal);Trbyte(0x40,Crystal,Crystal);Trbyte(0x40,Crystal,Crystal);//C0 01 16 40 40
Erase two words(fore bytes)
1031 ; SOURCE LINE # 233
0092 AB00 F 1032 MOV R3,Crystal?565+01H
0094 AA00 F 1033 MOV R2,Crystal?565
0096 AD00 F 1034 MOV R5,Crystal?565+01H
0098 AC00 F 1035 MOV R4,Crystal?565
009A 7FC0 1036 MOV R7,#0C0H
009C 120000 F 1037 LCALL _Trbyte
009F AB00 F 1038 MOV R3,Crystal?565+01H
00A1 AA00 F 1039 MOV R2,Crystal?565
00A3 AD00 F 1040 MOV R5,Crystal?565+01H
00A5 AC00 F 1041 MOV R4,Crystal?565
A51 MACRO ASSEMBLER SERIRES_SUB 07/16/2008 08:39:36 PAGE 17
00A7 7F01 1042 MOV R7,#01H
00A9 120000 F 1043 LCALL _Trbyte
00AC AB00 F 1044 MOV R3,Crystal?565+01H
00AE AA00 F 1045 MOV R2,Crystal?565
00B0 AD00 F 1046 MOV R5,Crystal?565+
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -