⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chushiqi_v1.0.lst

📁 这是一个完整的除湿机方案!另包含SCH原理图。希望对用松翰单片机的朋友有帮助!
💻 LST
📖 第 1 页 / 共 5 页
字号:
   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 + -