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

📄 长陆.lst

📁 51单片机控制MAX530输出电压
💻 LST
字号:
1    0000 	    ORG 0000H
2    0000  		LJMP START
3    0003  		ORG 0030H
4    0030 START:  MOV 00H,#00H
5    0033 		MOV 01H,#00H	
6    0036         ORL  P1,#0FFH
7    0039 MAIN1:	JNB  P1.2,MAI1
8    003C MAIN2:	JNB  P1.3,MAI2
9    003F 		AJMP START
10   0041 MAI1:	LCALL DELAY0;调用10毫秒延迟
11   0044 		JNB  P1.2,HOU2 ;防抖处理,键按下转	
12   0047 		LJMP START
13   004A MAI2:	LCALL DELAY0;调用10毫秒延迟
14   004D 		JNB  P1.3,HOU1 ;防抖处理,键按下转	
15   0050 		AJMP START	
17   0052 HOU2:	CLR  P1.0
18   0054         LCALL DELAY8
19   0057         SETB P1.0
20   0059 		CLR  P3.6
21   005B         ORL  P1,#0FFH		
22   005E MAIN3:  JNB  P1.4,MAI3
23   0061 MAIN4:	JNB  P1.5,MAI4
24   0064 		AJMP HOU2
25   0066 MAI3:	LCALL DELAY0;调用10毫秒延迟
26   0069 		JNB  P1.4,HA2 ;防抖处理,键按下转	
27   006C 		LJMP HOU2
28   006F MAI4:	LCALL DELAY0;调用10毫秒延迟
29   0072 		JNB  P1.5,HM2 ;防抖处理,键按下转	
30   0075 		LJMP HOU2	
32   0078 HOU1:	CLR  P1.1
33   007A         LCALL DELAY8
34   007D         SETB P1.1
35   007F         CLR  P3.6
36   0081         ORL  P1,#0FFH
37   0084 MAIN5:	JNB  P1.4,MAI5
38   0087 MAIN6:	JNB  P1.5,MAI6
39   008A 		AJMP HOU1
40   008C MAI5:	LCALL DELAY0;调用10毫秒延迟
41   008F 		JNB  P1.4,HA1 ;防抖处理,键按下转	
42   0092 		LJMP HOU1
43   0095 MAI6:	LCALL DELAY0;调用10毫秒延迟
44   0098 		JNB  P1.5,HM1 ;防抖处理,键按下转	
45   009B 		LJMP HOU1
48   009E HA2:    LJMP CUA2
49   00A1 CUA2:   SETB P1.6
50   00A3         LCALL LOOP1
51   00A6         CLR  P1.6
52   00A8         LCALL DELAY1;粗增量
53   00AB         SETB P1.6
54   00AD         CJNE R1,#02H,CUA2;粗增量高位最终值
55   00B0         CJNE R0,#0CAH,CUA2
56   00B3         CLR P1.0
57   00B5         LCALL DELAY8
58   00B8 XIA2:   SETB P1.0
59   00BA         SETB P1.6
60   00BC         LCALL LOOP1
61   00BF         CLR  P1.6
62   00C1         LCALL DELAY2;细增量
63   00C4         SETB P1.6
64   00C6         CJNE R1,#03H,XIA2;细增量高位最终值
65   00C9         CJNE R0,#48H,XIA2        
66   00CC         LCALL DELAY3;保持
67   00CF DEA2:   SETB P1.6
68   00D1 		LCALL LOOP2;快减
69   00D4 		CLR  P1.6
70   00D6         LCALL DELAY6
71   00D9         SETB P1.6
72   00DB         CJNE R1,#00H,DEA2;减少最终值
73   00DE         CJNE R0,#00H,DEA2
74   00E1         LJMP START
75   00E4 HA1:    LJMP CUA1
76   00E7 HM1:    LJMP CM4
77   00EA HM2:    LJMP CM1
78   00ED CM1:	ORL  P1,#0FFH
79   00F0 		CLR P1.1
80   00F2 MAIN7:  JNB  P1.5,MAI7;粗增量是否开始
81   00F5 		AJMP MAIN7
82   00F7 MAI7:	LCALL DELAY0;调用10毫秒延迟
83   00FA 		JNB  P1.5,CUM2 ;防抖处理,键按下转	
84   00FD         AJMP CM1
85   00FF CUM2:   SETB P1.1
86   0101 		SETB P1.6
87   0103         LCALL LOOP1
88   0106         CLR  P1.6
89   0108         LCALL DELAY1;粗增量
90   010B         SETB P1.6
91   010D         CJNE R1,#02H,CUM2;粗增量高位最终值
92   0110         CJNE R0,#0CAH,CUM2
93   0113 CM2:    ORL  P1,#0FFH
94   0116 		CLR  P1.1
95   0118 MAIN8:  JNB  P1.5,MAI8;细增量是否开始
96   011B 		AJMP MAIN8
97   011D MEN:	LJMP XIA2
98   0120 		NOP
99   0121 		NOP
100  0122 MAI8:	LCALL DELAY0;调用10毫秒延迟
101  0125 		JNB  P1.5,XIM2 ;防抖处理,键按下转
102  0128 		AJMP CM2	        
103  012A XIM2:	SETB P1.1
104  012C 		SETB P1.6
105  012E         LCALL LOOP1
106  0131         CLR  P1.6
107  0133         LCALL DELAY2;细增量
108  0136         SETB P1.6
109  0138         CJNE R1,#03H,XIM2;细增量高位最终值
110  013B         CJNE R0,#48H,XIM2
112  013E CM3:	ORL  P1,#0FFH
113  0141         CLR P1.1
114  0143 MAIN9:	JNB  P1.5,MAI9;减量是否开始
115  0146 		AJMP MAIN9
116  0148 MEN1:	LJMP DEA2
117  014B 		NOP
118  014C 		NOP
119  014D MAI9:	LCALL DELAY0
120  0150 		JNB  P1.5,DEM2    
121  0153 		AJMP CM3
122  0155 DEM2:	SETB P1.1
123  0157 		SETB P1.6
124  0159 		LCALL LOOP2;快减
125  015C 		CLR  P1.6
126  015E         LCALL DELAY6
127  0161         SETB P1.6
128  0163         CJNE R1,#00H,MEN1;减少最终值
129  0166         CJNE R0,#00H,MEN1
130  0169         LJMP START
132  016C CUA1:   SETB P1.6
133  016E         LCALL LOOP1
134  0171         CLR  P1.6
135  0173         LCALL DELAY4;粗增量
136  0176         SETB P1.6
137  0178         CJNE R1,#0DH,CUA1;粗增量高位最终值
138  017B         CJNE R0,#9AH,CUA1
139  017E XIA1:   SETB P1.6
140  0180         LCALL LOOP1
141  0183         CLR  P1.6
142  0185         LCALL DELAY5;细增量
143  0188         SETB P1.6
144  018A         CJNE R1,#0FH,XIA1;细增量高位最终值
145  018D         CJNE R0,#0FFH,XIA1       
146  0190         LCALL DELAY3;保持
147  0193 DEA1:   SETB P1.6
148  0195 		LCALL LOOP2;快减
149  0198 		CLR  P1.6
150  019A         LCALL DELAY7
151  019D         SETB P1.6
152  019F         CJNE R1,#00H,DEA1;减少最终值
153  01A2         CJNE R0,#00H,DEA1
154  01A5         LJMP START
156  01A8 CM4:	ORL  P1,#0FFH
157  01AB 		CLR P1.0
158  01AD MAIN10: JNB  P1.5,MAI10;粗增量是否开始
159  01B0 		AJMP MAIN10
160  01B2 MAI10:	LCALL DELAY0;调用10毫秒延迟
161  01B5 		JNB  P1.5,CUM1 ;防抖处理,键按下转
162  01B8         AJMP CM4
163  01BA CUM1:   SETB P1.0
164  01BC 		SETB P1.6
165  01BE         LCALL LOOP1
166  01C1         CLR  P1.6
167  01C3         LCALL DELAY4;粗增量
168  01C6         SETB P1.6
169  01C8         CJNE R1,#0DH,CUM1;粗增量高位最终值
170  01CB         CJNE R0,#9AH,CUM1
171  01CE CM5:    ORL  P1,#0FFH
172  01D1 		CLR P1.0
173  01D3 MAIN11: JNB  P1.5,MAI11;细增量是否开始
174  01D6 		AJMP MAIN11
175  01D8 MAI11:  LCALL DELAY0
176  01DB 		JNB  P1.5,XIM1
177  01DE         AJMP CM5
178  01E0 MEN2:	LJMP DEA1
179  01E3 		NOP
180  01E4 		NOP
181  01E5 XIM1:	SETB P1.0		
182  01E7 		SETB P1.6
183  01E9         LCALL LOOP1
184  01EC         CLR  P1.6
185  01EE         LCALL DELAY5;细增量
186  01F1         SETB P1.6
187  01F3         CJNE R1,#0FH,XIA1;细增量高位最终值
188  01F6         CJNE R0,#0FFH,XIA1        
189  01F9 CM6:	ORL  P1,#0FFH
190  01FC 		CLR P1.0
191  01FE MAIN12:	JNB  P1.5,MAI12
192  0201 		AJMP MAIN12
193  0203 MAI12:	LCALL DELAY0
194  0206 		JNB  P1.5,DEM1
195  0209 		AJMP CM6
196  020B DEM1:	SETB P1.0
197  020D 		SETB P1.6
198  020F 		LCALL LOOP2;快减
199  0212 		CLR  P1.6
200  0214         LCALL DELAY7
201  0217         SETB P1.6
202  0219         CJNE R1,#00H,MEN2;减少最终值
203  021C         CJNE R0,#00H,MEN2
204  021F         LJMP START
207  0222 ;延迟
208  0222 LOOP1:  MOV DPTR , #0FFFFH
209  0225         MOVX @DPTR , A
210  0226     	MOV DPTR , # 7FFFH 
211  0229     	MOV A , 00H ;输出低8 位
212  022B     	MOVX @DPTR , A
213  022C     	MOV DPTR , # 4FFFH	 	
214  022F       	MOV A , 01H ;输出高4 位
215  0231    	    MOVX @DPTR , A    
216  0232         MOV DPH,01H
217  0235 		MOV DPL,00H
218  0238 		INC DPTR
219  0239 		MOV 01H,DPH
220  023C 		MOV 00H,DPL
221  023F 		RET
223  0240 LOOP2:	MOV DPTR , #0FFFFH
224  0243         MOVX @DPTR , A
225  0244     	MOV DPTR , # 7FFFH 
226  0247     	MOV A , 00H ;输出低8 位
227  0249     	MOVX @DPTR , A
228  024A     	MOV DPTR , # 4FFFH	 	
229  024D       	MOV A , 01H ;输出高4 位
230  024F    	    MOVX @DPTR , A    
231  0250         MOV DPH,01H
232  0253 		MOV DPL,00H
233  0256 		DJNZ 00H,DIL;低8位减为0
234  0259 		DJNZ 01H,DIL
235  025C DIL:	RET
237  025D DELAY0:	MOV R3,#27  ;10毫秒延迟
238  025F DL1:	MOV R4,#200
239  0261 DL2:	DJNZ R4,DL2
240  0263 		DJNZ R3,DL1
241  0265 		RET
243  0266 DELAY1:	MOV R3,#13 ;5毫秒延迟
244  0268 DL3:	MOV R4,#205
245  026A DL4:	DJNZ R4,DL4
246  026C 		DJNZ R3,DL3
247  026E 		RET
249  026F DELAY2:	MOV R3,#38  ;14毫秒延迟
250  0271 DL5:	MOV R4,#199
251  0273 DL6:	DJNZ R4,DL6
252  0275 		DJNZ R3,DL5
253  0277 		RET
255  0278 DELAY3:	MOV R3,#20  ;2秒延迟
256  027A DL7:	MOV R4,#250
257  027C DL8:	MOV R5,#200
258  027E DL9:	DJNZ R5,DL9
259  0280 		DJNZ R4,DL8
260  0282 		DJNZ R3,DL7
261  0284 		RET
263  0285 DELAY4:	MOV R3,#47  ;1毫秒延迟
264  0287 DL10:	MOV	R4,#10	
265  0289 DL11:	DJNZ R4,DL11
266  028B 		DJNZ R3,DL10
267  028D 		RET
269  028E DELAY5:	MOV R3,#141  ;3毫秒延迟
270  0290 DL12:	MOV	R4,#10	
271  0292 DL13:	DJNZ R4,DL13
272  0294 		DJNZ R3,DL12
273  0296 		RET
275  0297 DELAY6:	MOV R3,#60  ;2.38毫秒延迟
276  0299 DL14:	MOV	R4,#20	
277  029B DL15:	DJNZ R4,DL15
278  029D 		DJNZ R3,DL14
279  029F 		RET
281  02A0 DELAY7:	MOV R3,#13 ;5毫秒延迟
282  02A2 DL16:	MOV R4,#20
283  02A4 DL17:	DJNZ R4,DL17
284  02A6 		DJNZ R3,DL16
285  02A8 		RET
287  02A9 DELAY8:	MOV R3,#250  ;100毫秒延迟
288  02AB DL18:	MOV	R4,#205	
289  02AD DL19:	DJNZ R4,DL19
290  02AF 		DJNZ R3,DL18
291  02B1 		RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -