📄 main.ls1
字号:
011B AD00 F 882 MOV R5,Temp_Byte?449
011D 7F02 883 MOV R7,#02H
011F 120000 F 884 LCALL _Set_Display
885 ;
886 ; Temp_Divide=Temp_Remain/10;
887 ; SOURCE LINE # 210
0122 AE00 F 888 MOV R6,Temp_Remain?447
0124 AF00 F 889 MOV R7,Temp_Remain?447+01H
0126 7C00 890 MOV R4,#00H
0128 7D0A 891 MOV R5,#0AH
012A 120000 F 892 LCALL ?C?UIDIV
012D 8E00 F 893 MOV Temp_Divide?448,R6
012F 8F00 F 894 MOV Temp_Divide?448+01H,R7
895 ; Temp_Remain=Temp_Remain%10;
896 ; SOURCE LINE # 211
0131 AE00 F 897 MOV R6,Temp_Remain?447
0133 AF00 F 898 MOV R7,Temp_Remain?447+01H
0135 7C00 899 MOV R4,#00H
0137 7D0A 900 MOV R5,#0AH
0139 120000 F 901 LCALL ?C?UIDIV
013C 8C00 F 902 MOV Temp_Remain?447,R4
013E 8D00 F 903 MOV Temp_Remain?447+01H,R5
904 ; if(Temp_Divide!=0)
905 ; SOURCE LINE # 212
0140 E500 F 906 MOV A,Temp_Divide?448+01H
0142 4500 F 907 ORL A,Temp_Divide?448
0144 6004 908 JZ ?C0044
909 ; Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Divide));
910 ; SOURCE LINE # 213
0146 AF00 F 911 MOV R7,Temp_Divide?448+01H
0148 8002 912 SJMP ?C0084
014A 913 ?C0044:
914 ; else
915 ; Temp_Byte=Display_Lookup_Table(11);
916 ; SOURCE LINE # 215
A51 MACRO ASSEMBLER MAIN 07/20/2007 11:13:54 PAGE 15
014A 7F0B 917 MOV R7,#0BH
014C 918 ?C0084:
014C 120000 F 919 LCALL _Display_Lookup_Table
014F 8F00 F 920 MOV Temp_Byte?449,R7
0151 921 ?C0045:
922 ; Set_Display(3,Temp_Byte);
923 ; SOURCE LINE # 216
0151 AD00 F 924 MOV R5,Temp_Byte?449
0153 7F03 925 MOV R7,#03H
0155 120000 F 926 LCALL _Set_Display
927 ;
928 ; // Temp_Divide=value/1000;
929 ; // Temp_Remain=value%1000;
930 ; if(Temp_Remain!=0)
931 ; SOURCE LINE # 220
0158 E500 F 932 MOV A,Temp_Remain?447+01H
015A 4500 F 933 ORL A,Temp_Remain?447
015C 6004 934 JZ ?C0046
935 ; Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Remain));
936 ; SOURCE LINE # 221
015E AF00 F 937 MOV R7,Temp_Remain?447+01H
0160 8002 938 SJMP ?C0085
0162 939 ?C0046:
940 ; else
941 ; Temp_Byte=Display_Lookup_Table(11);
942 ; SOURCE LINE # 223
0162 7F0B 943 MOV R7,#0BH
0164 944 ?C0085:
0164 120000 F 945 LCALL _Display_Lookup_Table
0167 8F00 F 946 MOV Temp_Byte?449,R7
0169 947 ?C0047:
948 ; Set_Display(4,Temp_Byte);
949 ; SOURCE LINE # 224
0169 950 ?C0086:
0169 951 ?C0087:
0169 AD00 F 952 MOV R5,Temp_Byte?449
016B 7F04 953 MOV R7,#04H
016D 120000 F 954 LCALL _Set_Display
955 ;
956 ; }
957 ; SOURCE LINE # 226
958 ;
959 ; }
960 ; SOURCE LINE # 228
0170 961 ?C0048:
0170 22 962 RET
963 ; END OF _Display_Acord_Byte
964
965 ;
966 ; int Calculate_Tem(unsigned char input)//calculate temperature for water and oil
967
---- 968 RSEG ?PR?_Calculate_Tem?MAIN
0000 969 _Calculate_Tem:
970 USING 0
971 ; SOURCE LINE # 230
972 ;---- Variable 'Tem?553' assigned to Register 'R4/R5' ----
973 ;---- Variable 'input?552' assigned to Register 'R7' ----
974 ; {
975 ; SOURCE LINE # 231
976 ; int Tem;
977 ; if( (input>0 && input<128) || input==0)
978 ; SOURCE LINE # 233
0000 EF 979 MOV A,R7
0001 D3 980 SETB C
0002 9400 981 SUBB A,#00H
0004 4005 982 JC ?C0051
A51 MACRO ASSEMBLER MAIN 07/20/2007 11:13:54 PAGE 16
0006 EF 983 MOV A,R7
0007 9480 984 SUBB A,#080H
0009 4003 985 JC ?C0050
000B 986 ?C0051:
000B EF 987 MOV A,R7
000C 7006 988 JNZ ?C0049
000E 989 ?C0050:
990 ; {
991 ; SOURCE LINE # 234
992 ; Tem=(int)(70/127*input-20);
993 ; SOURCE LINE # 235
000E 7CFF 994 MOV R4,#0FFH
0010 7DEC 995 MOV R5,#0ECH
996 ; }
997 ; SOURCE LINE # 236
0012 8010 998 SJMP ?C0052
0014 999 ?C0049:
1000 ; else if(input>127 && input<256)
1001 ; SOURCE LINE # 237
0014 EF 1002 MOV A,R7
0015 D3 1003 SETB C
0016 947F 1004 SUBB A,#07FH
0018 400A 1005 JC ?C0052
001A 7480 1006 MOV A,#080H
001C 9481 1007 SUBB A,#081H
001E 5004 1008 JNC ?C0052
1009 ; {
1010 ; SOURCE LINE # 238
1011 ; Tem=(int) ( 70/128*input+(50-127*70/128) );
1012 ; SOURCE LINE # 239
0020 7CFF 1013 MOV R4,#0FFH
0022 7DED 1014 MOV R5,#0EDH
1015 ; }
1016 ; SOURCE LINE # 240
0024 1017 ?C0052:
1018 ; return Tem;
1019 ; SOURCE LINE # 241
0024 AF05 1020 MOV R7,AR5
0026 AE04 1021 MOV R6,AR4
1022 ; }
1023 ; SOURCE LINE # 242
0028 1024 ?C0054:
0028 22 1025 RET
1026 ; END OF _Calculate_Tem
1027
1028 ; unsigned int Calculate_Pre(unsigned char input)
1029
---- 1030 RSEG ?PR?_Calculate_Pre?MAIN
0000 1031 _Calculate_Pre:
1032 USING 0
1033 ; SOURCE LINE # 243
1034 ;---- Variable 'Pre?655' assigned to Register 'R4/R5' ----
1035 ;---- Variable 'input?654' assigned to Register 'R3' ----
0000 AB07 1036 MOV R3,AR7
1037 ; {
1038 ; SOURCE LINE # 244
1039 ; unsigned int Pre;
1040 ; if( (input>0 && input<21) || input==0)
1041 ; SOURCE LINE # 246
0002 EB 1042 MOV A,R3
0003 D3 1043 SETB C
0004 9400 1044 SUBB A,#00H
0006 4005 1045 JC ?C0057
0008 EB 1046 MOV A,R3
0009 9415 1047 SUBB A,#015H
000B 4003 1048 JC ?C0056
A51 MACRO ASSEMBLER MAIN 07/20/2007 11:13:54 PAGE 17
000D 1049 ?C0057:
000D EB 1050 MOV A,R3
000E 7003 1051 JNZ ?C0055
0010 1052 ?C0056:
1053 ; {
1054 ; SOURCE LINE # 247
1055 ; Pre=0;
1056 ; SOURCE LINE # 248
0010 E4 1057 CLR A
0011 FC 1058 MOV R4,A
0012 FD 1059 MOV R5,A
1060 ; }
1061 ; SOURCE LINE # 249
0013 1062 ?C0055:
1063 ; if(input>20 && input<91)
1064 ; SOURCE LINE # 250
0013 EB 1065 MOV A,R3
0014 D3 1066 SETB C
0015 9414 1067 SUBB A,#014H
0017 4011 1068 JC ?C0058
0019 EB 1069 MOV A,R3
001A 945B 1070 SUBB A,#05BH
001C 500C 1071 JNC ?C0058
1072 ; {
1073 ; SOURCE LINE # 251
1074 ; Pre=2*input+20;
1075 ; SOURCE LINE # 252
001E EB 1076 MOV A,R3
001F 75F002 1077 MOV B,#02H
0022 A4 1078 MUL AB
0023 2414 1079 ADD A,#014H
0025 FD 1080 MOV R5,A
0026 E4 1081 CLR A
0027 35F0 1082 ADDC A,B
0029 FC 1083 MOV R4,A
1084 ; }
1085 ; SOURCE LINE # 253
002A 1086 ?C0058:
1087 ; if(input>90 && input<140)
1088 ; SOURCE LINE # 254
002A EB 1089 MOV A,R3
002B D3 1090 SETB C
002C 945A 1091 SUBB A,#05AH
002E 4014 1092 JC ?C0059
0030 EB 1093 MOV A,R3
0031 948C 1094 SUBB A,#08CH
0033 500F 1095 JNC ?C0059
1096 ; {
1097 ; SOURCE LINE # 255
1098 ; Pre=(int) (200/49*input+(400-139*200/49));
1099 ; SOURCE LINE # 256
0035 EB 1100 MOV A,R3
0036 75F004 1101
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -