📄 chushiqi_v1.0.lst
字号:
910 0001BF
911 0001BF timing90:
912 0001BF 0E00(2) ret
913 0001C0 include mnapp.asm
914 0001C0 ;温度检测
915 0001C0 tempretp:
916 0001C0 7072(1+S) b0bts0 temphumiflag
917 0001C1 8212(2) jmp tempretp90
918 0001C2 60C9(1) b0bclr fp00ien
919 0001C3 60C8(1) b0bclr fp00irq
920 0001C4 1E2B(1) mov a,temchat
921 0001C5 7886(1+S) b0bts1 fz
922 0001C6 8212(2) jmp tempretp90
923 0001C7 2E2C(1) b0mov a,chkstat
924 0001C8 @jmp_a 7
925 0001C8 13CE(1) add pcl, a
926 0001C9 81CE(2) jmp mnchkrx1
927 0001CA 81D4(2) jmp mnchkrx2
928 0001CB 81DA(2) jmp mnchkrx3
929 0001CC 81E0(2) jmp mnchkrx4
930 0001CD 81E6(2) jmp mnchkrx5
931 0001CE
932 0001CE
933 0001CE
934 0001CE mnchkrx1:
935 0001CE C213(2) call discharge
936 0001CF 2D04(1) mov a,#4
937 0001D0 1F2B(1) mov temchat,a ;//set the delay timer constant
938 0001D1 2D01(1) mov a,#1
939 0001D2 1F2C(1) mov chkstat,a
940 0001D3 8212(2) jmp tempretp90
941 0001D4
942 0001D4 mnchkrx2:
943 0001D4 C219(2) call rstandcharge
944 0001D5 2D01(1) mov a,#1 ;//set the delay timer constant
945 0001D6 1F2B(1) mov temchat,a
946 0001D7 2D02(1) mov a,#2
947 0001D8 1F2C(1) mov chkstat,a
948 0001D9 8212(2) jmp tempretp90
949 0001DA
950 0001DA mnchkrx3:
951 0001DA C213(2) call discharge
952 0001DB 2D04(1) mov a,#4 ;//set the delay timer constant
953 0001DC 1F2B(1) mov temchat,a
954 0001DD 2D03(1) mov a,#3
955 0001DE 1F2C(1) mov chkstat,a
956 0001DF 8212(2) jmp tempretp90
957 0001E0
958 0001E0 mnchkrx4:
959 0001E0 C22D(2) call rntccharge
960 0001E1 2D01(1) mov a,#1 ;//set the delay timer constant
961 0001E2 1F2B(1) mov temchat,a
962 0001E3 2D04(1) mov a,#4
963 0001E4 1F2C(1) mov chkstat,a
964 0001E5 8212(2) jmp tempretp90
965 0001E6
966 0001E6 mnchkrx5:
967 0001E6 C213(2) call discharge
968 0001E7 2D04(1) mov a,#4 ;//set the delay timer constant
969 0001E8 1F2B(1) mov temchat,a
970 0001E9 2B2C(1) clr chkstat
971 0001EA
972 0001EA @RST_WDT
973 0001EA 2D5A(1) MOV A, #0x5A
974 0001EB 2FCC(1) B0MOV WDTR, A
975 0001EC
976 0001EC 757A(1+S) b0bts0 tempkipflag
977 0001ED 81F8(2) jmp tempretp10
978 0001EE 6D7A(1) b0bset tempkipflag
979 0001EF 1E2D(1) mov a,tmrf1
980 0001F0 1F2F(1) mov tmrf11,a
981 0001F1 1E2E(1) mov a,tmrf2
982 0001F2 1F30(1) mov tmrf12,a
983 0001F3 1E31(1) mov a,tmrntc1
984 0001F4 1F33(1) mov tmrntc11,a
985 0001F5 1E32(1) mov a,tmrntc2
986 0001F6 1F34(1) mov tmrntc12,a
987 0001F7 8212(2) jmp tempretp90
988 0001F8 tempretp10:
989 0001F8 657A(1) b0bclr tempkipflag
990 0001F9 1E2F(1) mov a,tmrf11
991 0001FA 132D(1) add tmrf1,a
992 0001FB 1E30(1) mov a,tmrf12
993 0001FC 112E(1) adc tmrf2,a
994 0001FD 6286(1) b0bclr fc
995 0001FE 092E(1) rrcm tmrf2
996 0001FF 092D(1) rrcm tmrf1
997 000200 1E33(1) mov a,tmrntc11
998 000201 1331(1) add tmrntc1,a
999 000202 1E34(1) mov a,tmrntc12
1000 000203 1132(1) adc tmrntc2,a
1001 000204 6286(1) b0bclr fc
1002 000205 0932(1) rrcm tmrntc2
1003 000206 0931(1) rrcm tmrntc1
1004 000207
1005 000207 mov_ temp0,tmrf1
1006 000207 1E2D(1) mov a, tmrf1
1007 000208 1F38(1) mov temp0, a
1008 000209 mov_ temp1,tmrf2
1009 000209 1E2E(1) mov a, tmrf2
1010 00020A 1F39(1) mov temp1, a
1011 00020B mov_ temp2,tmrntc1
1012 00020B 1E31(1) mov a, tmrntc1
1013 00020C 1F3A(1) mov temp2, a
1014 00020D mov_ temp3,tmrntc2
1015 00020D 1E32(1) mov a, tmrntc2
1016 00020E 1F3B(1) mov temp3, a
1017 00020F C241(2) call comparerx
1018 000210 ; mov_ data1,temp4
1019 000210 ; mov_ data2,temp5
1020 000210 6872(1) b0bset temphumiflag
1021 000211 6972(1) b0bset detctflag
1022 000212 tempretp90:
1023 000212 0E00(2) ret
1024 000213
1025 000213 ;**********************************************
1026 000213 ;Name :discharge
1027 000213 ;Function:
1028 000213 ;Input :
1029 000213 ;Output :
1030 000213 ;Register Used:
1031 000213 ;***********************************************
1032 000213 discharge:
1033 000213 1ED1(1) mov a,p1
1034 000214 2AF9(1) and a,#11111001b
1035 000215 1FD1(1) mov p1,a
1036 000216 2DFE(1) mov a,#11111110b
1037 000217 1FC1(1) mov p1m,a
1038 000218 discharge90:
1039 000218 0E00(2) ret
1040 000219
1041 000219 ;**********************************************
1042 000219 ;Name :rfcharge
1043 000219 ;Function:
1044 000219 ;Input :
1045 000219 ;Output :
1046 000219 ;Register Used:
1047 000219 ;***********************************************
1048 000219 rstandcharge:
1049 000219 1ED1(1) mov a,p1
1050 00021A 1A02(1) or a,#00000010b
1051 00021B 1FD1(1) mov p1,a
1052 00021C 2DFA(1) mov a,#11111010b ;p1.1 output 1
1053 00021D 1FC1(1) mov p1m,a
1054 00021E 2B2D(1) clr tmrf1
1055 00021F 2B2E(1) clr tmrf2
1056 000220
1057 000220 rstandcharge1:
1058 000220 2D01(1) mov a,#1
1059 000221 132D(1) add tmrf1,a
1060 000222 2D00(1) mov a,#0
1061 000223 112E(1) adc tmrf2,a
1062 000224 7286(1+S) b0bts0 fc
1063 000225 8229(2) jmp rstandcharge89
1064 000226 78D1(1+S) b0bts1 pttesch
1065 000227 8220(2) jmp rstandcharge1
1066 000228
1067 000228 822C(2) jmp rstandcharge90
1068 000229 rstandcharge89:
1069 000229 2DFF(1) mov a,#0ffh ;//error overflow
1070 00022A 1F2D(1) mov tmrf1,a
1071 00022B 1F2E(1) mov tmrf2,a
1072 00022C
1073 00022C rstandcharge90:
1074 00022C 0E00(2) ret
1075 00022D
1076 00022D ;**********************************************
1077 00022D ;Name :rocharge
1078 00022D ;Function:
1079 00022D ;Input :
1080 00022D ;Output :
1081 00022D ;Register Used:
1082 00022D ;***********************************************
1083 00022D rntccharge:
1084 00022D 1ED1(1) mov a,p1
1085 00022E 1A04(1) or a,#00000100b
1086 00022F 1FD1(1) mov p1,a
1087 000230 2DFC(1) mov a,#11111100b ;p1.2 output 1
1088 000231 1FC1(1) mov p1m,a
1089 000232 2B31(1) clr tmrntc1
1090 000233 2B32(1) clr tmrntc2
1091 000234
1092 000234 rntccharge1:
1093 000234 2D01(1) mov a,#1
1094 000235 1331(1) add tmrntc1,a
1095 000236 2D00(1) mov a,#0
1096 000237 1132(1) adc tmrntc2,a
1097 000238 7286(1+S) b0bts0 fc
1098 000239 823D(2) jmp rntccharge89
1099 00023A 78D1(1+S) b0bts1 pttesch
1100 00023B 8234(2) jmp rntccharge1
1101 00023C
1102 00023C 8240(2) jmp rntccharge90
1103 00023D rntccharge89:
1104 00023D 2DFF(1) mov a,#0ffh ;//error overflow
1105 00023E 1F31(1) mov tmrntc1,a
1106 00023F 1F31(1) mov tmrntc1,a
1107 000240
1108 000240 rntccharge90:
1109 000240
1110 000240 0E00(2) ret
1111 000241
1112 000241 ;**********************************************
1113 000241 ;Name :comparerx
1114 000241 ;Function:temp5,4=temp3,2/temp1,0
1115 000241 ;Input :temp0,temp1,temp2,temp3
1116 000241 ;Output :temp4,temp5
1117 000241 ;Register Used:
1118 000241 ;***********************************************
1119 000241 comparerx:
1120 000241
1121 000241 2B3C(1) clr Temp4
1122 000242 2B3D(1) clr Temp5
1123 000243 mov_ Temp9,#9
1124 000243 2D09(1) mov a, #9
1125 000244 1F3E(1) mov Temp9, a
1126 000245 DividLoop:
1127 000245 0000(1) nop
1128 000246 DividCont1: ;16位除16位,已经是从高位开始减
1129 000246 mov_ r1,temp2
1130 000246 1E3A(1) mov a, temp2
1131 000247 1F40(1) mov r1, a
1132 000248 mov_ r2,temp3
1133 000248 1E3B(1) mov a, temp3
1134 000249 1F41(1) mov r2, a
1135 00024A 1E3A(1) mov A,temp2
1136 00024B 2238(1) sub A,temp0
1137 00024C 1F3A(1) mov temp2,A
1138 00024D 1E3B(1) mov A,temp3
1139 00024E 2039(1) sbc A,temp1
1140 00024F 1F3B(1) mov temp3,A
1141 000250 5A86(1+S) bts1 FC
1142 000251 8257(2) jmp RestoreData
1143 000252
1144 000252 add_ temp4,#1
1145 000252 2D01(1) mov a, #1
1146 000253 133C(1) ADD temp4, a
1147 000254 2D00(1) mov A,#0
1148 000255 113D(1) adc temp5,A
1149 000256
1150 000256 8245(2) jmp DividLoop
1151 000257
1152 000257 RestoreData:
1153 000257 263E(1+S) decms temp9
1154 000258 825A(2) jmp L_RSD1
1155 000259 8263(2) jmp DividEnd
1156 00025A
1157 00025A L_RSD1:
1158 00025A 4286(1) bclr FC
1159 00025B 0A40(1) rlc r1
1160 00025C 1F3A(1) mov temp2,A
1161 00025D 0A41(1) rlc r2
1162 00025E 1F3B(1) mov temp3,A
1163 00025F 4286(1) bclr FC
1164 000260 0B3C(1) rlcm temp4
1165 000261 0B3D(1) rlcm temp5
1166 000262 8245(2) jmp DividLoop
1167 000263
1168 000263 DividEnd:
1169 000263 comparerx90:
1170 000263 0E00(2) ret
1171 000264
1172 000264 ;****************************************************
1173 000264 ;查表得到温度值
1174 000264 ;data1,data2
1175 000264 detector:
1176 000264 2B50(1) clr rcount
1177 000265 2D04(1) mov a,#RxTable$m
1178 000266 1F84(1) mov y,a
1179 000267 2D52(1) mov a,#RxTable$l
1180 000268 1F83(1) mov z,a
1181 000269 detector10:
1182 000269 0000(1) nop
1183 00026A 0D00(2) movc
1184 00026B 1F3F(1) mov r0,a
1185 00026C 1E82(1) mov a,r
1186 00026D 1F40(1) mov r1,a
1187 00026E
1188 00026E 1E35(1) mov a,data1
1189 00026F 223F(1) sub a,r0
1190 000270 1E36(1) mov a,data2
1191 000271 2040(1) sbc a,r1
1192 000272 7A86(1+S) b0bts1 fc
1193 000273 8279(2) jmp detector20
1194 000274 2D00(1) mov a,#0
1195 000275 1F50(1) mov rcount,a
1196 000276 2D00(1) mov a,#0
1197 000277 1F41(1) mov r2,a
1198 000278 82A5(2) jmp detector60
1199 000279
1200 000279 detector20: ; 得到整数部分
1201 000279 1683(1+S) incms z
1202 00027A 827D(2) jmp detector30
1203 00027B 1684(1+S) incms y
1204 00027C 0000(1) nop
1205 00027D detector30:
1206 00027D 0D00(2) movc
1207 00027E 1F43(1) mov r4,a
1208 00027F 1E35(1) mov a,data1
1209 000280 2243(1) sub a,r4
1210 000281 1E36(1) mov a,data2
1211 000282 2082(1) sbc a,r
1212 000283 7286(1+S) b0bts0 fc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -