📄 长陆.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 + -