📄 pic_adc.lst
字号:
278 053D 0871 movf btemp+1,w
279 053E 07A2 addwf _checksum+1 ;volatile
280 ;pic_adc.c: 120: }
281 053F 0AAB incf ?a_main+4
282 0540 3028 movlw 40
283 0541 022B subwf ?a_main+4,w
284 0542 1C03 btfss 3,0
285 0543 2D2F goto l27
286 ;pic_adc.c: 121: squ = (double)checksum;
287 0544 0822 movf _checksum+1,w ;volatile
288 0545 00F1 movwf btemp+1
289 0546 0821 movf _checksum,w ;volatile
290 0547 00F0 movwf btemp
291 0548 120A 118A 2765 fcall lwtofl
292 054B 0870 movf btemp,w
293 054C 00A3 movwf _squ ;volatile
294 054D 0871 movf btemp+1,w
295 054E 00A4 movwf _squ+1 ;volatile
296 054F 0872 movf btemp+2,w
297 0550 00A5 movwf _squ+2 ;volatile
298 0551 0873 movf btemp+3,w
299 0552 00A6 movwf _squ+3 ;volatile
300 ;pic_adc.c: 122: squ = squ / 4;
301 0553 01F4 clrf btemp+4
302 0554 01F5 clrf btemp+5
303 0555 3080 movlw 128
304 0556 00F6 movwf btemp+6
305 0557 3040 movlw 64
306 0558 00F7 movwf btemp+7
307 0559 3023 movlw _squ ;volatile
308 055A 0084 movwf 4
309 055B 1383 bcf 3,7
310 055C 120A 118A 2687 fcall fldiv_f
311 ;pic_adc.c: 123: temperature_temp = (unsigned l
+ ong)((100 * squ) / 1023);
312 055F 1283 bcf 3,5
313 0560 1303 bcf 3,6 ;carry unused
314 0561 0823 movf _squ,w ;volatile
315 0562 00F4 movwf btemp+4
316 0563 0824 movf _squ+1,w ;volatile
317 0564 00F5 movwf btemp+5
318 0565 0825 movf _squ+2,w ;volatile
319 0566 00F6 movwf btemp+6
320 0567 0826 movf _squ+3,w ;volatile
321 0568 00F7 movwf btemp+7
322 0569 01F0 clrf btemp
323 056A 01F1 clrf btemp+1
324 056B 30C8 movlw 200
325 056C 00F2 movwf btemp+2
326 056D 3042 movlw 66
327 056E 00F3 movwf btemp+3
328 056F 120A 118A 276B fcall flmul
329 0572 01F4 clrf btemp+4
330 0573 30C0 movlw 192
331 0574 00F5 movwf btemp+5
332 0575 307F movlw 127
333 0576 00F6 movwf btemp+6
334 0577 3044 movlw 68
335 0578 00F7 movwf btemp+7
336 0579 120A 118A 27BB fcall fldiv
337 057C 120A 118A 2693 fcall fltol
338 057F 0870 movf btemp,w
339 0580 00AC movwf ?a_main+5
340 0581 0871 movf btemp+1,w
341 0582 00AD movwf ?a_main+6
342 0583 0872 movf btemp+2,w
343 0584 00AE movwf ?a_main+7
344 0585 0873 movf btemp+3,w
345 0586 00AF movwf ?a_main+8
346 ;pic_adc.c: 124: a = temperature_temp / 100;
347 0587 3064 movlw 100
348 0588 00F4 movwf btemp+4
349 0589 01F5 clrf btemp+5
350 058A 01F6 clrf btemp+6
351 058B 01F7 clrf btemp+7
352 058C 082C movf ?a_main+5,w
353 058D 00F0 movwf btemp
354 058E 082D movf ?a_main+6,w
355 058F 00F1 movwf btemp+1
356 0590 082E movf ?a_main+7,w
357 0591 00F2 movwf btemp+2
358 0592 082F movf ?a_main+8,w
359 0593 00F3 movwf btemp+3
360 0594 120A 118A 26C4 fcall lldiv
+ 120A 118A
361 0599 0870 movf btemp,w
362 059A 00A9 movwf ?a_main+2
363 ;pic_adc.c: 125: lcd_disp(0x86, a + 0x30);
364 059B 3E30 addlw 48
365 059C 00B0 movwf ?_lcd_disp
366 059D 3086 movlw -122
367 059E 24B0 fcall _lcd_disp
368 ;pic_adc.c: 126: d = temperature_temp % 100;
369 059F 3064 movlw 100
370 05A0 00F4 movwf btemp+4
371 05A1 01F5 clrf btemp+5
372 05A2 01F6 clrf btemp+6
373 05A3 01F7 clrf btemp+7
374 05A4 082C movf ?a_main+5,w
375 05A5 00F0 movwf btemp
376 05A6 082D movf ?a_main+6,w
377 05A7 00F1 movwf btemp+1
378 05A8 082E movf ?a_main+7,w
379 05A9 00F2 movwf btemp+2
380 05AA 082F movf ?a_main+8,w
381 05AB 00F3 movwf btemp+3
382 05AC 120A 118A 26C4 fcall llmod
383 05AF 0874 movf btemp+4,w
384 05B0 00A8 movwf ?a_main+1
385 ;pic_adc.c: 127: b = d / 10;
386 05B1 300A movlw 10
387 05B2 00F1 movwf btemp+1
388 05B3 0828 movf ?a_main+1,w
389 05B4 120A 118A 25F8 fcall lbdiv
+ 120A 118A
390 05B9 00AA movwf ?a_main+3
391 ;pic_adc.c: 128: lcd_disp(0x87, b + 0x30);
392 05BA 3E30 addlw 48
393 05BB 00B0 movwf ?_lcd_disp
394 05BC 3087 movlw -121
395 05BD 24B0 120A 118A fcall _lcd_disp
396 ;pic_adc.c: 129: lcd_disp(0x88, 0x2e);
397 05C0 302E movlw 46
398 05C1 00B0 movwf ?_lcd_disp
399 05C2 3088 movlw -120
400 05C3 24B0 fcall _lcd_disp
401 ;pic_adc.c: 130: c = temperature_temp - a * 100
+ - b * 10;
402 05C4 3064 movlw 100
403 05C5 00F1 movwf btemp+1
404 05C6 0829 movf ?a_main+2,w
405 05C7 120A 118A 24A4 fcall lbmul
406 05CA 022C subwf ?a_main+5,w
407 05CB 00F2 movwf btemp+2
408 05CC 300A movlw 10
409 05CD 00F1 movwf btemp+1
410 05CE 082A movf ?a_main+3,w
411 05CF 120A 118A 24A4 fcall lbmul
+ 120A 118A
412 05D4 0272 subwf btemp+2,w
413 05D5 00A7 movwf ?a_main
414 ;pic_adc.c: 131: lcd_disp(0x89, c + 0x30);
415 05D6 3E30 addlw 48
416 05D7 00B0 movwf ?_lcd_disp
417 05D8 3089 movlw -119
418 05D9 24B0 120A 118A fcall _lcd_disp
419 ;pic_adc.c: 132: lcd_disp(0x8a, 0xdf);
420 05DC 30DF movlw -33
421 05DD 00B0 movwf ?_lcd_disp
422 05DE 308A movlw -118
423 05DF 24B0 120A 118A fcall _lcd_disp
424 ;pic_adc.c: 133: lcd_disp(0x8b, 0x43);
425 05E2 3043 movlw 67
426 05E3 00B0 movwf ?_lcd_disp
427 05E4 308B movlw -117
428 05E5 24B0 120A 118A fcall _lcd_disp
429 ;pic_adc.c: 134: checksum = 0;
430 05E8 01A1 clrf _checksum ;volatile
431 05E9 01A2 clrf _checksum+1 ;volatile
432 ;pic_adc.c: 135: ADCON0 |= 0x04;
433 05EA 151F bsf 31,2 ;volatile
434 ;pic_adc.c: 136: count = 0;
435 05EB 01A0 clrf _count ;volatile
436 ;pic_adc.c: 137: lcd_disp(0xcf, 0xfe);
437 05EC 30FE movlw -2
438 05ED 00B0 movwf ?_lcd_disp
439 05EE 30CF movlw -49
440 05EF 24B0 120A 118A fcall _lcd_disp
441 ;pic_adc.c: 138: delay(1500);
442 05F2 30DC movlw 220
443 05F3 00B0 movwf ?_delay
444 05F4 3005 movlw 5
445 05F5 00B1 movwf ?_delay+1
446 05F6 24FC fcall _delay
447 05F7 2D28 goto L1
448
449 psect intcode
450 ;pic_adc.c: 143: void interrupt adc_interrupt(v
+ oid)
451 ;pic_adc.c: 144: {
452 0015 _adc_interrupt
453 0015 int_func
454 ; _i assigned to ?a_adc_interrupt+0
455 0000 _adc_interrupt$i set ?a_adc_interrupt
456 ;pic_adc.c: 145: unsigned char i;
457 0015 0183 clrf 3 ;select bank 0
458 0016 130C bcf 12,6
459 ;pic_adc.c: 148: temperature[count] = (ADRESH <
+ < 8) + ADRESL;
460 0017 081E movf 30,w ;volatile
461 0018 00F3 movwf btemp+3
462 0019 01F2 clrf btemp+2
463 001A 1683 bsf 3,5
464 001B 081E movf 30,w ;volatile
465 001C 00F0 movwf btemp
466 001D 01F1 clrf btemp+1
467 001E 0872 movf btemp+2,w
468 001F 07F0 addwf btemp
469 0020 1803 btfsc 3,0
470 0021 0AF1 incf btemp+1
471 0022 0873 movf btemp+3,w
472 0023 07F1 addwf btemp+1
473 0024 1283 bcf 3,5
474 0025 0820 movf _count,w ;volatile
475 0026 0720 addwf _count,w ;volatile
476 0027 3E10 addlw _temperature^(0+256)
477 0028 0084 movwf 4
478 0029 1783 bsf 3,7
479 002A 0870 movf btemp,w
480 002B 0080 movwf 0
481 002C 0A84 incf 4
482 002D 0871 movf btemp+1,w
483 002E 0080 movwf 0
484 ;pic_adc.c: 149: count ++;
485 002F 0AA0 incf _count ;volatile
486 ;pic_adc.c: 150: i = 10;
487 0030 300A movlw 10
488 0031 00B5 movwf ?a_adc_interrupt
489 ;pic_adc.c: 151: while(--i);
490 0032 l31
491 0032 0BB5 decfsz ?a_adc_interrupt
492 0033 2832 goto l31
493 ;pic_adc.c: 152: ADCON0 |= 0x04;
494 0034 151F bsf 31,2 ;volatile
495
496 psect intsave_0
497 007C saved_w
498 007C ds 1
499
500 psect intret
501 003D 083A movf saved_fsr,w
502 003E 0084 movwf 4 ;restore FSR
503 003F 083B movf saved_pclath,w
504 0040 008A movwf 10
505 0041 int_restore
506 0041 0839 movf saved_status,w
507 0042 0083 movwf 3
508 0043 0EFC swapf saved_w
509 0044 0E7C swapf saved_w,w
510 0045 0009 retfie
511
512 psect intentry
513 0004 int_entry
514 0004 00FC movwf saved_w
515 0005 0803 movf 3,w
516 0006 0183 clrf 3
517 0007 00B9 movwf saved_status
518 0008 0804 movf 4,w
519 0009 00BA movwf saved_fsr
520 000A 080A movf 10,w
521 000B 00BB movwf saved_pclath
522 000C 018A clrf 10
523 0000
524 0000
525 0000
526 0000
527 0000
528 0000
529 0000
530 0000
531 0000
532 0000
533 0000
534 0000
535 0000
536 0000
537 0000
538 0000
539 0000
540 0000
541 0000
542 0000
543 0000
544 0000
545 0000
546 0000
547 0000
548 0000
549 0000
550 0000
551 0000
552 0000
553 0000
554 0000
555 0000
556 0000
557 0000
558 0000
559 0000
560 0000
561 0000
562 0000
563 0000
564 0000
565 0000
566 0000
567 0000
568 0000
569 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -