📄 16f884.lst
字号:
231 0098 0A6D incf (_new_pdc+1)^(0+128),w ;volatile
232 0099 01ED clrf (_new_pdc^(0+128)+1) ;volatile
233 009A 02ED subwf (_new_pdc^(0+128)+1) ;volatile
234 ;16f884.c: 237: if(point>dianshu-1)
235 009B 1283 bcf 3,5
236 009C 082B movf _point,w ;volatile
237 009D 00F0 movwf btemp
238 009E 01F1 clrf btemp+1
239 009F 0826 movf _dianshu,w
240 00A0 00F2 movwf btemp+2
241 00A1 01F3 clrf btemp+3
242 00A2 30FF movlw -1
243 00A3 07F2 addwf btemp+2
244 00A4 1C03 btfss 3,0
245 00A5 07F3 addwf btemp+3
246 00A6 0873 movf btemp+3,w
247 00A7 3A80 xorlw 128
248 00A8 00F4 movwf btemp+4
249 00A9 0871 movf btemp+1,w
250 00AA 3A80 xorlw 128
251 00AB 0274 subwf btemp+4,w
252 00AC 1D03 btfss 3,2
253 00AD 28B0 goto u725
254 00AE 0870 movf btemp,w
255 00AF 0272 subwf btemp+2,w
256 00B0 u725
257 ;16f884.c: 238: {point=0;zhengbanzhou=1;
258 00B0 1283 bcf 3,5
259 00B1 1303 bcf 3,6 ;carry unused
260 00B2 1803 btfsc 3,0
261 00B3 28CE goto L7
262 00B4 01AB clrf _point ;volatile
263 00B5 15A2 bsf _zhengbanzhou/(0+8),_zhengbanzhou& (0+7)
264 ;16f884.c: 239: if(update_range)
265 00B6 1CA2 btfss _update_range/(0+8),_update_range& (0+7)
266 00B7 28CA goto l111
267 ;16f884.c: 240: {range=RDY_RANGE;ADCON0=161;ADC
+ ON1=0;ADIF=0;ADIE=1;AD_OVER=0;update_range=0;}
268 00B8 1683 bsf 3,5
269 00B9 086E movf _RDY_RANGE^(0+128),w ;volatile
270 00BA 00B3 movwf _range^(0+128) ;volatile
271 00BB 086F movf (_RDY_RANGE+1)^(0+128),w ;volatile
272 00BC 00B4 movwf (_range+1)^(0+128) ;volatile
273 00BD 30A1 movlw -95
274 00BE 1283 bcf 3,5
275 00BF 009F movwf 31 ;volatile
276 00C0 1683 bsf 3,5
277 00C1 019F clrf 31
278 00C2 1283 bcf 3,5
279 00C3 130C bcf 12,6
280 00C4 1683 bsf 3,5
281 00C5 170C bsf 12,6
282 00C6 1283 bcf 3,5
283 00C7 1020 bcf _AD_OVER/(0+8),_AD_OVER& (0+7)
284 00C8 10A2 bcf _update_range/(0+8),_update_range& (0+7)
285 00C9 28CC goto l106
286 00CA l111
287 ;16f884.c: 241: else {update_range=1;PWM_LAST=1
+ ;}
288 00CA 14A2 bsf _update_range/(0+8),_update_range& (0+7)
289 00CB 15A0 bsf _PWM_LAST/(0+8),_PWM_LAST& (0+7)
290 00CC l106
291 ;16f884.c: 242: }
292 00CC 1283 bcf 3,5
293 00CD 1303 bcf 3,6 ;carry unused
294 00CE L7
295 00CE 1F0C btfss 12,6
296 00CF 28FF goto l113
297 ;16f884.c: 246: {ADIF=0;
298 00D0 130C bcf 12,6
299 ;16f884.c: 247: if(AD_VOL)
300 00D1 1CA0 btfss _AD_VOL/(0+8),_AD_VOL& (0+7)
301 00D2 28DD goto l114
302 ;16f884.c: 248: {AD_VOL_SUM=AD_VOL_SUM+ADRESH;A
+ D_VOL=0;ADCON0=149;}
303 00D3 081E movf 30,w ;volatile
304 00D4 1683 bsf 3,5
305 00D5 07A9 addwf _AD_VOL_SUM^(0+128) ;volatile
306 00D6 1803 btfsc 3,0
307 00D7 0AAA incf (_AD_VOL_SUM+1)^(0+128) ;volatile
308 00D8 1283 bcf 3,5
309 00D9 10A0 bcf _AD_VOL/(0+8),_AD_VOL& (0+7)
310 00DA 3095 movlw -107
311 00DB 009F movwf 31 ;volatile
312 00DC 28EA goto l115
313 00DD l114
314 ;16f884.c: 249: else if(check_vpp_over)
315 00DD 1CA1 btfss _check_vpp_over/(0+8),_check_vpp_over& (
+ 0+7)
316 00DE 28E7 goto l116
317 ;16f884.c: 250: {AD_VPP_SUM=AD_VPP_SUM+ADRESH;A
+ DCON0=161;AD_VOL=1;}
318 00DF 081E movf 30,w ;volatile
319 00E0 1683 bsf 3,5
320 00E1 07AB addwf _AD_VPP_SUM^(0+128) ;volatile
321 00E2 1803 btfsc 3,0
322 00E3 0AAC incf (_AD_VPP_SUM+1)^(0+128) ;volatile
323 00E4 30A1 movlw -95
324 00E5 1283 bcf 3,5
325 00E6 28E8 goto L6
326 00E7 l116
327 ;16f884.c: 251: else {ADCON0=161;AD_VOL=1;}
328 00E7 30A1 movlw -95
329 00E8 L6
330 00E8 009F movwf 31 ;volatile
331 00E9 14A0 bsf _AD_VOL/(0+8),_AD_VOL& (0+7)
332 00EA l115
333 ;16f884.c: 252: if(PWM_LAST)
334 00EA 1DA0 btfss _PWM_LAST/(0+8),_PWM_LAST& (0+7)
335 00EB 2944 goto l105
336 ;16f884.c: 253: {ADON=0;ADIE=0;AD_OVER=1;SAV_AD
+ _VOL_SUM=AD_VOL_SUM;SAV_AD_VPP_SUM=AD_VPP_SUM;A
+ D_VOL_SUM=0;AD_VPP_SUM=0;}
337 00EC 101F bcf 31,0
338 00ED 1683 bsf 3,5
339 00EE 130C bcf 12,6
340 00EF 1283 bcf 3,5
341 00F0 1420 bsf _AD_OVER/(0+8),_AD_OVER& (0+7)
342 00F1 1683 bsf 3,5
343 00F2 0829 movf _AD_VOL_SUM^(0+128),w ;volatile
344 00F3 00AD movwf _SAV_AD_VOL_SUM^(0+128) ;volatile
345 00F4 082A movf (_AD_VOL_SUM+1)^(0+128),w ;volatile
346 00F5 00AE movwf (_SAV_AD_VOL_SUM+1)^(0+128) ;volatile
347 00F6 082B movf _AD_VPP_SUM^(0+128),w ;volatile
348 00F7 00AF movwf _SAV_AD_VPP_SUM^(0+128) ;volatile
349 00F8 082C movf (_AD_VPP_SUM+1)^(0+128),w ;volatile
350 00F9 00B0 movwf (_SAV_AD_VPP_SUM+1)^(0+128) ;volatile
351 00FA 01A9 clrf _AD_VOL_SUM^(0+128) ;volatile
352 00FB 01AA clrf (_AD_VOL_SUM+1)^(0+128) ;volatile
353 00FC 01AB clrf _AD_VPP_SUM^(0+128) ;volatile
354 00FD 01AC clrf (_AD_VPP_SUM+1)^(0+128) ;volatile
355 ;16f884.c: 254: }
356 00FE 2944 goto l105
357 00FF l113
358 ;16f884.c: 255: else if(T0IF)
359 00FF 1D0B btfss 11,2
360 0100 290E goto l120
361 ;16f884.c: 256: {T0IF=0;ms_2=1;
362 0101 110B bcf 11,2
363 0102 1621 bsf _ms_2/(0+8),_ms_2& (0+7)
364 ;16f884.c: 257: if(RABIE==0)
365 0103 198B btfsc 11,3
366 0104 2944 goto l105
367 ;16f884.c: 258: {ms2_counter++;RABIF=0;if(ms2_c
+ ounter>251){RABIE=1;ms2_counter=0;}}
368 0105 0AAA incf _ms2_counter
369 0106 100B bcf 11,0
370 0107 30FC movlw -4
371 0108 022A subwf _ms2_counter,w
372 0109 1C03 btfss 3,0
373 010A 2944 goto l105
374 010B 158B bsf 11,3
375 010C 01AA clrf _ms2_counter
376 ;16f884.c: 259: }
377 010D 2944 goto l105
378 010E l120
379 ;16f884.c: 260: else if(C1IF)
380 010E 1E8D btfss 13,5
381 010F 291A goto l124
382 ;16f884.c: 261: {C1IF=0;if(C1OUT)check_vpp_over
+ =0;
383 0110 128D bcf 13,5
384 0111 1703 bsf 3,6
385 0112 1F07 btfss 7,6
386 0113 2917 goto l125
387 0114 1303 bcf 3,6 ;carry unused
388 0115 10A1 bcf _check_vpp_over/(0+8),_check_vpp_over& (0+
+ 7)
389 0116 2944 goto l105
390 0117 l125
391 ;16f884.c: 262: else check_vpp_over=1;}
392 0117 1303 bcf 3,6 ;carry unused
393 0118 14A1 bsf _check_vpp_over/(0+8),_check_vpp_over& (0+
+ 7)
394 0119 2944 goto l105
395 011A l124
396 ;16f884.c: 263: else if(INTF)
397 011A 1C8B btfss 11,1
398 011B 2933 goto l128
399 ;16f884.c: 264: {INTF=0;T1L[INT_COUNTER]=TMR1L;
+ T1H[INT_COUNTER]=TMR1H;TMR1L=0;TMR1H=0;INT_COUN
+ TER++;
400 011C 108B bcf 11,1
401 011D 0823 movf _INT_COUNTER,w
402 011E 3E2A addlw _T1L^(0+256)
403 011F 0084 movwf 4
404 0120 1783 bsf 3,7
405 0121 080E movf 14,w ;volatile
406 0122 0080 movwf 0
407 0123 0823 movf _INT_COUNTER,w
408 0124 3E20 addlw _T1H^(0+256)
409 0125 0084 movwf 4
410 0126 1783 bsf 3,7
411 0127 080F movf 15,w ;volatile
412 0128 0080 movwf 0
413 0129 018E clrf 14 ;volatile
414 012A 018F clrf 15 ;volatile
415 012B 0AA3 incf _INT_COUNTER
416 ;16f884.c: 265: if(INT_COUNTER>9){INT_COUNTER=0
+ ;INT_OVER=1;} }
417 012C 300A movlw 10
418 012D 0223 subwf _INT_COUNTER,w
419 012E 1C03 btfss 3,0
420 012F 2944 goto l105
421 0130 01A3 clrf _INT_COUNTER
422 0131 1520 bsf _INT_OVER/(0+8),_INT_OVER& (0+7)
423 0132 2944 goto l105
424 0133 l128
425 ;16f884.c: 266: else if(RBIF)
426 0133 1C0B btfss 11,0
427 0134 2944 goto l105
428 ;16f884.c: 267: {key_data_temp=PORTB;RBIF=0;key
+ _data_temp>>=4;
429 0135 0806 movf 6,w ;volatile
430 0136 00A9 movwf _key_data_temp ;volatile
431 0137 100B bcf 11,0
432 0138 0EA9 swapf _key_data_temp
433 0139 300F movlw 15
434 013A 05A9 andwf _key_data_temp
435 ;volatile
436 ;16f884.c: 268: if(key_data_temp!=0xf)
437 013B 0829 movf _key_data_temp,w ;volatile
438 013C 3A0F xorlw 15
439 013D 1903 btfsc 3,2
440 013E 2942 goto l132
441 ;16f884.c: 269: key_data=key_data_temp;
442 013F 0829 movf _key_data_temp,w ;volatile
443 0140 00A8 movwf _key_data ;volatile
444 0141 2944 goto l105
445 0142 l132
446 ;16f884.c: 270: else
447 0142 1620 bsf _RAB/(0+8),_RAB& (0+7)
448 0143 118B bcf 11,3
449 ;16f884.c: 272: }
450 0144 l105
451 0144 1303 bcf 3,6 ;carry unused
452 0145 1283 bcf 3,5
453
454 psect intsave_0
455 007C saved_w
456 007C ds 1
457
458 psect intret
459 0156 085A movf saved_fsr,w
460 0157 0084 movwf 4 ;restore FSR
461 0158 085B movf saved_pclath,w
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -